We've Launched a New Documentation Website (Beta Launch)
The documentation for DuitNow is now available on our newly launched documentation platform. This is an initial beta rollout of our new documentation site, designed to become the long-term home for all documentation moving forward.
You'll find the familiar content you're used to—now hosted on a new platform that will progressively receive updates and enhancements.
We encourage you to start accessing DuitNow materials there to explore the new experience and ensure you're viewing the latest documentation updates. If you have any feedback, please reach out to us.
Visit the New Documentation WebsiteInitiate DuitNow AutoDebit
Upon the payment method (DuitNow Consent) has authorized, DuitNow AutoDebit allows acquirer to facilitates recurring payments, such as utility bills, insurance premiums and subscription fees. It allows businesses to automatically debit funds from payer’s bank accounts on a regular or ad hoc on demand basis without requiring manual intervention for each transaction.
Process Flow

| Step | Sender | Receiver | Process |
|---|---|---|---|
| 1 | Acquirer | API Gateway | With the consentId that sent from the saved consent flow, acquirer can direct trigger AutoDebit payment by using the consentId. |
| 2 | API Gateway | Acquirer | API Gateway will process the transaction with the response that travel back to the acquirer. |
Request
POST /v1/bw/autodebit
| checkoutId | String | Max length: 36 | Required | |||
| The unique external identifier (uuid v4) provided by the acquirer to PayNet when initiating a payment intent. | ||||||
| consentId | String | Max length: 35 | Required | |||
| Consent that is authorized for AutoDebit payment. It can be retrieved from response of payment method details enquiry. | ||||||
| amount | String | Max length: 18 | Required | |||
| Payment amount in two decimals. eg: 10.00 | ||||||
| merchantReferenceId | String | Max length: 140 | Required | |||
| Payment reference to the recipient. | ||||||
Sample Request:
{
"checkoutId": "a7e2ed2a-b088-4495-8cf4-88da08f644f2",
"consentId": "M00002010012700006",
"amount": "10.00",
"merchantReferenceId": "REF0001234556"
}
Response
Data Object | ||||||
| messageId | String | Max length: 35 | Required | |||
| Unique message identification from RPP. This can be used to reconcile with RPP BackOffice or Reports. | ||||||
| issuer | String | Max length: 100 | Required | |||
| Name of payer’s issuing bank / wallet. | ||||||
End Data Object | ||||||
| message | String | Max length: 1024 | Required | |||
| Please refer to the list of reason codes or error message. | ||||||
Sample Response:
{
"data": {
"messageId": "20240117M0000201220OBW00000025",
"issuer": "Affin Bank"
},
"message": "U000"
}