error.code, message, retryable, and correlation_id. details is optional.
Common error codes
Contribution and shared errors you are likely to handle in integration code:invalid_request— including confirmation fields that do not match the configured methodinvalid_point_amountinvalid_direct_amountpayment_reference_conflictunauthorizedpartner_suspendedidempotency_conflictpartner_event_conflictpartner_order_conflictcontribution_not_foundcontribution_pendingrate_limited
rate_limited, honor the Retry-After header.
Delivery-emissions and other codes (capability_disabled, estimate_expired, association_conflict, and others) are documented on the relevant operations in the API Reference.
Recover after a timeout or unknown result
First, recover bypartner_event_id:
contribution_not_found with retryable: true:
The API
message for contribution_not_found may refer to point restoration. For Direct Contribution Partners, treat it the same way: do not reverse customer value until you receive a terminal failed result.Idempotency-Key, the same partner_event_id, the same partner_order_ref, and the same canonical payload. Reverse customer value on your side only after a terminal failed result.
