Recommended strategy
Useexternal_ref as the stable idempotency key for transaction creation and keep it unique per business operation in your own system.
Rules
- Generate
external_reffrom your source-of-truth order or payment attempt. - Reuse the same value when retrying the same logical operation.
- Do not reuse the same value for a different monetary action.
- Store both your
external_refand the Pagou resourceid.
Conflict behavior
If you send a duplicatedexternal_ref for a conflicting transaction create request, the API can return a 409 response.
Where idempotency matters most
POST /v2/transactionsPUT /v2/transactions/{id}/refundPOST /v2/transfersPOST /v2/transfers/{id}/cancel
Retry pattern
- Retry safely only if you can prove it is the same logical operation.
- If the network outcome is unknown, reconcile with
GETbefore creating a new resource. - Use your persisted
external_refmapping to avoid duplicate money movement.

