Create a payment

Create and authorize a payment.

For merchant-calculated tax, first call Get tax rate with the pre-tax amount and customer location. Then set amount to the all-in total charged to the customer (pre-tax amount + tax), and pass the calculated tax in taxDetails.amount with the same location. For example, for a $1.00 subtotal and $0.08 tax, send amount: 108 and taxDetails.amount: 8. Breeze remains the Merchant of Record and remits and files the tax.

Base URL — to meet PCI requirements, this endpoint must be called against https://secure.breeze.cash (production) or https://secure-sandbox.breeze.cash (sandbox), not the default api.breeze.cash host shown elsewhere in this reference.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Server-to-server payment details

integer
required
≥ 1

All-in total charged to the customer, in minor units (e.g. 1000 = $10.00). Includes taxDetails.amount when tax is supplied.

string
enum
required

ISO 4217 currency code.

string
required
length ≤ 100
^[\w-]+$

Merchant-provided dedup key. Used to safely retry requests without double-charging.

string
length ≤ 280

Description of what the customer purchased. Direct Payment has no line items, so this is how product information reaches the receipt and the Breeze dashboard.

customer
required

Customer identification. Provide one of the three variants below.

paymentMethod
required

Payment credentials. Pick the variant that matches your integration.

transactionContext
object

Required for Merchant-Initiated Transactions (MIT). Optional for standard Customer-Initiated Transactions (CIT).

threeDs

3DS authentication results. Required for customer-initiated transactions on RAW_PAN, NETWORK_TOKEN, and DECRYPTED_GOOGLE_PAY PAN_ONLY; optional otherwise. Merchant-initiated (MIT) transactions skip 3DS.

risk
object

Risk signals used for fraud scoring. sessionId is required for CIT and omitted for MIT.

taxDetails
object

Merchant-calculated tax included in the all-in customer charge in amount. Send the calculated tax as taxDetails.amount and its jurisdiction in taxDetails.location.

Responses

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