High Wire Payments
Payments

Create a hosted checkout link

Creates a checkout for the supplied cart and returns the link to the page HighWire hosts for it. The total is computed here: the line items plus shipping and tax, minus the discount. Whoever holds the link can pay, on any device, until expiresAt, so hand it only to the shopper. It is returned once: a replay under the same Idempotency-Key answers without checkoutUrl, and POST /payments/{paymentId}/checkout-session/link issues a new one. Creating the link takes no money and checks none of your limits; the amount counts against them once the payment is captured. The payment settles asynchronously (poll GET /payments/{paymentId}). Answers 400 with code HW_UNSUPPORTED when hosted checkout is not enabled for the account.

POST
/v1/payments/checkout-session
AuthorizationBasic <token>

Basic HTTP authentication

In: header

Header Parameters

Idempotency-Key?string

Optional client-supplied retry key (≤255 chars; UUID v4 recommended). Don't use sensitive data — emails, PANs, or other personal identifiers. Identical requests retried with the same key return the original response. Mismatched bodies return 422; in-flight duplicates return 409. Keys are scoped per merchant + endpoint and expire after 24 hours. On 5xx, retry with the same key: a retry cannot create a duplicate charge. A replay does not return checkoutUrl: the link is shown once.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/payments/checkout-session" \  -H "Content-Type: application/json" \  -d '{    "lineItems": [      {        "name": "Test Widget",        "amount": 2000,        "quantity": 1      }    ],    "currency": "usd",    "successUrl": "https://merchant.example.com/checkout/success",    "cancelUrl": "https://merchant.example.com/checkout/cancel",    "savePaymentMethodForFutureUse": false  }'
{  "paymentId": "01928e3e-7b6c-7c8e-9b3a-5b9f8b9b9b9b",  "status": "PENDING",  "amount": 7200,  "currency": "usd",  "checkoutUrl": "https://checkout.highwirepayments.com/01928e3e-7b6c-7c8e-9b3a-5b9f8b9b9b9b#hw_hc_…",  "expiresAt": "2026-09-30T12:00:00.000Z",  "customerId": "string",  "paymentMethodId": "string"}