Testing

Key scenarios to test

You can test debit order collections and payments with the Postman collection recipes available for download here under the collection Debit Order API.

Please import and review the collections code, supplying the required variables. You can then try out the requests in this guide.

Mock bank simulation

Revio's mock-bank infrastructure allows you to test mandate creation, collections, and payments as if executing them in a live environment. This includes status changes and industry business rules.

📘

Test credentials

Request yours here

Test merchant profile

To create mandates, collections, and payments you will require test merchant profile credentials. The following credentials can be used in the sandbox:

FieldDescriptionNotes
id"24"Unique merchantId for testing in sandbox
instruments"EFTONEDAY",
"EFTTWODAY",
"EFTSAMEDAY",
"DEBICHECK"
Instruments that this merchant profile can use
profileCode"TEST1"Profile code provided by the bank that links credit limits, bank account details and pricing to the merchant
name"TEST MERCHANT 1"Unique name assigned to the merchant - typically business trading name
accountNumber"12345678"Sample account number
branchCode"051001"Merchant branch code
abbreviatedName"TESTMERCH1"Unique name (similar to MID) assigned to the merchant. In production, this will uniquely identify the merchant on the customers bank statement
contactNumber"+27-615333440"Merchant business contact number. Made available to customers in case of disputes
emailAddress"[email protected]"Merchant email address
currency"ZAR"Always ZAR
entryClass"21"Always 21
createdByClient"109"System generated Id

Simulation scenarios

The following scenarios can be tested with the mock-bank interface:

InstrumentScenarios
EFT debit order (single and bulk)Create mandate
Amend mandate
Create collection
DebiCheck (single and bulk)Create mandate (TT1/TT2)
Amend mandate
Cancel/suspend mandate
Create collection
EFT payments (single and bulk)Create payment
Delete payment

You can force the simulation of collection results as follows:

  • To get a full reject Debicheck response file, provide the account number: '910000001' as one of the account numbers in the transactions.
  • To get a batch rejection Debicheck response file, provide the account number: '910000002' as one of the account numbers in the transactions.
  • To get a dispute file 40 seconds after response file, provide the account number: '210000001' as one of the account numbers in the transactions.
  • To get an accepted file 40 seconds after a pending response file, provide the account number: '110000001' as one of the account numbers in the transactions.
  • To get an unpaid file 40 seconds after a pending response file, provide the account number: '110000002' as one of the account numbers in the transactions.
  • To get an accepted file with a Bankserv settlement date 3 days from today 40 seconds after a pending response file, provide the account number: '110000003' as one of the account numbers in the transactions.
  • To get an unpaid file with a Bankserv settlement date 3 days from today 40 seconds after a pending response file, provide the account number: '110000004' as one of the account numbers in the transactions.
  • To get an accepted file with a Bankserv settlement date 5 days from today 40 seconds after a pending response file, provide the account number: '110000005' as one of the account numbers in the transactions.
  • To get an unpaid file with a Bankserv settlement date 5 days from today 40 seconds after a pending response file, provide the account number: '110000006' as one of the account numbers in the transactions.
  • All other account numbers will result in accepted responses.

See the Mandate management section for DebiCheck mandate creation test cases.

Debicheck gotcha's

Once implemented, Debicheck has been proven to increase payment success rates. Here are a couple of gotchas to consider when implementing Debicheck:

CategoryGuideline
Client referencesMake sure you have a customer contract reference (14 char) for each mandate, this appears with your abbreviated name on their statement (e.g. MYBRAND 1234567890).
TimingHave a plan for dealing with authentication outside of business hours by, for example, switching to TT2 delayed.
Managing failuresHave a plan for how to deal with authentication delivery failure (retry) - avoid setting a maximum retry count unless you want to limit cost.
Have a plan for how to deal with customers who ignore mandate approvals (follow-up)
Mandate rulesBe sure of whether you need fixed, variable, and usage-based mandates.
Be sure of your amount or rate adjustments (if you plan to use those).
Be sure of your max amount requirement and present collections less than this amount.
CollectionsMake sure you present collections for the collection day in the period, e.g. 1st monthly = 2023/09/01 - do not account for public holidays or Sundays (or use date_adjustable).
Make sure you only attempt to collect on authenticated mandates.
Make sure you present collections to revio at least two calendar days before the collection day.
Make sure you allocate enough tracking on a mandate to support how you plan to track a collection (max ten days)
Remember, you can continue to collect on an old mandate while you wait for acceptance of a replacement one.
Mandate managementUnless you can handle all the amendment scenario complexity, avoid amending mandates and instead issue new ones.
Abbreviated namesIf leveraging Revios banking relationship (TPPP model), be sure to specify the ultimate creditor data to have your creditor data appear on a mandate authentication.

What’s Next