Skip to main content

Repeat Handling

How It Works

In the event the Sender fails to receive a response from RPP, the transaction status may fall into the state of unknown. In such scenario, the Sender could resend the request, but it may cause a duplicate posting as the original request could have been processed successfully in RPP

To mitigate such situation, RPP introduces a repeat request feature to support the Sender to resend the original request but indicating the request could be a retry attempt. This helps RPP to filter our any possible duplicate attempt. However, such feature should only be used during exceptional scenario and shall not be used as a default option to all requests

In the API Business Application Header, <PssblDplct > shall be set to true to indicate the request is a retry (REPEAT) attempt to prevent duplicate payment. Though, not all APIs are supporting this retry feature. User shall refer to the respective API specification for more information

How to handle REPEAT request

There could be many business scenarios but below are some of it:

  • Currently, in the event of transaction timeout, participant needs to resend the payment request with a repeat flag indicator. If the transaction is found, RPP will respond with the original status. However, if the original transaction did not reach RPP, RPP will not respond to the request and the message will be dropped. Due to this, participant will not be able to know the status of the transaction
  • For transactions that require longer turnaround time for a user to complete the payment. During the wait time, participant will not be aware if the request has been timeout, aborted or still in progress
  • For time-sensitive transaction, the payment request needs to be confirmed within seconds. In such case, participant may initiate an enquiry to determine the status immediately

Exception Flows

RPP Failed to Receive Request from OFI

An image from the static

ConditionActionsAlternatives
OFI sent a request to RPP. However, RPP did not receive the request

As no response is received from RPP after x period of time, OFI eventually timeout
RPP shall:
  • Timeout
  • Return a NEGATIVE response with timeout reason

RPP shall:
  • Display an appropriate error message to the Customer
  • Stop processing
  • Initiate a Transaction Enquiry separately to confirm on the payment status
If retry is configured, OFI shall:
  • If retry count has not exceeded the maximum number of retries
    • Send a repeat request
    • Continue processing
  • If retry count has exceeded the maximum number of retries
    • Display an ACCEPTED status message to Customer
    • Stop processing
    • Confirm the payment manually via Back Office portal

OFI Failed to Receive Response from RPP

An image from the static

ConditionActionsAlternatives
OFI sent a request to RPP. However, RPP did not receive the request

As no response is received from RPP after x period of time, OFI eventually timeout
RPP shall:
  • Timeout
  • Return a NEGATIVE response with timeout reason

RPP shall:
  • Display an appropriate error message to the Customer
  • Stop processing
  • Initiate a Transaction Enquiry separately to confirm on the payment status
If retry is configured, OFI shall:
  • If retry count has not exceeded the maximum number of retries
    • Send a repeat request
    • Continue processing
  • If retry count has exceeded the maximum number of retries
    • Display an ACCEPTED status message to Customer
    • Stop processing
    • Confirm the payment manually via Back Office portal

OFI Timeout due to Longer Processing Time at RFI

An image from the static

ConditionActionsAlternatives
OFI sent a request to RPP. However, RPP did not receive the request

As no response is received from RPP after x period of time, OFI eventually timeout
RPP shall:
  • Timeout
  • Return a NEGATIVE response with timeout reason

RPP shall:
  • Display an appropriate error message to the Customer
  • Stop processing
  • Initiate a Transaction Enquiry separately to confirm on the payment status
If retry is configured, OFI shall:
  • If retry count has not exceeded the maximum number of retries
    • Send a repeat request
    • Continue processing
  • If retry count has exceeded the maximum number of retries
    • Display an ACCEPTED status message to Customer
    • Stop processing
    • Confirm the payment manually via Back Office portal

OFI Timeout while Response from RPP is in Transit to OFI

An image from the static

ConditionActionsAlternatives
OFI sent a request to RPP. However, RPP did not receive the request

As no response is received from RPP after x period of time, OFI eventually timeout
RPP shall:
  • Timeout
  • Return a NEGATIVE response with timeout reason

RPP shall:
  • Display an appropriate error message to the Customer
  • Stop processing
  • Initiate a Transaction Enquiry separately to confirm on the payment status
If retry is configured, OFI shall:
  • If retry count has not exceeded the maximum number of retries
    • Send a repeat request
    • Continue processing
  • If retry count has exceeded the maximum number of retries
    • Display an ACCEPTED status message to Customer
    • Stop processing
    • Confirm the payment manually via Back Office portal