Skip to main content

Integration

The DuitNow Online Banking/Wallets API enables seamless integration, allowing merchants to accept payments from customers using their preferred bank or wallet through DuitNow Pay. This API is essential for Issuers and Acquirers, ensuring smooth payment processing and linking merchants with a wide range of financial institutions and digital wallets.

The diagram below provides a detailed overview of the DuitNow Online Banking/Wallets process.

Successful Redirect - Request List of Banks Flow (Steps 1-8)

StepSenderReceiverProcess
1CustomerMerchant/BillerCustomer initiates payment via Merchant/Biller Portal.
2Merchant/BillerMerchant Acquirer/System Integrator
Merchant/Biller performs the following:
  • Submit request for list of banks
3Merchant Acquirer/System IntegratorDuitNow Pay
Merchant Acquirer/System Integrator performs the following:
  • Submit request for list of banks
4DuitNow PayRPP
DuitNow Pay performs the following:
  • Submit request for list of banks
Note:
  • Transaction Type: 650
5RPPDuitNow Pay
RPP performs the following:
  • Message Logging
  • Message Validation
  • Message Format Validation
  • Digital Signature Verification
If any Message Validation fails, RPP will:
  • Send a REJECT response to DuitNow Pay
If all validations are successful, RPP Back Office will:
  • Send List of Banks response to DuitNow Pay
Note:
  • Transaction Type: 650
6DuitNow PayMerchant Acquirer/System Integrator
If any Message Validation fails, DuitNow Pay will:
  • Send a REJECT response to Merchant Acquirer/System Integrator
If all validations are successful, DuitNow Pay will:
  • Send List of Banks response to Merchant Acquirer/System Integrator
7Merchant Acquirer/System IntegratorMerchant/Biller
Merchant Acquirer/System Integrator will:
  • Send List of Banks response to Merchant/Biller
8Merchant/BillerCustomer
Merchant/Biller performs the following:
  • For SUCCESSFUL List of Banks response received, display List of Banks
  • For UNSUCCESSFUL List of Banks response received, display an error message on the customer screen

Successful Redirect – Request-to-Pay Flow (Steps 9-19)

StepSenderReceiverProcess
9CustomerMerchant/BillerCustomer confirms payment option and initiates One Time Payment via DuitNow Pay.
10Merchant/BillerMerchant Acquirer/System Integrator
Merchant/Biller will perform the following:
  • Validate One Time Payment request
  • Send One Time Payment request to Merchant Acquirer/System Integrator
11Merchant Acquirer/System IntegratorDuitNow Pay
Merchant Acquirer/System Integrator performs the following:
  • Validate One Time Payment request
  • Send One Time Payment request to DuitNow Pay
12DuitNow PayRPP
DuitNow Pay will perform the following:
  • Authorize and validate One Time Payment request
  • Send One Time Payment request to RPP
  • Start timer
Note:
  • Transaction Type: 861
13RPPDuitNow Pay
RPP performs the following:
  • Message Logging
  • Message Validation
  • Message Format Validation
  • Digital Signature Validation
  • Business Validation
  • Timeout Validation
  • Payment Validation Check
  • Date Expiry Check
  • Merchant ID Validation
  • Merchant Product ID Validation
If any Message Validation fails, RPP will:
  • Send a REJECT response to DuitNow Pay
If any Business Validation fails, RPP will:
  • Send a NEGATIVE response to DuitNow Pay
If all validations are successful, RPP will:
  • Lookup and populate Acquirer Account ID and Acquirer based on Merchant ID and Merchant Product ID
  • Generate Signature with End-to-End ID
  • Store Transaction Information in Request-to-Pay Staging Table
  • Send an ACCEPTED response back to DuitNow Pay with End-to-End ID and Signature
Note:
  • Timeout is set at 20 seconds
  • Transaction Type: 861
14DuitNow PayMerchant Acquirer/System Integrator
If any validation fails, DuitNow Pay will:
  • Send a REJECT response to Merchant Acquirer/System Integrator
If all validations are successful, DuitNow Pay will:
  • Generate Signature with End-to-End ID
  • Send an ACCEPTED response back to Merchant Acquirer/System Integrator with End-to-End ID and Signature
15Merchant Acquirer/System IntegratorMerchant/Biller
If any validation fails, Merchant Acquirer/System Integrator will:
  • Send a REJECT response to Merchant/Biller
If all validations are successful, Merchant Acquirer/System Integrator will:
  • Send an ACCEPTED response back to Merchant/Biller with End-to-End ID and Signature
16DuitNow PayMerchant Acquirer/System Integrator
DuitNow Pay will be sending the checkout details back to Merchant Acquirer/System Integrator via webhook.
17Merchant Acquirer/System IntegratorMerchant/Biller
Merchant Acquirer/System Integrator will be sending the checkout details back to Merchant/Biller.
18Merchant Acquirer/System IntegratorDuitNow Pay
Acquirer shall provide an acknowledgment back to DuitNow Pay.
19Merchant/BillerIssuer
Merchant/Biller will redirect Customer to selected bank along with Signature and End-to-End ID to Issuer.

Successful Redirect – Retrieve Transaction Info Flow (Steps 20-23)

StepSenderReceiverProcess
20IssuerRPP
Issuer performs the following:
  • Validate Signature sent by Merchant/Biller
  • Send Retrieve Transaction Info Request based on End-to-End ID
  • Start Timer
Note:
  • Transaction Type: 862
21RPPIssuer
RPP performs the following:
  • Message Logging
  • Message Validation
  • Message Format Validation
  • Digital Signature Validation
  • Business Validation
  • Timeout Validation
  • Payment Validation Check
  • Check Request-to-Pay Staging Status
If any Message Validation fails, RPP will:
  • Send a REJECT response to Issuer
If any Business Validation fails, RPP will:
  • Send a NEGATIVE response to Issuer
If all validations are successful, RPP will:
  • Lookup Transaction Info based on End-to-End ID from Staging Table
  • Return Retrieve Transaction Info Response
Note:
  • Transaction Type: 862
22CustomerIssuerCustomer logs into Mobile/Internet Banking portal of Issuer
23IssuerCustomer
Issuer performs the following:
  • Perform Login Validation
If validation fails, Issuer will:
  • Display error code to Customer
  • Send cancel Request-to-Pay to RPP
If validation is successful, Issuer will:
  • Display Transaction Information to Customer

Successful Redirect – Update Payment Status Flow (Steps 24-31)

This is an optional step for scenarios where the Request-to-Pay status needs to be updated either to (a) Rejected, where Issuer has to reject the redirect due to failed login or cancelled payments, or to (b) Pending Authorisation for two-level Authentication.  

StepSenderReceiverProcess
24CustomerIssuer
Customer performs the following:
  • Confirm Transaction Information
  • Request update transaction status to Pending Authorisation for two-level authentication.  
25IssuerRPP
Issuer performs the following:
  • Validate Customer Response
  • Any other validation
  • Send update payment status request to RPP
  • Start timer
Note:
  • Transaction Type: 863
26RPPIssuer
RPP performs the following:
  • Message Logging
  • Message Validation
  • Message Format Validation
  • Digital Signature Validation
  • Business Validation
  • Timeout Validation
  • Payment Validation Check
  • Check Request-to-Pay Staging Status
If any Message Validation fails, RPP will:
  • Send a REJECT response to Issuer
If any Business Validation fails, RPP will:
  • Send a NEGATIVE response to Issuer
If all validations are successful, RPP will:
  • Update Request-to-Pay Staging table status to:
    • ‘PDAU’ (Pending Authorisation) OR
    • ‘RJCT’ (Rejected)
  • Return Transaction Status Response
Note:
  • Transaction Type: 863
27RPPDuitNow Pay
RPP performs the following:
Notify Merchant of Update Payment Status via DuitNow Pay
28DuitNow PayMerchant Acquirer/System IntegratorPayment status will be parsed to Merchant Acquirer/System Integrator as part of the webhook.
29Merchant Acquirer/System IntegratorMerchant/BillerPayment status will be parsed to Merchant/Biller as part of the webhook.
30Merchant/BillerMerchant Acquirer/System IntegratorMerchant/Biller shall provide an acknowledgment back to Merchant Acquirer/System Integrator.
31Merchant Acquirer/System IntegratorDuitNow PayMerchant Acquirer/System Integrator shall provide an acknowledgment back to DuitNow Pay.

Successful Redirect – Credit Transfer Flow (Steps 24-34)

StepSenderReceiverProcess
24CustomerIssuer
Customer performs the following:
  • Confirm Transaction Information
25IssuerRPP
Debiting Agent performs the following :
  • Validate Customer Response
  • Expiry of RTP Request (861) receive during Retrieve Transaction Information (862)
  • Any other validation
  • Debit customer
  • Send update payment status request to RPP
  • Start timer
Note:
  • Transaction Type: 070
26RPPIssuer
RPP performs the following:
  • Message Logging
  • Message Validation
  • Message Format Validation
  • Digital Signature Validation
  • Business Validation
  • Timeout Validation
  • Payment Validation Check
  • Check Request-to-Pay Staging Status
  • Minimum Amount Check
  • Maximum Amount Check
If any Message Validation fails, RPP will:
  • Send a REJECT response to Debiting Agent
If any Business Validation fails, RPP will:
  • Send a NEGATIVEresponse to Debiting Agent
If all validations are successful, RPP will:
  • Update liquidity positions of both Crediting Agent and Debiting Agent
  • Update settlement totals
  • Update Request-to-Pay Staging table status to ‘SUCC’ (Successful)
  • Return Payment Status Response with Merchant Redirect URL/App ID
  • Encrypts Debtor Account with Business Message ID
  • Submits Credit Transfer Request to SAF
Note:
  • Timeout is set at 20 seconds
  • Transaction Type: 070
27RPPDuitNow Pay
RPP performs the following:
Notify Merchant of Update Payment Status via DuitNow Pay
28DuitNow PayMerchant Acquirer/System IntegratorPayment status will be parsed to Merchant Acquirer/System Integrator as part of the webhook.
29Merchant Acquirer/System IntegratorMerchant/BillerPayment status will be parsed to Merchant/Biller as part of the webhook.
30Merchant/BillerMerchant Acquirer/System IntegratorMerchant/Biller shall provide an acknowledgment back to Merchant Acquirer/System Integrator.
31Merchant Acquirer/System IntegratorDuitNow PayMerchant Acquirer/System Integrator shall provide an acknowledgment back to DuitNow Pay.
32RPPAcquirer
RPP performs the following:
  • Check for SAF retry necessity based on the following parameters:-
    • SAF Maximum Distribution Rate (msg/sec) aka TPS
    • SAF Message Response Timer (sec)
    • SAF Message Retry Limit
    • SAF Open Session Limit
    • SAF Timeout Count
    • SAF Pause Period (sec) after consecutive timeouts
  • If retry is required:
    • Send repeat Credit Transfer Request to Acquirer
  • Start timer
Note:
  • SAF will automatically send requests to Acquirer up to the maximum number of retries
  • Once maximum retry has been exceeded with no response, Participant must check the Exceptional SAF Report
Note:
  • Transaction Type: 070
33AcquirerRPP
Acquirer performs the following:
  • Message Validation
  • Message Format Validation
  • Digital Signature Verification
If any Message Validation fails, Acquirer will:
  • Send a REJECT response to RPP
If all validations are successful, Acquirer will:
  • Send a SUCCESSFULresponse to RPP
Note:
  • Transaction Type: 070
34IssuerMerchantIssuer to display the result to customer and redirect customer back to merchant portal.