recharge-api-node

    1.1.4 • Public • Published

    Recharge API Node.js

    Recharge API bindings for Node.js

    Installation:

    $ npm install --save recharge-api-node

    API

    This module exports a constructor function which takes an options object.

    Recharge(options)

    Creates a new Recharge instance.

    Arguments

    • options - Required - A plain JavaScript object that contains the configuration options.

    Options

    • apiKey - Required - A string that specifies the API key of the app.
    • secrete - A string that specifies the secrete of the app.
    • autoLimit - Optional - This option allows you to regulate the request rate in order to avoid hitting the [rate limit][api-call-limit]. Requests are limited using the token bucket algorithm. Accepted values are a boolean or a plain JavaScript object. When using an object, the calls property and the interval property specify the refill rate and the bucketSize property the bucket size. For example { calls: 2, interval: 1000, bucketSize: 35 } specifies a limit of 2 requests per second with a burst of 35 requests. When set to true requests are limited as specified in the above example. Defaults to false. presentment prices for products. Defaults to false.
    • timeout - Optional - The number of milliseconds before the request times out. If the request takes longer than timeout, it will be aborted. Defaults to 60000, or 1 minute.

    Return value

    A Recharge instance.

    Exceptions

    Throws an Error exception if the required options are missing.

    Example

    const Recharge = require('recharge-api-node');
     
    const recharge = new Recharge({
      apiKey: 'your-api-key',
      secrete: 'your-app-secrete'
    });

    Resources

    Every resource is accessed via your recharge instance:

    const recharge = new Recharge({
      apiKey: 'your-api-key',
      secrete: 'your-app-secrete'
    });
     
    // recharge.<resource_name>.<method_name>

    Each method returns a Promise that resolves with the result:

    recharge.subscription
      .list({ limit: 5 })
      .then((subscriptions) => console.log(subscriptions))
      .catch((err) => console.error(err));

    Available resources and methods

    • address
      • count()
      • list([params])
      • get(id[, params])
      • update(id, params)
      • delete(id)
      • validate(params)
      • addDiscount(id, params)
      • removeDiscount(id, params)
      • addOneTimeProduct(id, params)
    • asyncBatch
      • list([params])
      • get(id[, params])
      • create(params)
      • addTasks(batch_id, params)
      • tasks(batch_id)
      • process(batch_id)
    • charge
      • count()
      • list([params])
      • get(id[, params])
      • create(params)
      • update(id, params)
      • delete(id)
      • changeNextChargeDate(id, params)
      • skip(id, params)
      • unskip(id, params)
      • refund(id, params)
      • addDiscount(id, params)
      • removeDiscount(id, params)
    • checkout - BETA - **query_params object can be used in case of partial_shipping ex: {partial_shipping: 1}
      • get(checkout_token[, params])
      • create(params[, query_params])
      • update(checkout_token, params[, query_params])
      • getShippingRates(checkout_token)
      • process(checkout_token, params)
    • collection
      • count()
      • list([params])
      • get(id[, params])
    • customerAddress
      • list(customer_id[, params])
      • create(customer_id, params)
    • customer
      • count()
      • list([params])
      • get(id[, params])
      • create(params)
      • update(id, params)
      • delete(id)
      • getPaymentSources(id)
    • discount
      • count()
      • list([params])
      • get(id[, params])
      • create(params)
      • update(id, params)
      • delete(id)
      • addToAddress(address_id[, params])
      • removeFromAddress(address_id[, params])
      • addToCharge(charge_id[, params])
      • removeFromCharge(charge_id[, params])
    • metafield
      • count()
      • list([params])
      • get(id[, params])
      • create(params)
      • update(id, params)
      • delete(id)
    • oneTime
      • list([params])
      • get(id[, params])
      • create(address_id, params)
      • update(id, params)
      • delete(id)
    • order
      • count()
      • list([params])
      • get(id[, params])
      • create(params)
      • update(id, params)
      • delete(id)
      • changeShippingDate(id, params)
      • changeOrderVariant(id, shopify_variant_id, params)
      • clone(id, charge_id, params)
    • product
      • count()
      • list([params])
      • get(id[, params])
    • shop
      • get()
      • getShippingCountries()
    • subscription
      • count()
      • list([params])
      • get(id[, params])
      • create(params)
      • update(id, params)
      • delete(id)
      • changeNextChargeDate(id, params)
      • changeAddress(id, params)
      • cancel(id, params)
      • activate(id)
      • ** 'swap product' end point can be triggered using 'update()' function
    • webhook
      • count()
      • list([params])
      • get(id[, params])
      • create(params)
      • update(id, params)
      • delete(id)
      • validate(request_body, secrete)

    where params is a plain JavaScript object. See https://developer.rechargepayments.com/#webhooks for parameters details.

    Install

    npm i recharge-api-node

    DownloadsWeekly Downloads

    222

    Version

    1.1.4

    License

    MIT

    Unpacked Size

    32.8 kB

    Total Files

    21

    Last publish

    Collaborators

    • saudslm