All gateways are configured from Settings → Payment gateways (Documentation Index
Fetch the complete documentation index at: https://docs.shoppex.io/llms.txt
Use this file to discover all available pages before exploring further.
/settings/payments/gateways).
The page has four tabs: Card, Crypto, Aggregators, Manual. Connect any combination —
buyers see only what’s enabled.
This page walks you through the setup specifics for each provider, including the parts that
trip people up. For a high-level overview of how payments flow, see
How payments work.
Stripe
Cards and wallets (Apple Pay, Google Pay) through Stripe.What you’ll need
A Stripe account with API access — you can sign up at stripe.com if you don’t have one yet. You’ll need to copy two keys from your Stripe dashboard:- Publishable Key — starts with
pk_live_(orpk_test_for testing). - Secret Key — starts with
sk_live_(orsk_test_).
Connecting
- Open Settings → Payment gateways → Card and click Connect on Stripe.
- Paste the Publishable Key and Secret Key into the dialog.
- Click Connect.
- Creates a webhook endpoint on your Stripe account (events:
payment_intent.succeeded,.payment_failed,.canceled,charge.refunded, and the threecharge.dispute.*events). - Registers your shop subdomain (
yourshop.shoppex.io), the sharedcheckout.shoppex.ioandembed.shoppex.iohosts, and any verified custom domain you’ve connected, for Apple Pay.
Common pitfalls
- “Stripe API key must allow Shoppex to create webhook endpoints.” Your secret key is a
Restricted Key without the Webhook scope. Either generate a normal Secret Key, or grant the
Restricted Key the
Webhook Endpoints: Writepermission. - Apple Pay error during connect. If Stripe rejects the Apple Pay domain registration for
your
{shop}.shoppex.io, the whole Connect fails. Wait a few minutes and retry — Stripe’s domain registration is sometimes flaky. - Test keys vs. live keys. Shoppex accepts both. Test keys (
sk_test_) will only see test cards at checkout — useful for sandbox runs, but no real money moves. Switch tosk_live_for production. - Disconnect doesn’t reconcile pending payments. If you disconnect Stripe while PaymentIntents are still in flight, those payments won’t be tracked by Shoppex after the disconnect — they continue on Stripe’s side. Wait for pending invoices to finalize before you disconnect.
- Stripe-side key revocation. If Stripe revokes the API key (e.g. account suspended), subsequent checkout attempts will fail. Check the Stripe Dashboard if Stripe-paid orders stop succeeding.
PayPal (SDK)
The standard PayPal integration. Recommended over Friends & Family unless you have a specific reason to avoid it.What you’ll need
A PayPal Business account plus REST API credentials. To get those:- Go to developer.paypal.com and log in with your PayPal Business account.
- Open Apps & Credentials → Live.
- Either create a new app or open an existing one. Copy the Client ID and Secret.
Connecting
- Open Settings → Payment gateways → Card → Connect on PayPal.
- Paste the Client ID and Client Secret into the form.
- Click Connect. Shoppex validates the credentials against PayPal’s API.
Register webhooks in PayPal (required)
Unlike Stripe, Shoppex does not auto-register PayPal webhooks. You have to add them yourself in the PayPal Developer Dashboard so that Shoppex receives payment events:- In Apps & Credentials, click into your app → Webhooks → Add Webhook.
- Webhook URL for normal payments:
https://api.shoppex.io/v1/paypal/webhook - Webhook URL for subscriptions:
https://api.shoppex.io/v1/paypal/webhook/subscriptions
CHECKOUT.ORDER.APPROVED,CHECKOUT.ORDER.COMPLETEDPAYMENT.AUTHORIZATION.CREATED,PAYMENT.AUTHORIZATION.VOIDEDPAYMENT.CAPTURE.COMPLETED,PAYMENT.CAPTURE.DENIED,PAYMENT.CAPTURE.PENDINGPAYMENT.CAPTURE.REFUNDED,PAYMENT.CAPTURE.REVERSEDCUSTOMER.DISPUTE.CREATED,CUSTOMER.DISPUTE.UPDATED,CUSTOMER.DISPUTE.RESOLVED
BILLING.SUBSCRIPTION.ACTIVATED,BILLING.SUBSCRIPTION.CANCELLEDBILLING.SUBSCRIPTION.PAYMENT.FAILEDPAYMENT.SALE.COMPLETED,PAYMENT.SALE.REFUNDED,PAYMENT.SALE.REVERSED
Common pitfalls
- “Invalid PayPal API credentials.” You’re using Sandbox credentials, not Live. Sandbox apps and Live apps have separate Client IDs and Secrets in the PayPal Developer Console.
- Orders stuck in pending. Almost always missing or misconfigured webhooks. Re-check the webhook URL and the subscribed events.
- Currency mismatch. PayPal requires the buyer’s currency to match a currency your PayPal account supports. Most accounts handle USD/EUR/GBP fine; less common currencies may bounce.
PayPal Friends & Family
Lower-friction PayPal that bypasses transaction fees, at the cost of buyer-side protection (F&F transactions are not eligible for PayPal Buyer Protection or chargebacks). Setup is IPN-based, not API-based.What you’ll need
- A PayPal Business account (Personal works too, with the IPN feature enabled).
- Your PayPal account email.
Connecting
- Open Settings → Payment gateways → Manual → Connect on PayPal F&F.
- Enter the PayPal email where buyers will send Friends & Family payments.
- Click Connect PayPal F&F.
https://paypal-ff.myshoppex.io. This URL is the same
for all Shoppex shops — incoming IPNs are matched to your shop by the invoice ID in the
buyer’s payment note. Copy it.
Configure IPN in PayPal
Without IPN, F&F orders sit in pending forever and need manual verification. To wire it up:- Log into PayPal (the Business account, not the Developer Console).
- Account Settings → Website Payments → Instant Payment Notifications.
- Click Update, then Choose IPN Settings.
- Paste
https://paypal-ff.myshoppex.ioas the IPN URL. - Turn on Receive IPN messages.
- Save.
Buyer flow
When a buyer pays via F&F, the Shoppex checkout shows them:- Your PayPal email address (where to send the money).
- The exact amount.
- A note string (
SX-{invoice-id}) they need to include in the PayPal note field.
Common pitfalls
- Buyer forgot to include the note. Without the note, Shoppex can’t match the IPN to an invoice. The order stays pending until you manually verify it from the order page (or the buyer disputes / requests a refund through PayPal directly).
- F&F doesn’t work for cross-border. PayPal restricts F&F to domestic transactions in many countries. If your buyer is in a different region than your PayPal account, the F&F option might be greyed out for them on PayPal’s side.
- No buyer protection means no chargebacks — but also means you have no recourse if the buyer’s PayPal account gets compromised or reverses the transfer manually. F&F should be treated as cash-equivalent.
Cash App
US-only. The flow is email-forwarding-based: Cash App doesn’t have a public API for merchants, so Shoppex reads Cash App’s receipt emails to confirm payments.What you’ll need
- An active Cash App account with a
$cashtag. - A Gmail address you control and can set up forwarding from.
Connecting
- Open Settings → Payment gateways → Manual → Connect on Cash App.
- Enter your
$cashtag(must start with$, e.g.$yourbrand). - Enter the Gmail address that receives Cash App receipt emails.
- Click through to step 2 of the wizard.
{shop-id}[email protected]. Copy it.
Set up Gmail forwarding
- Open Gmail → Settings → Forwarding and POP/IMAP → Add a forwarding address.
- Paste the Shoppex forwarding address.
- Gmail sends a verification code to that address. Shoppex auto-captures the code — go back to the Cash App wizard, click Verify, and it’ll show the code.
- In Gmail, also create a filter: from
[email protected]→ forward to the Shoppex address and (optionally) mark as read.
Buyer flow
At checkout, the buyer sees your$cashtag and a unique note code (SX-{invoice-id}). They:
- Open Cash App, send the amount to your
$cashtag, include the note. - Click I’ve sent the payment on the Shoppex checkout (manual confirmation step).
Common pitfalls
- USD only. Cash App rejects non-USD shops. If your shop’s primary currency isn’t USD, Cash App won’t appear in the gateway list.
- Setup not complete = can’t enable. All three pieces (cashtag, your Gmail, forwarding verified) must be in place. If any is missing, the enable toggle stays disabled and shows “Connect Cash App before enabling it.”
- Gmail filter must catch every receipt format. Cash App occasionally varies their email template. If a payment doesn’t auto-confirm, check Gmail for the receipt and forward it manually as a test.
Crypto: Aggregators
For multi-coin coverage without managing addresses per chain.Cryptomus
API-key-based. Get a key from your Cryptomus dashboard under Settings → Payments → API. You’ll also need your Merchant ID from the same page. In Shoppex: Settings → Payment gateways → Aggregators → Cryptomus → Connect. Paste both, save. Cryptomus handles which coins are visible at checkout based on your Cryptomus settings.Oxapay
API-key-based, simpler than Cryptomus. Get a Merchant API key from Oxapay → Merchant API. In Shoppex: Settings → Payment gateways → Aggregators → Oxapay → Connect. Paste the key. Oxapay’s currently supported coins and networks are fetched live whenever a buyer opens checkout — whatever you’ve enabled in your Oxapay dashboard shows up.Crypto: Direct wallets
For settling specific coins directly to wallets you own — no intermediary. Four direct chains are supported. For each, you paste an address and Shoppex routes payments straight there.- Bitcoin — paste a BTC address.
- Litecoin — paste an LTC address.
- Ethereum — paste an ETH address.
- Bitcoin Lightning — paste a Lightning Address (preferred — looks like
[email protected]) or an LNURL endpoint.
Setup
Settings → Payment gateways → Crypto → Connect on the coin you want. Paste the address, save. Activate the toggle. It’s live.Common pitfalls
- Wrong address format. Shoppex validates against the coin’s expected pattern, but if you paste an SegWit address into the Legacy BTC field (or vice versa), some buyers’ wallets may not handle it. Stick with one address type.
- Lost address = lost funds. Direct wallets are non-custodial. If you lose access to the wallet’s private key, Shoppex has no way to recover funds sent there.
- No automatic refunds. Since Shoppex doesn’t custody the wallet, crypto refunds via direct addresses are manual — you send the funds back yourself from your wallet, then mark the order refunded in Shoppex. See Refunds.
Next: Payouts
When the money lands for each gateway, and how to reconcile.