Payments & Fund TransfersPaymentsActions for Maker-Checker

Reject a Payment

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

POST
/v1/payments/{id}/reject

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.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

rejectionReason*string

Reason provided by the checker for the rejection.

Length1 <= length

Response Body

*/*

application/json

application/json

curl -X POST "https://example.com/v1/payments/string/reject" \
  -H "Content-Type: application/json" \
  -d '{
    "rejectionReason": "string"
  }'

The payment after rejection. It ends in APPROVAL_REJECTED and review records who rejected it and why.

{
  "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": "APPROVAL_REJECTED",
  "resultCode": null,
  "bankReference": null,
  "bankReferences": {},
  "createdAt": "2026-09-01T03:41:26.929745Z",
  "updatedAt": "2026-09-01T04:30:12.231019Z",
  "review": {
    "requestedBy": "ak_maker_team_a",
    "approvedAt": null,
    "approvedBy": null,
    "rejectedAt": "2026-09-01T04:30:12.231019Z",
    "rejectedBy": "ak_checker_team_a",
    "rejectionReason": "Beneficiary not on the approved vendor list",
    "expiresAt": "2026-09-02T03:41:26.929745Z"
  }
}