Last updated

Inbound PayShap Negative Outcomes

As shown in the message flows on the success page, you will always receive a PaymentStatusReport from Electrum at the conclusion of a clearing transaction.

In the case of negative or failed transactions, the PaymentStatusReport will contain a reason code and message detailing the reason for the error. This page provides an overview of common reason codes you may encounter.

Note

Messages between BankservAfrica and Electrum fall under a different API and may contain different reason codes, or reason code meanings, to what you would see in the PaymentStatusReport that Electrum sends you.

Electrum maps the BankservAfrica reason codes to Electrum’s before sending the final message to you.

You can search for and investigate specific failed messages from the Electrum Console or Kibana dashboards.

The sections below describe in more detail the error scenarios you might encounter during an inbound PayShap transaction during the proxy resolution, request-to-pay, or clearing phases.

Proxy Resolution Negative Flows

No Response from Bank

Note

The scenario below may be applicable if you do not use the Electrum Account Mirror.

inbound payshap proxy res no response from bank

If Electrum does not receive a response to an inboundIdentifierDeterminationRequest message then a timeout will occur at Electrum. Electrum will send a negative proxyResolutionResponse message with a status code of AB01 to BankservAfrica. The payer will be informed of the failed transaction. No further message processing is required.

Functional or System Error at Bank

Note

The scenario below may be applicable if you do not use the Electrum Account Mirror.

inbound payshap proxy res error at bank

If a functional or system error occurs on your system, then you will return a negative inboundIdentifierDeterminationResponse to Electrum with the relevant reason code (see this page. Electrum sends a negative proxyResolutionResponse message with the BankservAfrica error code to BankservAfrica. The payer will be informed of the failed transaction. No further message processing is required.

Functional or System Error at Electrum

If a functional or system error occurs at Electrum either before or after processing the proxy resolution step with you, then Electrum will return a negative proxyResolutionResponse to BankservAfrica with the relevant error code. The payer will be informed of the failed transaction. No further message processing is required.

If a functional or system error occurs at Electrum while Electrum is processing the proxy resolution request using the Account Mirror (i.e., without your involvement), then Electrum will simply reject the request back to BankservAfrica. You will not receive a message from Electrum informing you of the proxy resolution attempt.

inbound payshap proxy res error at electrum

Request-To-Pay Negative Flows

No Status Report from BankservAfrica

If Electrum does not receive a response from BankservAfrica within the timeout period, then Electrum initiates statusReportRequest messages to query the status of the RTP. Electrum continues to send statusReportRequest messages until BankservAfrica returns a response containing a relevant RTP status code.

If the statusReport contains a status code RJCT, then it means the RTP was rejected. Electrum then sends an outboundRequestToPayResponse to you, with the RJCT status code, and the payee is informed of the failed RTP. The outboundRequestToPayResponse is also forwarded to the Electrum RTP Store and the RTP status is updated to REJECTED in the store. If the RTP was accepted, then the clearing leg of the transaction will be initiated.

inbound payshap rtp no status report from bank

BankservAfrica Cancels the RTP

BankservAfrica responds to a creditorPaymentActivationRequest with a statusReport including a status of RJCT and a status reason code ofAB01 to cancel the RTP, then Electrum sends an outboundRequestToPayResponse with a REJECTED status to you. The outboundRequestToPayResponse is also sent to the Electrum RTP Store to update the status of the RTP to REJECTED.

inbound payshap rtp bsa cancels rtp

Timeout at Bank

If Electrum does not receive an HTTP acknowledgement from you in response to an outboundRequestToPayResponse, then Electrum will send the outboundRequestToPayResponse to you up to 3 times (i.e., 2 retries), or until you return an HTTP 202 response, before stopping.

Since you essentially have not received an outboundRequestToPayResponse from Electrum within a set period, a timeout occurs at your end. You may send status requests via a getRequestToPayWithPOST message (RequestToPayStatusRequest schema) to the Electrum RTP Store after the timeout and receive a RequestToPayStatusResponse with the latest RTP status.

inbound payshap rtp timeout at bank

Error at Bank

If a system error or failure occurs on your system after receiving an outboundRequestToPayResponse from Electrum, then you return a negative acknowledgement (NACK) to Electrum. Electrum will send the outboundRequestToPayResponse 3 times (i.e., 2 retries) or until you return an HTTP 202 response, before stopping.

Since you essentially have not received an outboundRequestToPayResponse from Electrum within a set period, a timeout occurs at your end. You may send status requests via a getRequestToPayWithPOST message (RequestToPayStatusRequest schema) to the Electrum RTP Store after the timeout and receive a RequestToPayStatusResponse with the latest RTP status.

inbound payshap rtp error at bank

RTP Expires in RTP Store

If no clearing transaction is received from industry and the RTP reaches expiration, the RTP Store will update the RTP status to EXPIRED. The Electrum RTP Store forwards an outboundRequestToPayResponse to you to inform you of the RTP expiration.

Clearing Negative Flows

RTP-based Transactions

If the inbound payment was based on an outbound request-to-pay then it is assumed that the RTP status must be updated in the RTP Store where applicable during the full transaction flow.

Failed Account Validation at Bank

If a functional or system error occurs in your system while attempting to validate the beneficiary’s account, then you will return a negative creditTransferAuthorisationResponse to Electrum with the relevant error code. Electrum will send a negative paymentStatusReport to BankservAfrica, meaning that clearing will not happen.

inbound payshap clearing failed acc val

No Response to Credit Transfer Authorisation Request

If Electrum does not receive an HTTP acknowledgement from you in response to an inboundCreditTransferAuthorisation, then Electrum will send a negative PaymentStatusReport to you, which will inform you of the need to cancel the payment in your records.

inbound payshap clearing no response to credittransferauth

Cancelled Payment

If BankservAfrica cancels the transaction, then Electrum will receive a paymentCancellation message with the reason for the cancellation. Electrum sends a negative inboundCreditTransferCompletion message to you.

BankservAfrica could cancel the transaction for the following reasons:

  • BankservAfrica did not receive a paymentStatusReport from Electrum and timed out.
  • BankservAfrica did receive the paymentStatusReport from Electrum, but experienced internal issues and could not complete the payment.

inbound payshap clearing cancelled payment

No Acknowledgment of Payment Status Report from BankservAfrica

If Electrum does not receive an acknowledgement (ACK, HTTP 202) or negative acknowledgement (NACK, HTTP 5xx or retryable HTTP 4xx) from BankservAfrica in response to a paymentStatusReport, then Electrum will retry the message.

If Electrum still does not receive an HTTP response within a specified period, then Electrum will send paymentStatusRequests indefinitely until BankservAfrica responds with a deliveryStatusReport or a paymentCancellation to confirm the final status of the transaction. Depending on whether BankservAfrica’s response is positive or negative, Electrum will send either a positive or negative inboundCreditTransferCompletion to you.

Note: If Electrum does not receive a response from BankservAfrica after multiple paymentStatusRequest messages and a transaction is stuck in a pending state, then alerts will be raised internally for manual investigation. However, Electrum will continue to send paymentStatusRequest messages until BankservAfrica returns a response.

inbound payshap clearing no http from bsa

No Delivery Report from BankservAfrica

If Electrum does not receive a deliveryStatusReport or paymentCancellation within a certain period after sending a paymentStatusReport to BankservAfrica, then Electrum sends a paymentStatusRequest to BankservAfrica to determine the outcome of the payment.

Electrum will continue sending the paymentStatusRequest messages indefinitely until BankservAfrica responds with a deliveryStatusReport or a paymentCancellation to confirm the final status of the transaction. Depending on whether BankservAfrica’s response is positive or negative, Electrum will send either a positive or negative inboundCreditTransferCompletion to you.

Note: If Electrum does not receive a response from BankservAfrica after multiple paymentStatusRequest messages and a transaction is stuck in a pending state, then alerts will be raised internally for manual investigation. However, Electrum will continue to send the paymentStatusRequest until BankservAfrica returns a response.

inbound payshap clearing no delivery report

No Response from Bank after Credit Transfer Completion

If Electrum does not receive an acknowledgement (ACK, HTTP 2xx) or negative acknowledgement (NACK, HTTP 5xx or retryable 4xx) from you in response to an inboundCreditTransferCompletion, then Electrum will continue to send the message to you via a store-and-forward (SAF) queue. If there is still no response, and the message is stuck in the SAF queue, then alerts will be raised internally for manual investigation.

Negative Acknowledgement from Bank after Credit Transfer Completion

If Electrum receives a negative acknowledgement (NACK, HTTP 5xx or retryable 4xx) in response to an inboundCreditTransferCompletion, then Electrum will continue to send the message to you via a store-and-forward (SAF) queue. If there is still no response, and the message is stuck in the SAF queue, or if a non-retryable HTTP 4xx response is received, then alerts will be raised internally for manual investigation.