Sender testing

RippleNet members that send payments conduct “sender tests” by connecting to a Test Harness environment that simulates a payment receiver or clearing partner.

Payment senders can validate payments against (real) RPO schemas of their RippleNet partners. The Test Harness responds to API requests that flow inbound and you can configure it to automatically lock quotes and complete valid payments (the default).

Payment senders send test payments to a mock receiver Sending Test Harness Architecture

Passive mode

Upload RPO schema

The RippleNet Test Harness lets you validate a Ripple Payment Object (RPO) based on the schema of your clearing partner. Select an RPO schema from Available Schemas drop down menu, or select “none” for no validation.

For information on how to validate payments against an RPO schema, see Exception handling.

Upload your clearing partner’s RPO schema to the receiving Test Harness and select Upload RPO Schema to Test Harness

Auto lock & complete

You can configure the receiving Test Harness to lock and complete payments automatically (default behavior).

Auto Lock Accepted Payment

Automatic locking on

The receiving Test Harness polls for payments in the ACCEPTED state by calling the Get payments operation, then validates the structure of the payment's user_info.

RippleNet Server automatically locks payments after the quote is accepted by the payment sender. The payment sender uses the locked payment object to settle the payment. If disabled, you must manually lock payments through integration software.

Turning off automatic locking is useful for testing payment expiration scenarios.

Automatic completion on

The receiving Test Harness polls for payments in the EXECUTED state by calling the Get payments operation, then distributes the funds to the beneficiary before completing the payment.

RippleNet Server automatically completes payments after the payment is settled by the payment sender. If disabled, you must manually complete payments through integration software.

The EXECUTED state represents a settled payment and means that funds have moved from a "hold" account to a "receiver" account on all ledgers. Completing a payment puts it into a COMPLETED state and means that the payment receiver has distributed funds to the final destination.


The log feature includes a timestamp for each event on the payment’s inbound flow to the receiving Test Harness and a brief description of the activity.

If the payment object fails validation based on the schema selected, the failure and the failure reason is shown in the log messages.

Active mode

Payment sending institutions must upload a "sender tests" profile and a partner RPO. When sending payments from the RippleNet Server UI or your own payment application, you must define the test case ID with the prefix TCID- in the payment's user_info, for example:

{"TxId": "TCID-1.07"}

The transaction ID code here, "TxID" is irrelevant, what matters is the test case ID string.

For details, see Run active mode sender tests.