Skip to Content

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.

In person, on a terminalOnline, with a cardOnline, from a US bankaccountWith a payment methodstored earlierThe iframeThe web component inyour page

How does the customer pay?

Card present
physical terminal, pmt_trm_

How will you embed the form?

ACH bank transfer
virtual ACH terminal, pmt_ach_

Token sale or auth
pmt_tkn_

Hosted Payment Form

Payment SDK

Card not present
virtual terminal, pmt_vrt_

Card presentIn person, on a Verifone T650c or T650p terminal.Card present
Card not presentOnline, through a Hosted Payment Form or the Payment SDK.Card not present
ACH bank transferUS 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 refundableAmount and give each separate refund its own referenceId to 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

Questions about your integration? Contact support@doura.ca.