Technical details about how we implement PayPal and how to get started developing with it.

Developing / testing sandbox

Buyer account

This is the account you'll use to make the (fake) payment. Go to, login with your personnal PayPal account then create a test account.

Merchant account

  1. Use the generated merchant credentials to set the following variables in API's .env:


3. Encrypt your client secret, from the API repository:

npm run script scripts/encrypt.js PAYPAL_CLIENT_SECRET

4. Manually create a ConnectedAccount with your clientId and your encrypted clientSecret:

INSERT INTO "ConnectedAccounts" ("service", "clientId", "token", "CollectiveId")
VALUES (E'paypal', clientId, clientSecret, hostCollectiveId);

5. Create buyer's credentials on

And you're ready to go. Use the credentials generated in step 2. to authenticate when ordering.

Known issues