Test: Request-To-Pay
In order to ensure that you have implemented the functionality to request a payment correctly, you must be able to show that all the API operations implemented return the expected responses depending on the scenario (for example, the correct error response is returned in the case of an error scenario).
Electrum provides a downloadable test pack with step-by-step instructions for performing each test, message flow diagrams, and a list of the expected outcomes for each test. There is space on the spreadsheet where you can record your test outcomes and any other comments or observations.
The testing procedure is shown below.
You must populate debtor proxy OR account details of the following fields of the RTP request as indicated in the test pack.
- Proxy details
- Debtor proxy:
debtorAccount.proxy.value - Debtor domain:
debtorAccount.proxy.namespace
- Debtor proxy:
or,
- Account details
- Debtor account number:
debtorAccount.identification.value
- Debtor account number:
The input values will identify which test scenario you wish to initiate (e.g., a successful or failed transaction) and thus inform the testing platform about which scenario to simulate.
Step 1: Download the Conformance Test Pack
Download the conformance test pack. The RTP test pack can be found here.
Step 2: Perform the API Integration Tests
Contact Electrum if you have not yet received the development environment endpoint that you will need in order to carry out testing.
- Carry out each test case as specified in the test pack. The test pack will contain all requirements and information about which API calls to use and how to populate your message.
- Initiate the test with the EPC Testing Platform: send the RTP API request message to the Electrum development environment endpoint. Populate the
debtorAccount.proxy.valueanddebtorAccount.proxy.namespacefields as indicated in the test pack. - You will receive a response from the EPC Testing Platform. The test pack specifies the expected outcome for each transaction - whether it was successful or unsuccessful, and what types of messages are returned. You can also query the status of your request-to-pay to confirm the outcome of each test, by using the Get RTP details call. Note: once the transaction has been marked as
APPROVED, the RTP status returned will bePAID.
- Initiate the test with the EPC Testing Platform: send the RTP API request message to the Electrum development environment endpoint. Populate the
- Record the outcome of each test in the space provided.
- Use the Pass/Fail column to record whether the expected outcome was achieved in each case. (Note: if you are testing a failure scenario, and the system correctly sends the expected error messages, then the test itself is a success and it is a Pass.)
- Make note of any interesting or relevant observations in the Comments/Notes column.
- Make special note of any specific problems or issues you experienced during testing in the Issue Log columns.
- Include any raw test data in the test pack spreadsheet.
Step 3: Send Proof of Testing to Electrum
Once you have completed all necessary tests, email your completed test pack to Electrum.
Step 4: Ecosystem (Pre-Production) Testing
Once you have successfully completed conformance testing, you can move onto ecosystem, or pre-production, testing. This involves full end-to-end testing between all participants including yourself, Electrum, the sponsor bank, and BankservAfrica in a pre-production environment.
Download the ecosystem/pre-production test pack here.
Carry out testing as described in steps 2 and 3 above. Send request messages to the Electrum pre-production enviroment using the endpoint that Electrum has supplied you with.