Skip to main content

Payments

The main reason for using the Exact Payments platform is for payments. The API supports a robust set of payment types (Credit Card, ACH, token, and wallets) as well as payment methods (Purchase, Auth/Capture, Refund, and Void). See API's for all available methods

The standard payment methods include a 1-pass payments (Purchase) where the authorization and capture happen in a single request as well 2-pass payments (Auth/Capture) where the authorization and capture are two separate requests. 2-pass method im ecommerce is used for those locations that tak a purchase but may ship out on a different date, handling the first pass on the order and completing the transaction on the shipment. It is also used heavily in the bar, restaurant, lodging, auto rental, and any other type industry where the final amount is not known until the end of the service, but the merchant wants to put a hold on the funds.

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.