Introduction
What the API covers, and the shape of a typical integration.
The Doura Payments API is a RESTful API that provides a unified interface for processing payments across multiple channels. This API enables developers to integrate payment processing capabilities into their applications with a single set of endpoints, simplifying implementation and reducing development time.
The API supports integration in both the United States and Canada, using USD and CAD currencies.
The shape of an integration
Get an API key
Every request is authenticated with an x-api-key header. Sandbox and production use the same base URL but different keys.
See Authentication.
Find your payment methods
A payment method is the thing you charge against: a physical terminal, a virtual terminal (a Hosted Payment Form), or a token: a stored card or bank account. Call GET /payment-methods to list terminals and virtual methods; list tokens with GET /payment-methods/account-holder/{accountHolderId}.
See Payment methods.
Process a transaction
Choose the channel that matches how you take payments, then call the matching endpoint. Card present goes to a terminal; card not present returns a session you render in an iframe or the SDK.
See Choosing a channel.
Receive the outcome
Configure webhook delivery to receive transaction outcomes on legacy webhooks or, by invitation, on Svix. Card-not-present flows can additionally return the result by redirect or JavaScript callback.
See Webhooks.
Reconcile
Settlement reporting tells you what actually reached the merchant's bank account, and itemizes every fee charged against it. It is in beta and enabled on request.
See Settlement reporting.
What the API supports
| Card present | In-person payments on Verifone T650c and T650p terminals. | Card present |
| Card not present | Online payments through Hosted Payment Forms, with AVS and CVV validation. | Card not present |
| ACH bank transfers | US bank debits, settled asynchronously over 1-5 business days. | ACH bank transfers |
| Tokenization | Store a card once and charge it from any channel. | Tokenization |
| Account holders | Group stored payment methods under a customer identifier. | Account holders |
| Settlement reporting (beta) | Deposits, settled transaction lines, and every fee charged. Enabled on request. | The reporting model |
Support
For technical assistance, contact the support team at support@doura.ca.