If you have a Website Payment Standard integration, PayPal recommends upgrading to PayPal Commerce Platform. Upgrading to PPCP have following benefits:

Before starting the migration, ensure you have:
This implementation sends an entire shopping cart to PayPal in one HTML form submission. All items, quantities, and prices are included as hidden form fields.
Your platform maintains the shopping cart internally in your database. When checkout occurs, you send a single "Buy Now" button to PayPal with just the cart identifier and total amount. PayPal sees this as a single item purchase, while your platform retains all the detailed cart information.
12345678910
12345678910
Understand how your existing WPS data fields translate to the new PPCP JSON structure. PPCP uses a hierarchical JSON structure instead of flat form fields. Proper mapping ensures no data is lost during migration and maintains transaction integrity.
| WPS Parameter | PPCP Field | Notes |
| business | payee.email_address or payee.merchant_id | Identifies the receiving merchant account |
| item_name_x | items[x].name | Product name, max 127 characters |
| amount_x | items[x].unit_amount.value | Price per unit, must be string format |
| quantity_x | items[x].quantity | Must be string format in PPCP |
| currency_code | amount.currency_code | 3-letter currency code (USD, EUR, etc.) |
| custom | custom_id | Your platform's internal reference (max 255 chars) |
| invoice | invoice_id | Unique invoice number |
| shipping | amount.breakdown.shipping.value | Shipping cost component |
| return | application_context.return_url | Where to send buyer after approval |
| cancel_return | application_context.cancel_url | Where to send buyer on cancellation |
12345678910
Implement secure authentication mechanisms for both platform-level and merchant-specific API calls. PPCP uses OAuth 2.0 for platform authentication and a special assertion header for merchant operations. This dual-authentication model allows your platform to act on behalf of multiple merchants securely.
This token authenticates your platform with PayPal's API. It's required for all API calls and expires after 8-9 hours.
12345678910
Replace manual merchant PayPal email collection with automated, permission-based onboarding. The Partner Referrals API enables programmatic merchant onboarding with proper permissions, eliminating manual processes and ensuring your platform has the necessary access to process payments on behalf of merchants.
Generate a unique URL where the merchant will grant permissions to your platform:
12345678910
Replace HTML form submissions with secure API calls and modern JavaScript SDK integration. The new checkout flow provides better security, more payment options, and complete control over the payment process while maintaining PCI compliance.
This section shows the complete transformation from legacy HTML forms to modern API integration:
12345678910
12345678910
12345678910
Complete the payment after buyer approval. This is the final step that actually moves money.
12345678910
Replace manual merchant PayPal email collection with automated, permission-based onboarding. The Partner Referrals API enables programmatic merchant onboarding with proper permissions, eliminating manual processes and ensuring your platform has the necessary access to process payments on behalf of merchants.
Generate a unique URL where the merchant will grant permissions to your platform:
12345678910
12345678910
You can either set up webhook programmatically or manually via PayPal Developer Dasbhoard.
12345678910
Migrate legacy PDT handler to modern Webhook handler with signature verification.
12345678910
12345678910
Test these scenarios to ensure complete coverage:
Test Scenario | Test Steps | Expected Result | Validation Points |
|---|---|---|---|
Successful Payment |
| Order captured successfully |
|
Cancel Payment |
| Return to cancel URL |
|
Validation Error |
| Order creation fails |
|
Refund Process |
| Refund successful |
|
Merchant Onboarding |
| Merchant onboarded |
|
Multiple Items | Add 10+ different items to cart | All items display correctly |
|
Platform Fees | Create order with 10% platform fee | Fee collected correctly |
|
Webhook Retry |
| Webhook retried automatically |
|
Currency Support | Test with other currencies you support | Correct currency handling |
|
Error Recovery |
| Idempotent handling |
|
Need additional troubleshooting help? Check our detailed FAQ page.
Contact a Payment Specialist who can guide you through the upgrade process or call us at (888) 429-3035.