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:
Field | Description | Notes |
---|---|---|
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:
Instrument | Scenarios |
---|---|
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:
Category | Guideline |
---|---|
Client references | Make 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). |
Timing | Have a plan for dealing with authentication outside of business hours by, for example, switching to TT2 delayed. |
Managing failures | Have 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 rules | Be 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. | |
Collections | Make 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 management | Unless you can handle all the amendment scenario complexity, avoid amending mandates and instead issue new ones. |
Abbreviated names | If leveraging Revios banking relationship (TPPP model), be sure to specify the ultimate creditor data to have your creditor data appear on a mandate authentication. |
Updated 11 months ago