paypal-api
TypeScript icon, indicating that this package has built-in type declarations

0.1.4 • Public • Published

PayPal API

💰Easy to use framework to communicate with the PayPal API.

Only basic endpoints are supported

At this time, the package doesn't support all the endpoints of the PayPal API, as it is made for one of my projects I only built the endpoints I needed. Please open an issue if there are endpoints you want to see in.

Example

const PayPal = require("paypal-api");
const paypal = new PayPal({
    sandboxMode: true,
    clientID: 'paypal client id',
    clientSecret: 'paypal client secret'
});

paypal.listProducts().then(console.log); // you now have access to all the methods!

Products

List products

paypal.listProducts().then(console.log);

Create products

paypal.createProduct({
    name: "Video Streaming Service",
    description: "Video streaming service",
    type: "SERVICE",
    category: "SOFTWARE",
    image_url: "https://example.com/streaming.jpg",
    home_url: "https://example.com/home"
})

TODO

Plans

List plans

paypal.listPlans(productID).then(console.log);

Create plans

paypal.createPlan({
    product_id: 'PROD-XXCD1234QWER65782',
    name: 'Basic Plan',
    description: 'Basic plan',
    billing_cycles: [
        {
            frequency: {
                interval_unit: 'MONTH',
                interval_count: 1
            },
            tenure_type: 'TRIAL',
            sequence: 1,
            total_cycles: 1
        },
        {
            frequency: {
                interval_unit: 'MONTH',
                interval_count: 1
            },
            tenure_type: 'REGULAR',
            sequence: 2,
            total_cycles: 12,
            pricing_scheme: {
                fixed_price: {
                    value: '10',
                    currency_code: 'USD'
                }
            }
        }
    ],
    payment_preferences: {
        service_type: 'PREPAID',
        auto_bill_outstanding: true,
        setup_fee: {
            value: '10',
            currency_code: 'USD'
        },
        setup_fee_failure_action: 'CONTINUE',
        payment_failure_threshold: 3
    },
    quantity_supported: true,
    taxes: {
        percentage: '10',
        inclusive: false
    }
})

TODO

Subscriptions

Create subscription

paypal.createSubscription({
    plan_id: 'P-2UF78835G6983425GLSM44MA',
    start_time: '2020-12-20T16:17:13Z',
    subscriber: {
        name: {
            given_name: 'John',
            surname: 'Doe'
        },
        email_address: 'customer@example.com'
    },
    application_context: {
        brand_name: 'example',
        locale: 'en-US',
        shipping_preference: 'SET_PROVIDED_ADDRESS',
        user_action: 'SUBSCRIBE_NOW',
        payment_method: {
            payer_selected: 'PAYPAL',
            payee_preferred: 'IMMEDIATE_PAYMENT_REQUIRED'
        },
        return_url: 'https://example.com/returnUrl',
        cancel_url: 'https://example.com/cancelUrl'
    }
})

Subscription details

paypal.getSubscription('I-Y3FEL44WUVPU').then(console.log);

TODO

Webhooks

List webhooks

paypal.listWebhooks().then(console.log);

Create webhook

paypal.createWebhook({
    url: "https://example.com/example_webhook",
    event_types: [
        {
            name: "PAYMENT.AUTHORIZATION.CREATED"
        },
        {
            name: "PAYMENT.AUTHORIZATION.VOIDED"
        }
    ]
})

TODO

/paypal-api/

    Package Sidebar

    Install

    npm i paypal-api

    Weekly Downloads

    22

    Version

    0.1.4

    License

    MIT

    Unpacked Size

    25.4 kB

    Total Files

    20

    Last publish

    Collaborators

    • androz2091