Pay an invoice with a saved method

Pays the open balance of an invoice (id) with a saved card or bank account (paymentId), once per idempotencyKey. expectedAmount is the total the buyer was shown (invoices.get payment.methods[].total, fee included); a balance that changed since is refused. A bank account needs bankConsent: true and the payer's userAgent. Follow a confirming or processing answer with invoices.paymentStatus.

Who may call it: A signed-in buyer (X-Storefront-Buyer) whose account is confirmed (session.get answers confirmed: true); an unconfirmed buyer is refused with 403 CONFIRMATION_REQUIRED.

Body Params
string
required
length between 1 and 100
string
required
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
string
required
^[A-Za-z0-9_-]{7,50}$
integer
required
1 to 9007199254740991
boolean
string
length between 1 and 512
Headers
string
required
length between 1 and 253

The published storefront host the request serves (shop.example.com, lower case). It must belong to the tenant of the API key; 404 NOT_FOUND when no published storefront answers it, 403 FORBIDDEN when it belongs to another account.

string

The signed-in buyer's access token (accessToken from POST https://apis.kentro.live/auth/login/customer). Absent for a guest or an anonymous visitor.

string

The guest token session.guest answered, which identifies a guest cart and a guest checkout. Send it along with X-Storefront-Buyer at sign-in so the buyer can choose between the guest cart and the account cart.

string

The end buyer's IP address as your storefront server saw it. Used for per-visitor limits (search typeahead, sign-up); without it the limits apply to your server.

string

The store id (store.get answers id) your page was rendered for. When the host now resolves to another store the answer is 409 CONFLICT, so a stale page never acts on the wrong store.

string

The identity your page was rendered for: the buyer id, guest:<guestId> for a guest, or guest for an anonymous visitor. A mismatch with the tokens sent is 409 CONFLICT, so a stale page never acts for the wrong buyer.

Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json