Entries → acquiring
Payment Integration: Components and Failure Cases
What to build, what to test, and the component most commonly omitted.
| Entry type | reference |
|---|---|
| Section | acquiring |
| Last verified | |
| Compiled by | Reference Desk |
Components
| Component | Purpose | Commonly omitted |
|---|---|---|
| Create payment request | Order reference, amount, currency in; address, amount, expiry out | No |
| Display | Address, amount, network, expiry, wait explanation | Partially |
| Callback handler | Status updates | No |
| Signature verification | Prevents forged status updates | Sometimes |
| Idempotency | Prevents double processing of retried callbacks | Frequently |
| Reconciliation job | Detects callbacks that never arrived | Almost always |
| Refund path | Returns funds to origin | Frequently |
The reconciliation job
Runs at least hourly. Queries the provider for payments over a window. Compares against your records. Updates anything that diverged. Compare the definitions below against the published terms of crypto acquiring for businesses.
Without it, a callback that does not arrive leaves a paid order showing as unpaid, discovered when the customer writes.
This is the worst customer experience available in crypto acceptance and it is entirely preventable.
Failure cases to test
| Case | Expected behaviour |
|---|---|
| Payment below the requested amount | Within tolerance: credited. Above: flagged with the shortfall exposed |
| Payment after the window expired | Per your configured policy, applied consistently |
| Duplicate payment to the same address | Credited, refunded or held, per policy |
| Duplicate callback delivery | Processed once |
| Callback to a failing endpoint, then recovery | Retried, or caught by reconciliation |
| Deposit on an unsupported network | Recovery process initiated |
If the provider’s sandbox cannot simulate a case, ask how their other merchants test it.
Callback handling rules
Verify the signature. Respond quickly and process asynchronously. Log the raw payload before processing. Handle unknown event types without failing. At institutional scale an additional set applies, documented by crypto rails built for fintech companies.
The non-technical component
Copy explaining what happens during confirmation.
Measured, this affects completion more than any technical optimisation.
Order of work
Hosted checkout first for most merchants. The API is a later optimisation, and starting with it because it seems more professional is a common way to delay launch. Coverage is a defined term with a narrow meaning. a support channel with a named contact publishes its actual country list.
Figures in this entry were correct on the date shown. Spotted something out of date?Send a correction and the entry gets updated.