Open Collective Docs
Go back to Open Collective
Search…
Welcome
About
Introduction
Documentation
Terminology
Company
Pricing
Team
The Open Collective Way
Hiring
Investors
Contributing
Product
Features
Roadmap
Comparison
User Profile
Currencies
Log-in System
Privacy Policy
Moderation
Security
Notifications
Collectives
Collectives FAQ
Creating a Collective
Quick Start Guide
Collective Settings
Add Fiscal Host
Change Fiscal Host
Open Source Collectives
Transparent Budget
Expenses
Updates & Comms
Moderation
Conversations
Events
Projects
Funding Options
Buttons & Banners
Connected Collectives
Contribution flow
Financial Contributors
Financial Contributors FAQ
Guest contributions
Payments
Crypto Contributions
Website Badge
Receipts
Collective to Collective
Organizations
Expenses & Getting Paid
Expenses FAQ
Submitting Expenses
Virtual Cards
Expense Comments
Edit or Download an Expense
Tax Information
Fiscal Hosts
Fiscal Hosts FAQ
Becoming a Fiscal Host
Creating a Fiscal Host
Fiscal Host Settings
Payouts
Fiscal Host Dashboard
Bank Transfers
Virtual Card Settings
Add Funds Manually
Refunds
Host Fees
Local Tax Support
Agreement Templates
Independent Collectives
About Independent Collectives
Create an Independent Collective
Independent Collective Setup
Independent Collective Management
Close an Independent Collective
Contributing
Design
Development
Contribution Guide
Best Practice Guidelines
Bounties
Architecture
API
README Integration
PayPal
TransferWise
Post-Donation Redirect
Manual Reporting
GitHub Permissions
Internationalization (i18n) system
Testing with Cypress
Testing features
Collective's locations
Virtual Cards
Documentation
Translation
Powered By
GitBook
PayPal
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
https://developer.paypal.com/developer/accounts/create
, login with your personnal PayPal account then create a test account.
Merchant account
1.
Create an app here:
https://developer.paypal.com/developer/applications/create
​
2.
Use the generated merchant credentials to set the following variables in API's
.env
:
1
PAYPAL_ENVIRONMENT=sandbox
2
PAYPAL_APP_ID=APP-________
Copied!
3. Encrypt your client secret, from the API repository:
1
npm
run script scripts/encrypt.js PAYPAL_CLIENT_SECRET
Copied!
4. Manually create a ConnectedAccount with your
clientId
and your encrypted
clientSecret
:
1
INSERT
INTO
"ConnectedAccounts"
(
"service"
,
"clientId"
,
"token"
,
"CollectiveId"
)
2
VALUES
(
E
'paypal'
,
clientId
,
clientSecret
,
hostCollectiveId
);
Copied!
5. Create buyer's credentials on
https://developer.paypal.com/developer/accounts/create
​
And you're ready to go. Use the credentials generated in step 2. to authenticate when ordering.
Known issues
The button may require multiple clicks to trigger on dev or staging. It should not affect production (see
https://github.com/paypal/paypal-checkout/issues/471
)
Previous
README Integration
Next
TransferWise
Last modified
1yr ago
Export as PDF
Copy link
Contents
Developing / testing sandbox
Buyer account
Merchant account
Known issues