Payments & Fund TransfersPaymentsActions for Maker-Checker

Approve a Payment

If maker-checker payment flow is enabled, a checker with the appropriate authority must approve the payment by making an approve request before the payment is executed.

POST
/v1/payments/{id}/approve

Authorization

authorization
AuthorizationBearer <token>

Set Your Secret API Key

In: header

Path Parameters

id*string

Header Parameters

Idempotency-Key?string

A unique value, eg. a UUID.

Response Body

*/*

application/json

curl -X POST "https://example.com/v1/payments/string/approve"

The payment after approval. Acme sends it to the bank as part of the approve call, so the status has already moved on and review records who approved it.

{
  "id": "pymt_0J7Q35HK2Q9B6",
  "type": "FAST",
  "amount": 11000,
  "currency": "SGD",
  "customerReference": "INV-2026-0429",
  "senderAccountId": "intacc_0H3BQY9BK1FCG",
  "receiver": {
    "name": "Chan Tai Man",
    "bank": "DBSSSGSGXXX",
    "bankAccountNumber": "123456789"
  },
  "paymentDetails": "Invoice payment",
  "currencyExchange": {
    "fxContractId": null
  },
  "senderAccountCurrency": "SGD",
  "status": "SUBMITTED",
  "resultCode": null,
  "bankReference": null,
  "bankReferences": {},
  "createdAt": "2026-09-01T03:41:26.929745Z",
  "updatedAt": "2026-09-01T04:12:54.882011Z",
  "review": {
    "requestedBy": "ak_maker_team_a",
    "approvedAt": "2026-09-01T04:12:54.882011Z",
    "approvedBy": "ak_checker_team_a",
    "rejectedAt": null,
    "rejectedBy": null,
    "rejectionReason": null,
    "expiresAt": "2026-09-02T03:41:26.929745Z"
  }
}