Last updated

Test: Request-To-Pay Refunds

To verify that you have implemented the RTP refund functionality successfully, you will need to show that:

  • You can correctly initiate an outbound RTP refund.
  • You can receive the clearing outcome (refund success or failure).

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

Even though you may have tested your ability to perform an outbound RTP previously (when implementing your RTP solution), the first step of this testing procedure will require that you perform a successful test outbound RTP. This is because all RTP refunds must be based on a successful RTP transaction. The test case RTP response will also contain specific data, as returned in the RTP test case response, that you may need to populate the refund request in certain test scenarios.

If you are implementing RTP and RTP refunds at the same time: you must first complete successful testing of your RTP integration before moving on to test your RTP refund integration.

Populating Message Fields

Populate the fields of the RTP request exactly as indicated in the test pack. The response message you receive will provide data that you will need to populate the refund request.

For each subsequent refund test scenario populate the originalTransactionIdentifiers.uetr field with the original RTP UETR value. Depending on the scenario you may also need to populate other fields. 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 request message to the Electrum development environment endpoint.
    • After the full RTP and clearing flows are complete, you will receive an RTP response indicating that the RTP was successful and that the status has been updated to PAID.
    • Use the information returned in this RTP success response message to send the RTP refund request message to the Electrum development environment endpoint. Populate the originalTransactionIdentifiers.uetr message field and any other fields as indicated in the test pack.
    • You will receive a response from the EPC Testing Platform regarding the outcome of the refund. The test pack specifies the expected outcome for each transaction - whether it was successful or unsuccessful, and what types of messages are returned.  
  • 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.