Choosing a channel
Which channel to use, and which transaction types each one supports.
The API exposes one set of transaction endpoints across three channels. The channel you pick determines which endpoints you call and which transaction types are available to you.
| Card present | In person, on a Verifone T650c or T650p terminal. | Card present |
| Card not present | Online, through a Hosted Payment Form or the Payment SDK. | Card not present |
| ACH bank transfer | US bank debits, settled asynchronously. | ACH bank transfers |
Transaction types by channel
| Transaction type | Card present | Card not present | ACH |
|---|---|---|---|
| Sale - combined authorization and capture | Yes | Yes | Yes |
| Authorization - reserve funds without capturing | Yes | Yes | No |
| Capture - complete a previous authorization | Yes | Yes | Not applicable |
| Refund - reverse a previous sale | Yes | Yes | Yes |
| Void - cancel a transaction still in the current batch | Yes | Yes | No |
| Token sale - charge a stored payment method | Yes | Yes | Yes |
| Unreferenced refund - refund with no original transaction | Unavailable | Unavailable | No |
ACH is the exception in three places: it cannot be voided (use a refund instead), it has no authorization-only transaction, and it has no separate capture step. See ACH bank transfers.
What the transaction types mean
- Authorization - Verification with the issuer that the card is valid for payment. The authorization amount is reserved, but not captured or settled.
- Capture - Complete a previously authorized transaction. The cardholder is billed for the transaction, and the transaction is settled to the merchant.
- Sale - Combined authorization and capture in a single step.
- Refund - Return all or part of a previous sale or capture. For eligible card transactions still in the current batch, the API attempts a void; after settlement, it performs a refund. Check the original transaction's
refundableAmountand give each separate refund its ownreferenceIdto prevent duplicate requests. See Partial refunds and retries. - Void - Cancel a previously completed transaction (sale, authorization, or capture) if it is still in the current batch, typically the same day.
You do not need to decide between void and refund for a card transaction. Call POST /transactions/refund, and the API attempts a void if eligible in the current batch or a refund after settlement. ACH reversals use a refund.
Cutting across every channel
- Tokenization - store a card once and charge it from any channel
- Payment methods - the terminals, forms, and tokens you charge against
- Account holders - group stored payment methods under a customer
- Retrieving transactions - resolve an outcome you did not receive