what: - migrates medusa package to swc/jest - migrates plugins integration tests to swc/jest - parallelises a few of the heavy test packages - fixes typeorm circular dependencies **Unit Tests** Before: 1 job => ~30 mins After: 2 jobs => ~5 mins <img width="260" alt="Screenshot 2024-03-25 at 15 11 49" src="https://github.com/medusajs/medusa/assets/5105988/e1df6985-5bd6-48d0-b87b-336d3c77d0cf"> **Plugins** Before: 1 job => ~10 mins After: 1 job => ~5 mins <img width="254" alt="Screenshot 2024-03-25 at 15 26 03" src="https://github.com/medusajs/medusa/assets/5105988/c1cec0e2-a1c3-41d1-9372-46d114d804c6"> Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com>
PayPal
Receive payments on your Medusa commerce application using PayPal.
PayPal Plugin Documentation | Medusa Website | Medusa Repository
Features
- Authorize payments on orders from any sales channel.
- Capture payments from the admin dashboard.
- View payment analytics through PayPal's dashboard.
- Ready-integration with Medusa's Next.js starter storefront.
- Support for Webhooks.
Prerequisites
How to Install
1. Run the following command in the directory of the Medusa backend:
npm install medusa-payment-paypal
2. Set the following environment variables in .env:
PAYPAL_SANDBOX=true
PAYPAL_CLIENT_ID=<CLIENT_ID>
PAYPAL_CLIENT_SECRET=<CLIENT_SECRET>
PAYPAL_AUTH_WEBHOOK_ID=<WEBHOOK_ID>
3. In medusa-config.js add the following at the end of the plugins array:
const plugins = [
// ...
{
resolve: `medusa-payment-paypal`,
options: {
sandbox: process.env.PAYPAL_SANDBOX,
client_id: process.env.PAYPAL_CLIENT_ID,
client_secret: process.env.PAYPAL_CLIENT_SECRET,
auth_webhook_id: process.env.PAYPAL_AUTH_WEBHOOK_ID,
},
},
]
Test the Plugin
1. Run the following command in the directory of the Medusa backend to run the backend:
npm run start
2. Enable PayPal in a region in the admin. You can refer to this User Guide to learn how to do that. Alternatively, you can use the Admin APIs.
3. Place an order using a storefront or the Store APIs. You should be able to use Stripe as a payment method.