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.
Payment Links: get paid without writing code
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}).
/api/PaymentLink— Create a Payment Link| Field | Required | Notes |
|---|---|---|
priceId | Yes | The price to charge |
name | Yes | Display name |
maxCompletions | No | Cap how many times it can be completed (1 = single-use link) |
expiresAt | No | Expiry 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.
Recurring price, completing it creates a subscription instead of a one-time payment.Two payment-input modes (depends on the real adapter)
| Mode | When it appears | What renders | Verification status |
|---|---|---|---|
| Scenario-simulation mode | Default when the workspace has no sandbox card processing enabled | A scenario picker (success / decline / timeout) — no card number needed | Verified, safe to build against |
| Sandbox card mode | Workspace has sandbox card processing enabled | Encrypted card number / expiry / CVV fields; test cards go through the full authorization and 3D Secure flow | Safe 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.
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.
/api/Checkout— Complete a checkout directly from the backend (bypassing the Hosted Checkout page)
ReBate Pay Docs