Skip to main content

Payment Gateways — Overview

Status​

Sandbox exploration in progress. The checkout layer is not yet chosen. All PayPal work is Sandbox only — no live credentials, no production code, no committed secrets.

MilestoneState
Sandbox app + credentialsRegistered (opshell, 2026-09-13)
Capability probeRun — 5/6 checks pass (matrix)
Webhook receiverDeployed locally, tunnel route pending
Invoice Ninja PayPal RESTConfigured in Sandbox; OAuth verification passed
Checkout layerNot chosen

Requirements​

RequirementValue
MerchantPayPal Business — support@rezriz.com
CurrencyUSD (PayPal allows only one currency per subscription plan)
MarketIndonesia — cross-border receiving rules apply
EnvironmentsSandbox first, then a separate live-capability check
Revenue shapesMemberships (recurring), digital packs (one-time), services (invoices)

Gateway options under evaluation​

ApproachMembershipsDigital packsService invoicesNotes
PayPal API directlyYesYesYesMost control, most work (auth, webhooks, idempotency)
SureCart + SureMembersYes (auto access)YesYesFree, native PayPal, deep SureMembers integration
WooCommerce + PayPal PaymentsWith WC SubscriptionsYesYesRobust but heavier; WC Subscriptions is paid
Payment Links / InvoicesNo auto-gatingYesYesNo-code, fastest, manual access management

The decision is deferred until the PayPal feature matrix is tested in Sandbox. See PayPal Developer API Features.

Proposed data flow​

Decision log​

DateDecisionStatus
2026-09-13Sandbox-first exploration, USD, gateway deferredActive
2026-09-13Registered Sandbox app opshell; credentials in ~/.ssh/paypal/.envDone
2026-09-13Capability probe: orders, products, plans pass; invoicing NOT_AUTHORIZEDDone
2026-09-13Deployed self-hosted webhook receiver (paypal-webhook)Done
—Add tunnel public hostname paypal-webhook.id86.netPending
—Choose checkout layer after Sandbox testingPending
—Verify live receiving capability (Indonesia)Pending