Configure hosted checkout
Payment links, buttons, line items, redirects and receipts.
Choose how payment details are collected
The recommended online path combines the Payment Component with REST processing: the browser collects and tokenizes card, ACH or wallet details; your server processes the token. Hosted checkout moves the payment page to the provider. A custom experience can retain tokenized collection while your application controls the surrounding flow. Reporting components are separate from the Payment Component; their session authentication is not the checkout tokenization flow.
Create a link or button
Use Merchant Portal → Collect Checkout → Button Generator, choose a Product Manager item and generate a link, QR code or button. Add success and cancel destinations to the URL allowlist before using redirects.
Choose line items
Purchase items require an existing sku and quantity. Unknown SKUs cause an error; a checkout cannot mix product currencies. At most one customPayment item may let the customer enter an amount; it requires description and currency. // Use with the merchant-generated CollectCheckout setup. CollectCheckout.redirectToCheckout({ lineItems: [{ lineItemType: 'purchase', sku: 'YOUR_EXISTING_SKU', quantity: 1 }], type: 'sale', collectShippingInfo: true, successUrl: 'https://example.com/receipt?id=(TRANSACTION_ID)', cancelUrl: 'https://example.com/cart', receipt: { showReceipt: true, redirectToSuccessUrl: true, sendToCustomer: false } });
Select the operation
Option Behavior type: sale Default; process a sale type: auth Authorize now; capture outside hosted checkout type: customerVaultOnly Save without sale/auth; include customerVault action customerVault.addCustomer Save after successful transaction; default false collectShippingInfo Request shipping data; default false receipt.showReceipt Display receipt; default false receipt.redirectToSuccessUrl Receipt navigation requires successUrl receipt.sendToCustomer Email receipt after approval; default false
Verify redirects
successUrl supports (TRANSACTION_ID) and (CUSTOMER_VAULT_ID). Query the transaction server-side and reject duplicate fulfillment. A redirected URL is not payment proof. cancelUrl has no transaction placeholders.