Skip to content
This repository has been archived by the owner on Jan 15, 2021. It is now read-only.

Latest commit

 

History

History
91 lines (63 loc) · 2.27 KB

README.md

File metadata and controls

91 lines (63 loc) · 2.27 KB

paypal-simple

A really simple PayPal API module. Too simple for most projects.

Installation

npm install paypal-simple

Usage

const PayPalSimple = require('paypal-simple');
const payPalSimple = new PayPalSimple("<Your clientID>", "<Your secret>", true);
const order = payPalSimple.createOrder(options);

payPalSimple.createOrder(options)

options

options.type === "custom"

  • options.body = - Object of custom body
options.type === "min"
  • 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.type === "extensive"
  • 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

order

order.create()

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()

order.id

accessible after order.create() is called. ID of the order.

order.amount

amount the order is for

order.capture()

capture an order

order.refund(amount)

refund an order

  • amount - amount to refund

order.responses

  • create - response from order.create()
  • capture - response from order.capture()
  • refund - response from order.refund()

Example

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.")
});