A wrapper around paypal's REST API, featuring events, promise support and auto auth.
Only supports subscriptions for now, others will be added per request.
THIS IS NOT AN OFFICIAL API
NPM:
npm i kik-paypal-api
You can use the API by creating an instance of PaypalClient
.
const PaypalClient = require("paypal-node-api");
paypal = new PaypalClient({
env: "sandbox",
clientId: "id",
secret: "secret",
config: {}
});
env
: one of either "sandbox" or "live"
clientId
: your app's client id
secret
: your app's secret
config
: a config object
const PaypalClient = require("paypal-node-api");
const clientId = "yourApp'sId";
const secret = "yourApp'sSecret";
const paypal = new PaypalClient("sandbox", clientId, secret);
//event handlers go here
paypal.on("auth", () => {
console.log("Paypal token refreshed");
});
module.exports = paypal;
All required parameters are supplied directly to the functions,
non required parameters can be supplied via the extras
parameter, this
object is merged into the request's payload
await paypal.orders.create(intent, purchaseUnits);
intent
: either "CAPTURE" or "AUTHORIZE"
purchaseUnits
: an array of purchase_unit_request objects
await paypal.orders.update(orderId, patchRequest);
orderId
: the target order's id
patchRequest
: an array of patch objects
await paypal.orders.details(orderId);
orderId
: the target order's id
await paypal.orders.authorize(planId);
orderId
: the target order's id
await paypal.orders.capture(orderId);
orderId
: the target order's id
await paypal.subscriptions.create(planId, extras);
planId
: the plan associated with this subscription
await paypal.subscriptions.details(subscriptionId);
subscriptionId
: the subscription id to retrieve
returns the subscription object
await paypal.webhooks.verify(authAlgo, certUrl, transmissionId, transmissionSig, transmissionTime, webhookId, webhookEvent)
returns true if verified, false if not