Skip to main content

Payments

Exact's Payments APIs supports a robust set of payment methods--- credit, debit, ACH, token, and wallets--- as well as all required transaction types--- Purchase, Authorization, Capture, Refund, and Void. See API's for all available methods

Both 1-pass and 2-pass transaction flows are fully supported. With 1-pass, payment transactions are processed for authorization and capture in a single request (Purchase). With 2-pass transactions, the Authorization and Capture are (2) separate requests. 2-pass method is most common in eCommerce businesses where the order is made on Day 1 (Authorization) while the shipment (delivery of goods/services) comes on a subsequent date at which point a Capture request is submitted. 2-pass is also common in restaurant, lodging, auto rental, and other businesses where a hold on funds is necessary prior to calculating the final payment amount.

Requests to create new payments are submitted as POST requests to the /payments path.

1-pass Payment (Purchase) This is the default payment type created.

1-Pass Payment
POST /payments
{
"amount": 100,
"terminal": {"gateway_id": "YOUR_GW_ID"},
"payment_method": {
"credit_card": {
"cardholder": "Bob Jones",
"number": "4111111111111111",
"expiry_month": "02",
"expiry_year": "2026"
}
}
}

2-pass Payment (PreAuth, or Authorization) In order to prevent the capture, you just need to send "capture": false in the request body. 1-pass Payment (Purchase) This is the default payment type created.

2-Pass Payment
POST /payments
{
"capture": false,
"amount": 100,
"terminal": {"gateway_id": "YOUR_GW_ID"},
"payment_method": {
"credit_card": {
"cardholder": "Bob Jones",
"number": "4111111111111111",
"expiry_month": "02",
"expiry_year": "2026"
}
}
}

Once a payment has been created, a payment_id will be returned in the response which can then be used for capture, refunds or voids.