PayPal Sandbox Setup - softerfish/fyuhls GitHub Wiki

PayPal Sandbox Setup

This page is the short, testing-first version of the PayPal setup flow in fyuhls.

Use it when you want to get PayPal sandbox working before you worry about live credentials.

Where to configure it in fyuhls

Go to:

  • Admin -> Config Hub -> Monetization

In Payment Gateways, fill in:

  • Enable PayPal Checkout
  • Client ID
  • Client Secret
  • Webhook ID
  • Use PayPal Sandbox

What "ready" means

PayPal is only treated as ready when:

  1. Enable PayPal Checkout is turned on
  2. Client ID is saved
  3. Client Secret is saved

Important:

  • Use PayPal Sandbox does not enable PayPal by itself
  • it only tells fyuhls to use the sandbox PayPal environment

Where to get the sandbox Client ID and Client Secret

  1. Open the PayPal developer dashboard
  2. Go to Apps & Credentials
  3. Stay on the Sandbox tab
  4. Create a sandbox app or open an existing one
  5. Copy:
    • Client ID
    • Secret

Paste them into fyuhls:

  • Client ID -> PayPal client ID
  • Secret -> PayPal client secret

Turn sandbox mode on in fyuhls

Make sure this is checked:

  • Use PayPal Sandbox

Then turn on:

  • Enable PayPal Checkout

Save Config Hub.

Where to get the sandbox Webhook ID

  1. In the same PayPal sandbox app, open Webhooks
  2. Create a webhook that points to:
    • https://yourdomain.com/payment/callback/paypal
  3. After saving it, PayPal shows a webhook identifier
  4. Copy that value into:
    • Webhook ID

The webhook must belong to the same sandbox app/environment as the sandbox client credentials.

What to test

After saving the sandbox credentials:

  1. open a paid package in fyuhls
  2. start checkout with PayPal
  3. approve it in sandbox
  4. return to fyuhls
  5. confirm the package was applied

Also test:

  • canceling at PayPal
  • one later webhook-driven status update in your broader payment testing

Common sandbox mistakes

Sandbox is checked but checkout still says unavailable

Usually one of these is true:

  • Client ID is blank
  • Client Secret is blank
  • Enable PayPal Checkout is still off

Checkout request could not be completed

Usually one of these is true:

  • the sandbox app credentials are wrong
  • live credentials were pasted while sandbox mode is still on
  • PayPal checkout was enabled without valid credentials

Webhook validation problems

Usually caused by:

  • wrong callback URL
  • wrong webhook environment
  • missing or wrong Webhook ID

Related pages

⚠️ **GitHub.com Fallback** ⚠️