Nachos Preventing Motivation


    5.0.60 • Public • Published

    PayPal Smart Payment Buttons

    build status code coverage npm version apache license

    Smart Payment Buttons application, including:

    • Server-side buttons renderer
    • Client side logic

    Please note: this repo is not intended as a public entry point into the smart buttons. Please see:


    Running the development server

    npm install
    npm start

    Then load http://localhost/smart/buttons?clientID=alc_client1 in your browser.

    Running tests

    npm test


    Release a new version

    npm run release

    Deploy the new version

    npm run deploy

    Activate traffic on the new version

    npm run activate

    Activate traffic on a specific version

    npm run activate 2.0.123

    Activate traffic on a specific version to a specific environment

    npm run activate 2.0.123 sandbox

    Activate traffic on a specific version to multiple specific environments

    npm run activate 2.0.123 'local stage sandbox'

    Using local paypal-checkout-components

    This repo uses the button renderer from To pull in local changes from paypal-checkout-components to this module:

    Preflight call

    This section is relevant to integrations passing data-user-id-token, for vaulted/one-click button renders.

    Rendering the vaulted button can be time consuming. The Smart Buttons server allows a pre-flight call to be made. This pre-caches the button, ready to be rendered immediately when the buyer lands on your page. This should typically be done in one of the following places:

    • On a page immediately prior to displaying the Smart Buttons
    • On a single-page app prior to displaying the Smart Buttons, if the Smart Buttons are displayed after a user action
    • On the server-side prior to rendering the cart or checkout page containing the Smart Buttons

    To invoke, simply make a call to the following URL:

    The following URL params can be passed:

    • client-id: (required) Your PayPal client id
    • user-id-token: (required) Your customer's id token
    • merchant-id (optional) The merchant id or email of the transaction payee
    • amount: (optional) The estimated amount of the transaction
    • currency: (optional) The currency of the transaction

    This request can be made as a fire-and-forget call: you do not need to wait for a response, or check the status code of the response.




    npm i @paypal/smart-payment-buttons

    DownloadsWeekly Downloads






    Unpacked Size

    3.84 MB

    Total Files


    Last publish


    • hlahlou
    • sioked
    • westeezy
    • sdk-integrations-npm
    • frnuzzi
    • paypal-user
    • bluepnume
    • bladebarringer
    • braintree
    • rajarampadmanathan
    • joshbeam
    • bryanjenningz
    • zhillb
    • weihou
    • seavenly
    • tifzhou
    • rpalanikumar
    • songz
    • merlinpatt
    • jfurman
    • ravishekhar00
    • visheei94
    • gregjopa
    • mstuart
    • antre
    • mnicpt
    • elizabethmv
    • nbierdeman
    • shrkapoor
    • amyegan
    • chetanjk
    • shrutikapoor08
    • remotevision
    • dturgumbaev
    • rygilbert_paypal