Stripe and PayPal Payments - softerfish/fyuhls GitHub Wiki

Stripe and PayPal Payments

fyuhls supports paid package checkout through Stripe and PayPal. Both gateways are configured from:

  • Admin -> Config Hub -> Monetization

Use these step-by-step pages for the actual setup:

Important readiness rule

A gateway is only considered ready when:

  1. the gateway is enabled in Config Hub, and
  2. the required credentials are saved

Examples:

  • Turning on Enable PayPal Checkout without a Client ID and Client Secret does not make PayPal usable.
  • Turning on Enable Stripe Checkout without a Secret Key does not make Stripe usable.

If a gateway is enabled but not fully configured, checkout will treat it as unavailable.

What package payments affect

Package payments affect more than just package activation.

Depending on your monetization settings, one completed premium purchase can also affect:

  • the buyer subscription state
  • uploader PPS earnings
  • referral earnings tied to that PPS earning

That is why refund and denial testing matters. A payment test is not complete until you understand how later gateway-state changes affect the rewards side too.

Current payment behavior

The current payment flow supports:

  • pending transaction creation before redirecting to the gateway
  • Stripe Checkout redirect and success confirmation
  • PayPal server-side order creation, approval redirect, and capture
  • callback and transaction-state handling that can move a completed transaction into refunded or denied later
  • PPS and related referral reversals when payment state changes require them

Best practice

  • test in sandbox first
  • validate one successful payment end-to-end
  • validate one cancelled checkout path
  • if rewards are enabled, validate at least one refunded or denied path too
  • only then move live package traffic onto the gateway

Fast path for testing

If you are still wiring things up and just want the test credentials and webhook steps:

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