Skip to Content
FluxStore is currently invite-only. Some sections of this documentation are still being written and expanded.
PaymentsPayPal Setup

PayPal Setup

PayPal gives your customers an alternative to credit cards. Some buyers prefer it because they can pay from their PayPal balance or a linked bank account without entering card details at checkout. When a customer selects PayPal, they’re redirected to PayPal’s hosted checkout page to complete the payment.

Step 1: Create a PayPal app

  1. Create a PayPal Business account at paypal.com/business  if you don’t have one
  2. Go to the PayPal Developer Dashboard  and navigate to Apps & Credentials
  3. Make sure you’re on the Live tab (or Sandbox if you’re testing first)
  4. Click Create App, give it a name (e.g. “FluxStore”), and save
  5. Copy your Client ID and Client Secret from the app detail page

Step 2: Set up your webhook

FluxStore needs to receive events from PayPal to know when payments succeed, subscriptions renew, and disputes are filed. Without a webhook, your orders will stay pending forever.

  1. In the PayPal Developer Dashboard, open your app and scroll to the Webhooks section
  2. Click Add Webhook
  3. Set the webhook URL to: https://api.fluxstore.net/api/webhooks/paypal
  4. Subscribe to the following events:
EventWhat it’s for
PAYMENT.CAPTURE.COMPLETEDOne-time payment successfully captured
PAYMENT.CAPTURE.DENIEDPayment capture was denied
CHECKOUT.ORDER.APPROVEDCustomer approved the payment on PayPal
PAYMENT.CAPTURE.REVERSEDPayment reversed (chargeback/refund)
PAYMENT.CAPTURE.REFUNDEDPayment refunded
BILLING.SUBSCRIPTION.ACTIVATEDSubscription activated and first payment collected
PAYMENT.SALE.COMPLETEDSubscription renewal payment collected
  1. Save the webhook
  2. Copy the Webhook ID from the webhook detail page. You’ll need this in the next step.

Step 3: Connect in FluxStore

  1. In FluxStore, go to Dashboard > Payment Gateways and click Configure next to PayPal
  2. Enter your Client ID and Client Secret
  3. Enter your Webhook ID for webhook signature verification
  4. Toggle Sandbox Mode on if you’re using sandbox credentials, or leave it off for live
  5. Save

The webhook and Webhook ID are required. Without them, FluxStore can’t verify incoming events from PayPal and your gateway will not process payments.

Step 4: Verify it works

Place a test order using your sandbox credentials and a sandbox buyer account. PayPal provides default sandbox buyer accounts in the Developer Dashboard under Sandbox > Accounts. Check that the order appears in your FluxStore dashboard as paid after completing the PayPal checkout.

If the order stays pending, check the webhook logs in your PayPal Developer Dashboard for failed delivery attempts. The most common issues are an incorrect webhook URL or missing event subscriptions.

Sandbox testing

Always test with sandbox credentials before going live. In the PayPal Developer Dashboard, switch to Sandbox under Apps & Credentials and use those credentials in FluxStore with Sandbox Mode enabled.

Once testing is successful, create a new Live app (or switch to Live credentials on the same app), set up a new webhook with the same URL and events, update your FluxStore gateway settings with the live credentials and webhook ID, and turn off Sandbox Mode.

Supported currencies

PayPal supports fewer currencies than Stripe. If you have multi currency checkout enabled, customers will only see PayPal as a payment option for currencies PayPal supports. See Currencies for the full list showing which currencies work with each provider.

Next steps