Skip to main content

Pay by hosted invoice

This is how most orders are paid. You create an experiment, Adaptyv prices it into a quote, you confirm the quote, and Stripe issues a hosted invoice page for whoever pays your bills. No payment header, no wallet. You need a token whose role grants Quote:UpdateMember, Billing, or Admin.

Create the experiment

Send no X-Adaptyv-Payment-Method header. Its absence selects this rail for an ordinary token and pins the experiment to it. If you hold a token issued with a machine payment policy, send X-Adaptyv-Payment-Method: async_invoice explicitly to get the hosted invoice.

Read the quote

Confirm the quote

Confirming finalizes the invoice. You may attach a purchase-order number, which appears on it.
Send hosted_invoice_url to whoever pays your bills. They can view the invoice, pay it with any method you have enabled, and download the PDF and receipt — see Stripe’s hosted invoice page.
Confirming is one-way. A second confirm on the same quote returns 409. To decline, call POST /quotes/{quote_id}/reject first.

Check that it settled

Payment happens on Stripe’s page, outside the API: there is no credential to submit and no endpoint that completes it. Stripe notifies the API when the money clears, and the invoice flips from open to paid.
To remove the browser step, have an agent settle the invoice with x402 or MPP-SPT instead. Both are selected at experiment creation.