A really simple PayPal API module. Too simple for most projects.
npm install paypal-simple
const PayPalSimple = require('paypal-simple');
const payPalSimple = new PayPalSimple("<Your clientID>", "<Your secret>", true);
const order = payPalSimple.createOrder(options);
- options.body = - Object of custom body
- options.return_url - return url if the user authorizes the payment
- option.cancel_url - return url if the user cancels the transaction
- option.amount - float value in USD to charge
- option.custom_id - (optional) - custom id for tracking type of payment
- options.return_url - return url if the user authorizes the payment
- option.cancel_url - return url if the user cancels the transaction
- option.brand_name - brand name to show in transaction
- option.custom_id - a custom id for the transaction
- option.amount - float value in USD to charge
creates the order, call this multiple times to duplicate an order
returns the approve url, give this to the user to approve payment
implicit when calling PayPalSimple.createOrder()
accessible after order.create()
is called. ID of the order.
amount the order is for
capture an order
refund an order
- amount - amount to refund
- create - response from order.create()
- capture - response from order.capture()
- refund - response from order.refund()
const PayPalSimple = require('paypal-simple');
const payPalSimple = new PayPalSimple("<Your clientID>", "<Your secret>", true);
const order = await payPalSimple.createOrder({
type: "min",
amount: "5.00",
return_url: "http://example.com/return",
cancel_url: "http://example.com/cancel",
});
const approve_url = order.approve_url;
// somehow give the user the approve_url and wait for user to comeback
order.capture().then(async _ => {
console.log("We got the cash! Refunding...");
}).catch(e => {
console.log("They didn't pay or an error occurred.")
});