Skip to main content
POST
Reconcile a mandate charge outcome and settle it with the card network. Call this after checking out with the credentials from Charge a Mandate. POST /v1/mandates/{id}/charges/{txnId}/report · Authenticated with your secret key (merchants) or Ed25519 signature (agents). Need to create a mandate? Mandate creation is part of the Session APIs — create a mandate with a mandate_setup block on Create Session.

Path parameters

string
required
The mandate id.
string
required
The transactionId returned from Charge a Mandate.

Body

string
required
APPROVED or DECLINED.
string
required
PURCHASE.
string
Authorization code from your processor, max 128. Optional; recorded when supplied.
string
Processor response code, max 2. Optional.
string
Amount paid, decimal string. Optional.

Response

string
string
string
string
completed or failed.
string
The mandate’s status after settlement.
string
SUCCESS or FAILURE.

Notes

  • Reporting a one-time mandate charge as APPROVED moves the mandate to consumed; recurring mandates stay active.
  • authorization_code, response_code, and amount_paid are optional and recorded when supplied.

Error responses

Authorizations

Authorization
string
header
required

Your secret key: sk_test_* (sandbox) or sk_live_* (production).

Path Parameters

id
string
required

The mandate id.

txnId
string
required

The transactionId returned from Charge a Mandate.

Body

application/json
txn_status
enum<string>
required
Available options:
APPROVED,
DECLINED
txn_type
enum<string>
default:PURCHASE
Available options:
PURCHASE
authorization_code
string
Maximum string length: 128
response_code
string
Maximum string length: 2
amount_paid
string
Pattern: ^\d+(\.\d{1,2})?$

Response

Charge outcome recorded.

mandateId
string
transactionId
string
orderId
string
status
enum<string>
Available options:
completed,
failed
mandateStatus
string
visaConfirmation
enum<string>
Available options:
SUCCESS,
FAILURE