Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

PayPal Checkout

build status code coverage npm version apache license

A set of components allowing easy integration of PayPal Buttons and PayPal Checkout into your site, powered by zoid.

Dev Docs



Please feel free to follow the Contribution Guidelines to contribute to this repository. PRs are welcome, but for major changes please raise an issue first.

Quick Setup

Set up your env:

npm install

Run tests:

npm test

Run in dev mode:

npm run dev

Testing Tasks

npm test

Runs all testing tasks lint, flow, karma, jest-ssr, jest-screenshot, & check-size.

Flags Description
--clear-cache Clear Babel Loader and PhantomJS cache
--debug Debug mode. PhantomJS, Karma, and CheckoutJS
--quick Fastest testing. Minimal output, no coverage
--browser Choose Browser



npm run lint

npm run lint -- --fix
# attempt to automatically fix any problems

Runs eslint using definitions extended from Grumbler-Scripts.


npm run flow

Checks for typing issues using Flow. Prior to running this task, flow-typed should be run to generate type interfaces for the various 3rd-party libraries we use.


npm run karma

npm run karma -- --keep-open
# keeps the test browser window open to allow debugging
npm run karma -- --capture-console
# dumps the browser's console output into the terminal

Runs Karma tests using the Mocha framework. Responsible for running the test/e2e & test/integration directories.


npm run jest-ssr

Checks for the correct rendering of components on the server-side using Jest.


npm run jest-screenshot

Uses Puppeteer & Jest to take screenshots and checks against existing views to look for discrepancies. Tests are defined in test/screenshot/config.js.


npm run check-size

Checks to make sure that the compiled & gzipped bundle doesn't exceed the recommended size limit.


This package is published weekly, Every Wednesday. Please view our Changelog to stay updated with bug fixes and new features.