Last updated

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.

Important

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

or,

  • Account details
    • Debtor account number: debtorAccount.identification.value

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

Note

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.value and debtorAccount.proxy.namespace fields 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 be PAID.  
  • 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.