Skip to main content

RTP Integration Process

No integration changes are required to enable Payshap Request, also known as Request to Pay (RTP). When RTP is enabled for a given bank on your client, it will automatically replace the Instant EFT bank tile for that bank.

Limits

Each bank has different limits and fees that apply to RTP payments made from their accounts. Due to this, if a bank is enabled for RTP on your client, Stitch will only provide RTP as a payment rail if the payment request amount is less than the bank-imposed limit. Instant EFT will be used as a fallback for payments greater than this amount, where possible.

BankMaximum
Absa3,000
African Bank3,000
Capitec500
Discovery Bank50,000
FNB10,000
Investec3,000
Nedbank50,000
Standard Bank3,000

Example GraphQL mutation

As Pay by bank automatically encompasses RTP methods, no changes are required on Pay by bank API requests. Refer to the Pay by bank integration process docs for an overview of the fields in the mutation. An example request is supplied below:

Webhooks

RTP payment requests send webhooks on payment completion, cancellation and expiry. Refer to the Webhook docs for a guide to Stitch's webhook infrastructure, and to the payment Webhook type for details on the webhooks sent for RTP payments.

Refunds

RTP payments follow the same refund process as other payments in the Pay By Bank product suite. Refer to Pay By Bank Refunds for documentation on how to refund payments.

Testing RTP Scenarios

Our sandbox environment allows simulation of specific RTP scenarios that users may experience in production. To simulate these cases, enter one of the following account or mobile numbers when simulating the user journey to surface the corresponding scenario.

ScenarioAccount numberMobile number
Successful MFA and payment9999999990841233210
MFA declined by user9999999900841234567
MFA timed out without approval9999999910841234568
User supplied invalid credentials9999999920841234569
User supplied credentials that are no longer active9999999930841234570