Skip to content

Search documentation

Try “webhook signature” or “amountUsd”. Use Tab or arrow keys to explore results.

    Open app
    Open app

    Documentation navigation

    Payment status

    A transfer being seen, a payment being confirmed and money reaching your wallet are different facts.

    On this page

    Read payment and settlement separately

    Confirmed is a human explanation, not a paymentStatus value or an invoice.confirmed webhook. invoice.paid reports paid status; invoice.settled reports settlement.

    Read payment and settlement separately
    FieldDetails
    paymentStatusstringopen, detected, partially_paid, paid, expired, expired_partially_paid or canceled.
    confirmingbooleanObserved money is still waiting for required network confirmation.
    settlementStatusstringnone, pending or settled. This describes transfer into the profile wallet.
    refundStatusstringSeparate held-money and refund processing; never treat it as payment revenue.

    Fulfill from verified state

    A network reorganization can remove an observed transfer. Late payments and excess money can be held for the payer instead of credited to the business.

    • Verify the signature and timestamp of each event before accepting it.
    • Save event IDs durably and process each once. Events can arrive out of order.
    • Read the matching invoice or checkout session from the API using your server key.
    • Match your order’s ID, reference, store, mode and expected money before fulfilling once.
    • Wait for paid; detected, confirming and partially_paid do not mean the full order has been paid.
    Forwend documentation Test first. Confirm on your server.