Skip to main content

    DEVELOPERS

    Retries and idempotency

    How to make transaction creation and webhook handling safe under retries and redelivery.

    Developers1 min read

    Networks fail mid-request and webhooks are delivered at least once. An integration that is not idempotent will eventually create duplicate transactions or double-process an event.

    Outbound requests

    • Send an idempotency key on transaction creation and reuse the same key when you retry.
    • Retry with backoff on network errors and 5xx responses only.
    • Never retry a request whose failure you have not classified — read the transaction first.

    Inbound events

    • Record processed event identifiers and ignore repeats.
    • Make handlers order-independent; delivery order is not guaranteed.
    • Never treat an event as an instruction to move money in your own system without reading the transaction state.

    Specification

    Header names, retry schedules and error semantics are documented in the API reference and the webhook documentation.

    Go deeper

    Related guides

    Last updated