Skip to main content
POST
Preview Payment

Preview Payment

Returns the exact payment a Create Product Payment Intent request would produce — subtotal, discount, shipping, tax, transaction fee and total — without creating anything. Call it on your review step so the customer sees the final total before they press pay.
Send the same body you’ll send to Create Product Payment Intent. Build it once, preview it, then create the intent with it. See Prices, Fees and Totals for where this fits in checkout.

Request

string
required
Your API key

Body

The body is identical to Create Product Payment Intent: product_type, cart, email, first_name, last_name, currency, and for physical products cart_unique_id and delivery_details.
  • Don’t send a top-level product_id — it’s rejected with 422. The product comes from cart.
  • cart_unique_id from /cart/validate is only needed for physical products.
  • Required custom fields are validated, so call it on your review step, once the customer has filled them in.

Response

All amounts are in the smallest currency unit.

Showing the fee to the customer

When customer_pays_fees is true, show total_fees_amount as its own “Transaction fee” line and customer_pays_total as the total. It’s best practice for transparency — see Fees. When customer_pays_fees is false, the merchant absorbs the fee: don’t show a fee line, because total_fees_amount is still returned but isn’t part of the customer’s total. For a marketplace sale, whether the customer pays is the operator’s setting, inherited by its sub-merchants.

Use Case

Call this endpoint after /cart/validate to show customers a complete breakdown before they commit to payment:

Errors

Example