Skip to main content
Partner server-to-server errors use a consistent envelope:
The envelope contains 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 method
  • invalid_point_amount
  • invalid_direct_amount
  • payment_reference_conflict
  • unauthorized
  • partner_suspended
  • idempotency_conflict
  • partner_event_conflict
  • partner_order_conflict
  • contribution_not_found
  • contribution_pending
  • rate_limited
For 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

Do not reverse customer value (restore loyalty points or refund Direct payments on your side) after a timeout, an unknown result, a pending result, or contribution_not_found.
First, recover by partner_event_id:
If no contribution is found, the response includes 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.
Retry the original confirmation using the same transport 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.