Hosted Checkout & Payment Links

Two ways to get paid: a Payment Link is a shareable payment URL that needs no code; Hosted Checkout is the actual page it opens.

View as Markdown

A Payment Link is a one-time or reusable payment URL created for a specific price. Share it directly with a customer (chat, email, a social post) — no frontend code required. Creating one returns a url (relative path /pay/{token}).

POST/api/PaymentLink— Create a Payment Link
FieldRequiredNotes
priceIdYesThe price to charge
nameYesDisplay name
maxCompletionsNoCap how many times it can be completed (1 = single-use link)
expiresAtNoExpiry timestamp

Hosted Checkout: ReBate Pay's own checkout page

When a customer opens a Payment Link's URL, they see Hosted Checkout — a page ReBate Pay hosts that collects email/name and shows an order summary. Which payment input the page actually renders depends on which provider adapter this workspace is wired to, see below. On success, it shows an "Open Customer Portal" button so the customer can self-manage their subscription via the Customer Portal.

Hosted Checkout handles both one-time products and subscription prices — if the Payment Link points at a Recurring price, completing it creates a subscription instead of a one-time payment.

Two payment-input modes (depends on the real adapter)

ModeWhen it appearsWhat rendersVerification status
Scenario-simulation modeDefault when the workspace has no sandbox card processing enabledA scenario picker (success / decline / timeout) — no card number neededVerified, safe to build against
Sandbox card modeWorkspace has sandbox card processing enabledEncrypted card number / expiry / CVV fields; test cards go through the full authorization and 3D Secure flowSafe to build against; use test cards only.
GET /api/Capability's sandbox.adapter field (fake_tappay or tappay_sandbox) truthfully reflects which mode this environment is actually running — don't guess from a coarse sandbox/production label.

Apple Pay and Google Pay

On supported devices, Hosted Checkout shows Apple Pay (Safari on iPhone, iPad and Mac) and Google Pay (supported browsers and Android) buttons above the card fields. ReBate Pay connects both for you — no Apple or Google merchant account to apply for and no code to change. Results, refunds and the payment.succeeded webhook work exactly like cards.

Apple Pay and Google Pay are for one-time payments. Subscription plans need a saved card for renewals, which wallets can't provide, so subscription checkouts show cards only. See what's available and this month's volume under Cards & wallets in the console.

If you want full control of the frontend

If you don't want to redirect to ReBate Pay's page, POST /api/Checkout completes a checkout directly from your backend (passing customer details and chargeScenario), letting you render the result however you want. This endpoint is a financial mutation requiring an Idempotency-Key.

POST/api/Checkout— Complete a checkout directly from the backend (bypassing the Hosted Checkout page)