Skip to content

RippleNet Server API (4.0.0)

The RippleNet Server API provides you the ability to develop custom applications to manage or interact with your RippleNet instance.

Check out the best practices and tutorials.

Authentication

All API operations require a bearer access token for your target environment.<br>Learn how to request the access token.

API environments

The RippleNet Server API creates a dynamic [domainPrefix] that consists of {tenant}.{environment}.

Note: This example uses aperture as the tenant. Your tenant ID is different.

EnvironmentDomaing PrefixDomainBase URL
Testaperture.testripplexcurrent.comhttps://aperture.test.ripplexcurrent.com
UATaperture.uatripplexcurrent.comhttps://aperture.uat.ripplexcurrent.com
Productionaperture.prodripplexcurrent.comhttps://aperture.prod.ripplexcurrent.com
Languages
Servers
Mock server

https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/ripplenet/

https://[domainPrefix].ripplexcurrent.com/v4/

Account configuration

Operations

Auditing

Operations

Balances and statements

Operations

Beneficiary confirmation

Operations

Diagnostics

Operations

Exchange transfers

Operations

Fees

Operations

Liquidation configuration

Operations

Non-orchestration payments

Operations

Lock payment

Request

Locks a payment. The beneficiary and all intermediary institutions agree to proceed with the payment by making successful Lock Payment requests. When the payment is still in a partially LOCKED state, the beneficiary and all intermediary institutions who have not locked, can reject lock payment or fail payment.

Once fully LOCKED, the originating institution can either fail payment or Settle payment. If the originating institution sends a Settle payment request, one of three things will happen:

  • Successful payments move to the PREPARED state.
  • Payments with insufficient liquidity automatically move into state SETTLEMENT_DECLINED, or
  • Payments that are not settled before the crypto_transaction_id expires move to the FAILED state.

Note: Currently, when making a Create quote to return payment to a RippleNet Cloud account on a RippleNet ledger, the RippleNet user must lock and complete the payment. This means that the RippleNet user takes all action on the return: Get and Accept Quote, Lock, Settle, and Complete payment.

Security
Bearer
Path
payment_idstring(uuid)required

Unique identifier of the payment to lock.

Bodyapplication/jsonrequired
internal_idstring<= 128 characters

ID that intermediaries and the receiver can set when locking a payment. The ID is viewable only by the node that set it.

user_infoobject

Provide one or more arbitrary key/value pairs. <p></p> <p><b>Caution:</b> Ripple recommends that you always include this object, even when empty, to ensure that the RippleNet Payment Object includes the <code>created_at</code> timestamp, which records when the payment was locked. To add an empty object, include: <code>{"user_info":[]}</code></p>

curl -i -X POST \
  'https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/ripplenet/payments/{payment_id}/lock' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "internal_id": "string",
    "user_info": {}
  }'

Responses

Successfully locked payment.

Bodyapplication/json
payment_idstring(uuid)required

Unique identifier of a payment.

Example: "d485f100-2af7-4e48-9ab1-3c7e28775691"
contract_hashstringrequired

Hash of all values in the Contract object used to ensure immutability. Once a payment transitions to the LOCKED state, the values in this object cannot change.

Example: "ccb23bd87f13cc13b9d616a9723f76e112aeac8628b2082e0f8bf3b8c670b103"
payment_statestringrequired

State of the payment. For details about payment states, see Payment States in the RippleNet Developer Guide.

Enum"ACCEPTED""AWAITING_COLLECTION""COMPLETED""EXECUTED""FAILED""FORWARDED""LOCK_DECLINED""LOCKED""PREPARED""RETURNED"
Example: "COMPLETED"
modified_atstring(date-time)required

Date and time at which the payment was last modified, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
contractobjectrequired

Represents all immutable parts of a payment agreed upon by all participants as a part of the Lock payment flow. Once a payment transitions to the LOCKED state, the values in this object cannot change.

sender_end_to_end_idstring[ 1 .. 128 ] charactersrequired

ID that the sender can specify. Persisted on all RippleNet instances that participate in the payment.

created_atstring(date-time)required

Date and time at which this payment contract was created, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:18:13.665Z"
expires_atstring(date-time)required

Date and time after which this payment contract expires, as an ISO-8601 timestamp in UTC.

Default "300s/300000ms"
Example: "2019-10-01T18:55:22.824Z"
quoteobjectrequired

JSON response object that represents a quote for a proposed payment or return payment.

quote_idstring(uuid)required

Unique identifier for the quote.

Example: "2a547e56-4aac-4375-86a8-8b3e7014801d"
created_atstring(date-time)required

Date and time at which the quote was created, as an ISO-8601 timestamp in UTC.

Example: "2020-01-29T20:59:44.925Z"
expires_atstring(date-time)required

Date and time after which the quote and its pricing expire, as an ISO-8601 timestamp in UTC.

Default "300s/300000ms"
Example: "2020-01-29T21:29:44.925Z"
typestringrequired

Indicates how the amount field should be treated for calculating quote values.

Enum"SENDER_AMOUNT""RECEIVER_AMOUNT""SENDER_INSTITUTION_AMOUNT""RECEIVER_INSTITUTION_AMOUNT""REVERSAL_AMOUNT"
Example: "SENDER_AMOUNT"
price_guaranteestringrequired

Indicates whether a quote's pricing is INDICATIVE or FIRM. An INDICATIVE quote allows for price movements between quote issuance and payment execution, such that the quoted amount and delivered amount may differ. A FIRM quote ensures that the quoted and delivered payment amounts are equal.

Default "FIRM"
Example: "FIRM"
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "sf_gbp@rn.us.ca.san_francisco"
amountstringrequired

Amount to be sent or received, depending on the type value.

Example: "1"
currency_codestringrequired

Currency code for the amount value.

Example: "USD"
currency_code_filterstringrequired

Currency code that can be used to filter quotes at the opposite end of the quote request. For example, you can filter by this currency code to find the receiving currency for a quote with a SENDER_AMOUNT quote_type. If not sent in the request, this field value is set to null.

Example: "EUR"
service_typestringrequired

Returns null.

quote_elementsArray of objectsrequired

Transfer and exchange elements. A transfer element represents a movement of funds between two accounts. An exchange element represents the exchange of currencies between two accounts.

quote_element_idstring(uuid)required

Unique identifier for the quote element.

Example: "259189e7-cb14-42e7-99ef-375f3285e356"
quote_element_typestringrequired

Type of quote element.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>

Enum"TRANSFER""EXCHANGE""EXCHANGE_TRADE""CRYPTO_TRANSFER"
Example: "EXCHANGE"
quote_element_orderstringrequired

Order of each quote element along the liquidity path. If a quote includes five quote elements, each one is enacted according to its quote_element_order number to make the proposed payment.

Example: "1"
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "sf_gbp@rn.us.ca.san_francisco"
sending_amountnumberrequired

Amount the sender is sending.

Example: 1
receiving_amountnumberrequired

Amount the receiver is receiving.

Example: 355
sending_feenumberrequired

Fees the sender is charging. When quote_element_type is set to EXCHANGE, this field value is always set to 0.

Example: 0
receiving_feenumberrequired

Fees the receiver is charging. When quote_element_type is set to EXCHANGE, this field value is always set to 0.

Example: 0
sending_currency_codestring

Currency code of the sending amount. Included in quote elements with quote_element_type set to EXCHANGE.

Example: "USD"
receiving_currency_codestring

Currency code of the receiving amount. Included in quote elements with quote_element_type set to EXCHANGE.

Example: "GBP"
fx_rateobject

The details of an FX Rate for a quote or payment.

transfer_currency_codestring

Currency code of the transfer. Included in quote elements with quote_element_type set to TRANSFER.

liquidity_warningstringrequired

Triggered when a quote causes an account to go below its minimum_allowed_balance. Otherwise, this field value is set to null.

payment_methodstring

Payout method for the quote.

Example: "LOCAL_RAILS"
payment_method_fieldsstring

JSON object containing payment method metadata.

Example: "{\"category_id\":\"bank\",\"required_originator_fields\":[{\"field_name\":\"sender_address\",\"field_label\":\"Sender address\"}]}"
payout_method_infoobject

Details about the payout method.

payout_method_namestring

Payout method for the quote.

Example: "Cash Payout"
payout_method_categorystring

Category of the payout method. Defaults to <code>OTHER</code> if not specified.

Enum"REAL_TIME_GROSS_SETTLEMENT_SYSTEM""REAL_TIME_NET_SETTLEMENT_SYSTEM""MASS_NET_PAYMENT_SYSTEM""BOOK_TRANSFER""CASH_PAYOUT""WALLET_PAYMENT""OTHER"
Example: "BOOK_TRANSFER"
descriptionstring

User defined description of the payout method.

Example: "local rails"
estimated_time_to_creditstring

The estimated time to credit the beneficiary using this payout method.

Example: "3 days"
fee_infoobject

Itemized list of fees charged by each node.

nodesobjectrequired

Fees charged by each node participating in the payment.

property name*Array of objectsadditional property
total_feesArray of objectsrequired

Total fees charged in the payment, separated by currency.

total_feenumberrequired

total value of fee

fee_currencystringrequired

currency of the fee charged

ripplenet_infoArray of objects

Application-provided data explaining actions taken by RippleNet applications.

node_addressstringrequired

RippleNet address of the node from which the RippleNetInfo originated.

Example: "rn.us.ny.new_york"
settlement_declinedArray of objectsrequired

If applicable, provides an array of RippleNetInfoEntry's explaining transitions into the SETTLEMENT_DECLINED state

infostring

Information explaining the action taken by a RippleNet application. Could be a RippleNet error code, or a written explanation of the action taken

Example: "L001"
created_atstring(date-time)

The DateTime that this quote was created, as an ISO-8601 timestamp in UTC.

Example: "2018-04-06T20:33:35Z"
execution_conditionstringrequired

A Base64-encoded execution condition for this payment, the fulfillment of which will be presented to the validator to complete this payment. This value must match the execution_condition in the associated crypto transaction.

Example: "PrefixSha256Condition{subtypes=[ED25519-SHA-256], type=PREFIX-SHA-256, fingerprint=sfGGHCrkyaMsLQNB62w_4zarlPChHKm47JkXVQbs1z0, cost=132360}"
crypto_transaction_idstringrequired

Unique identifier of the crypto transaction associated with this payment.

Example: "4e05da26-7872-4a1f-b9b7-db7604757c37"
validatorstringrequired

Address of the validator that validated the payment.

Example: "rn.us.ca.san_francisco"
payment_typestringrequired

Payment type.

Enum"REGULAR""RETURN"
Example: "REGULAR"
returns_payment_with_idstring(uuid)required

If the payment_type is RETURN, provides the payment ID of the original payment that this payment returns. Otherwise, this field value is set to null.

returned_by_payment_with_idstring(uuid)required

If the payment_type is REGULAR and the payment has an associated return payment, provides the payment ID of the return payment. Otherwise, this field value is set to null.

execution_resultsArray of objectsrequired

Represents the actual movement of funds in a payment. Each execution result corresponds to a quote element and represents its execution in a payment.

execution_result_idstring(uuid)required

Unique identifier for this payment result.

Example: "06f6d4e2-3523-4d17-92fd-53192a06207f"
execution_timestampstring(date-time)required

Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:24:29.867Z"
execution_result_typestringrequired

Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>

Enum"TRANSFER""EXCHANGE""EXCHANGE_TRADE""CRYPTO_TRANSFER"
Example: "TRANSFER"
execution_result_orderintegerrequired

Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.

Example: 1
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "trans_usd_sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "conct_usd_sf@rn.us.ca.san_francisco"
sending_amountnumberrequired

Amount the sender is sending.

Example: 498
receiving_amountnumberrequired

Amount the receiver is receiving.

Example: 498
sending_feenumberrequired

Fees the sender is charging.

Example: 2
receiving_feenumberrequired

Fees the receiver is charging.

Example: 0
sending_currency_codestring

Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "USD"
receiving_currency_codestring

Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "GBP"
fx_rateobject

The details of an FX Rate for a quote or payment.

ratenumberrequired

Exchange rate between a base and counter currency.

Example: 3.25
base_currency_codestringrequired

Currency code of the base currency.

Example: "USD"
counter_currency_codestringrequired

Currency code of the counter currency.

Example: "GBP"
typestringrequired

Order type of the exchange rate. Valid values are buy or sell.

Example: "buy"
transfer_currency_codestring

Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.

intermediary_deltanumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)

Example: 0.2
incentive_typestring

Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.

Example: "firm"
incentive_valuenumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.

Example: 0.2
transaction_hashstring

Hash representing the unique identifier for the transfer of funds in the XRP ledger.

Example: 5.5467794184785867e+76
venue_idstring

The id from an exchange associated with a transaction involving an exchange account.

Example: "nz7RpAujYgnQtjEM"
fiat_adjusted_valuenumber

Represents the delta between quoted and received executed amounts, for exchange trades.

Example: 0.02
odl_payment_idstring

Payment ID in On-Demand Liquidity (ODL) for an executed ODL payment containing the transaction represented by this execution result.

liquidation_execution_resultsArray of objects

Represents the actual movement of funds in a payment as part of liquidation of a Wallet Receive payment.

execution_result_idstring(uuid)required

Unique identifier for this payment result.

Example: "06f6d4e2-3523-4d17-92fd-53192a06207f"
execution_timestampstring(date-time)required

Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:24:29.867Z"
execution_result_typestringrequired

Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>

Enum"TRANSFER""EXCHANGE""EXCHANGE_TRADE""CRYPTO_TRANSFER"
Example: "TRANSFER"
execution_result_orderintegerrequired

Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.

Example: 1
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "trans_usd_sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "conct_usd_sf@rn.us.ca.san_francisco"
sending_amountnumberrequired

Amount the sender is sending.

Example: 498
receiving_amountnumberrequired

Amount the receiver is receiving.

Example: 498
sending_feenumberrequired

Fees the sender is charging.

Example: 2
receiving_feenumberrequired

Fees the receiver is charging.

Example: 0
sending_currency_codestring

Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "USD"
receiving_currency_codestring

Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "GBP"
fx_rateobject

The details of an FX Rate for a quote or payment.

ratenumberrequired

Exchange rate between a base and counter currency.

Example: 3.25
base_currency_codestringrequired

Currency code of the base currency.

Example: "USD"
counter_currency_codestringrequired

Currency code of the counter currency.

Example: "GBP"
typestringrequired

Order type of the exchange rate. Valid values are buy or sell.

Example: "buy"
transfer_currency_codestring

Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.

intermediary_deltanumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)

Example: 0.2
incentive_typestring

Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.

Example: "firm"
incentive_valuenumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.

Example: 0.2
transaction_hashstring

Hash representing the unique identifier for the transfer of funds in the XRP ledger.

Example: 5.5467794184785867e+76
venue_idstring

The id from an exchange associated with a transaction involving an exchange account.

Example: "nz7RpAujYgnQtjEM"
fiat_adjusted_valuenumber

Represents the delta between quoted and received executed amounts, for exchange trades.

Example: 0.02
odl_payment_idstring

Payment ID in On-Demand Liquidity (ODL) for an executed ODL payment containing the transaction represented by this execution result.

liquidation_detailsobject

Payment liquidation details

idstring(uuid)

Liquidation ID, unique to the liquidation process of this payment

statusstring

Liquidation status

failure_reasonstring

Reason behind failure of the liquidation, only applicable if the status is failure

failure_countinteger

Number of times the liquidation failed. Irrelevant if status is successful.

push_forward_execution_resultsArray of objects

Represents the movement of funds after an On-Demand Liquidity payment fails at intermediary transfer or destination exchange.

execution_result_idstring(uuid)required

Unique identifier for this payment result.

Example: "06f6d4e2-3523-4d17-92fd-53192a06207f"
execution_timestampstring(date-time)required

Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:24:29.867Z"
execution_result_typestringrequired

Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>

Enum"TRANSFER""EXCHANGE""EXCHANGE_TRADE""CRYPTO_TRANSFER"
Example: "TRANSFER"
execution_result_orderintegerrequired

Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.

Example: 1
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "trans_usd_sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "conct_usd_sf@rn.us.ca.san_francisco"
sending_amountnumberrequired

Amount the sender is sending.

Example: 498
receiving_amountnumberrequired

Amount the receiver is receiving.

Example: 498
sending_feenumberrequired

Fees the sender is charging.

Example: 2
receiving_feenumberrequired

Fees the receiver is charging.

Example: 0
sending_currency_codestring

Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "USD"
receiving_currency_codestring

Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "GBP"
fx_rateobject

The details of an FX Rate for a quote or payment.

ratenumberrequired

Exchange rate between a base and counter currency.

Example: 3.25
base_currency_codestringrequired

Currency code of the base currency.

Example: "USD"
counter_currency_codestringrequired

Currency code of the counter currency.

Example: "GBP"
typestringrequired

Order type of the exchange rate. Valid values are buy or sell.

Example: "buy"
transfer_currency_codestring

Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.

intermediary_deltanumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)

Example: 0.2
incentive_typestring

Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.

Example: "firm"
incentive_valuenumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.

Example: 0.2
transaction_hashstring

Hash representing the unique identifier for the transfer of funds in the XRP ledger.

Example: 5.5467794184785867e+76
venue_idstring

The id from an exchange associated with a transaction involving an exchange account.

Example: "nz7RpAujYgnQtjEM"
fiat_adjusted_valuenumber

Represents the delta between quoted and received executed amounts, for exchange trades.

Example: 0.02
odl_payment_idstring

Payment ID in On-Demand Liquidity (ODL) for an executed ODL payment containing the transaction represented by this execution result.

accepted_atstring(date-time)required

Date and time at which the payment was last accepted, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
locked_atstring(date-time)

Date and time at which the payment was last locked, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
executed_atstring(date-time)

Date and time at which the payment was last executed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
completed_atstring(date-time)

Date and time at which the payment was last completed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
returned_atstring(date-time)

Date and time at which the payment was returned, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
internal_infoobjectrequired

JSON object containing information that only the RippleNet instance that set it can view. These values can be set by the sender when accepting a payment and by an intermediary or receiver when locking the payment.

connector_rolestringrequired

Role of the RippleNet node that sets one or more values in the Internal Info object.

Use as follows:

  • SENDING: Sending account in the payment resides on this RippleNet instance.
  • RECEIVING: Receiving account in the payment resides on this RippleNet instance.
  • INTERMEDIARY: Neither sending nor receiving accounts in the payment reside on this RippleNet instance.
  • INTERNAL: Both sending and receiving accounts in the payment (usually between RippleNet Cloud and RippleNet) reside on this RippleNet instance.
Enum"SENDING""RECEIVING""INTERMEDIARY""INTERNAL"
Example: "RECEIVING"
labelsArray of objectsrequired

Array of objects that provide label values that are set by including the sub_state field at any stage of the payment's lifecycle. Labels can used as a filtering mechanism when searching for payments. Labels are visible only to the node that added them to this copy of a payment. If the values that populate this array are not set in the request or if the values set in the request are not viewable by your node, this array is empty.

labelstring

Label to be attached

internal_idstringrequired

ID that is viewable only to the node that set it. This value can be set by the sender when accepting a payment. This value can also be set by any intermediary and the receiver when locking the payment. If this value is not set in the request or if the value set in the request is not viewable by your node, this field value is set to null.

user_infoArray of objectsrequired

User-provided data with arbitrary key/value pairs.

node_addressstringrequired

RippleNet address of the node that provided the user information.

Example: "rn.us.ca.san_francisco"
acceptedArray of objectsrequired

User information optionally provided when accepting the payment.

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
lockedArray of objectsrequired

User information optionally provided when locking the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
lock_declinedArray of objectsrequired

User information optionally provided when declining to lock the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
retry_acceptArray of objectsrequired

User information optionally provided when retrying acceptance of the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
retry_settlementArray of objectsrequired

User information optionally provided when retrying settlement of the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
settlementArray of objectsrequired

User information optionally provided when settling the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
settlement_declinedArray of objectsrequired

User information optionally provided when settlement for the payment is declined. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
failedArray of objectsrequired

User information optionally provided when failing the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
executedArray of objectsrequired

Payment sub-state information provided using sub_state and memo fields when finalizing the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
completedArray of objectsrequired

User information optionally provided when completing the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
forwardedArray of objectsrequired

If applicable, user information optionally provided when forwarding the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
returnedArray of objectsrequired

If applicable, information optionally provided using return_reasons when returning the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
Response
application/json
{ "payment_id": "d485f100-2af7-4e48-9ab1-3c7e28775691", "contract_hash": "ccb23bd87f13cc13b9d616a9723f76e112aeac8628b2082e0f8bf3b8c670b103", "payment_state": "COMPLETED", "modified_at": "2019-10-01T18:25:47.347Z", "contract": { "sender_end_to_end_id": "string", "created_at": "2019-10-01T18:18:13.665Z", "expires_at": "2019-10-01T18:55:22.824Z", "quote": {}, "fee_info": {} }, "ripplenet_info": [ {} ], "execution_condition": "PrefixSha256Condition{subtypes=[ED25519-SHA-256], type=PREFIX-SHA-256, fingerprint=sfGGHCrkyaMsLQNB62w_4zarlPChHKm47JkXVQbs1z0, cost=132360}", "crypto_transaction_id": "4e05da26-7872-4a1f-b9b7-db7604757c37", "validator": "rn.us.ca.san_francisco", "payment_type": "REGULAR", "returns_payment_with_id": "a69b322f-faa4-4531-bcff-897e5839c130", "returned_by_payment_with_id": "c929a87b-81b8-4878-b21c-1aeaa4fe9276", "execution_results": [ {} ], "liquidation_execution_results": [ {} ], "liquidation_details": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "string", "failure_reason": "string", "failure_count": 0 }, "push_forward_execution_results": [ {} ], "accepted_at": "2019-10-01T18:25:47.347Z", "locked_at": "2019-10-01T18:25:47.347Z", "executed_at": "2019-10-01T18:25:47.347Z", "completed_at": "2019-10-01T18:25:47.347Z", "returned_at": "2019-10-01T18:25:47.347Z", "internal_info": { "connector_role": "RECEIVING", "labels": [], "internal_id": "string" }, "user_info": [ {} ] }

Reject lock payment

Request

Rejects a payment from being locked.

This temporarily stops the payment and keeps it in a recoverable state so that user_info can be corrected. If the payment is incorrect for reasons outside of the user_info object, use Fail payment.

After a payment has been created by an Accept quote request, the beneficiary or an intermediary can choose to reject the payment, rather than Lock payment, with corrections to user_info in the reasons array. A rejected payment moves the payment state to LOCK_DECLINED from which it can be recovered by the originating institution with a Retry accept payment request.

If any one institution in the payment chain is configured to auto-fail, the payment automatically fails when the payment is rejected, moving to the FAILED state rather than the LOCK_DECLINED state.

Security
Bearer
Path
payment_idstring(uuid)required

Unique identifier of a payment to reject a lock request.

Bodyapplication/jsonrequired
reasonsobjectrequired

Provide one or more arbitrary key/value pairs.

Example: {"type":"RECEIVER_DATA_VALIDATION","code":"AC03","reason":"Creditor account number invalid or missing"}
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/ripplenet/payments/{payment_id}/reject' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "reasons": {
      "type": "RECEIVER_DATA_VALIDATION",
      "code": "AC03",
      "reason": "Creditor account number invalid or missing"
    }
  }'

Responses

Successfully rejected the request to lock a payment.

Bodyapplication/json
payment_idstring(uuid)required

Unique identifier of a payment.

Example: "d485f100-2af7-4e48-9ab1-3c7e28775691"
contract_hashstringrequired

Hash of all values in the Contract object used to ensure immutability. Once a payment transitions to the LOCKED state, the values in this object cannot change.

Example: "ccb23bd87f13cc13b9d616a9723f76e112aeac8628b2082e0f8bf3b8c670b103"
payment_statestringrequired

State of the payment. For details about payment states, see Payment States in the RippleNet Developer Guide.

Enum"ACCEPTED""AWAITING_COLLECTION""COMPLETED""EXECUTED""FAILED""FORWARDED""LOCK_DECLINED""LOCKED""PREPARED""RETURNED"
Example: "COMPLETED"
modified_atstring(date-time)required

Date and time at which the payment was last modified, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
contractobjectrequired

Represents all immutable parts of a payment agreed upon by all participants as a part of the Lock payment flow. Once a payment transitions to the LOCKED state, the values in this object cannot change.

sender_end_to_end_idstring[ 1 .. 128 ] charactersrequired

ID that the sender can specify. Persisted on all RippleNet instances that participate in the payment.

created_atstring(date-time)required

Date and time at which this payment contract was created, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:18:13.665Z"
expires_atstring(date-time)required

Date and time after which this payment contract expires, as an ISO-8601 timestamp in UTC.

Default "300s/300000ms"
Example: "2019-10-01T18:55:22.824Z"
quoteobjectrequired

JSON response object that represents a quote for a proposed payment or return payment.

quote_idstring(uuid)required

Unique identifier for the quote.

Example: "2a547e56-4aac-4375-86a8-8b3e7014801d"
created_atstring(date-time)required

Date and time at which the quote was created, as an ISO-8601 timestamp in UTC.

Example: "2020-01-29T20:59:44.925Z"
expires_atstring(date-time)required

Date and time after which the quote and its pricing expire, as an ISO-8601 timestamp in UTC.

Default "300s/300000ms"
Example: "2020-01-29T21:29:44.925Z"
typestringrequired

Indicates how the amount field should be treated for calculating quote values.

Enum"SENDER_AMOUNT""RECEIVER_AMOUNT""SENDER_INSTITUTION_AMOUNT""RECEIVER_INSTITUTION_AMOUNT""REVERSAL_AMOUNT"
Example: "SENDER_AMOUNT"
price_guaranteestringrequired

Indicates whether a quote's pricing is INDICATIVE or FIRM. An INDICATIVE quote allows for price movements between quote issuance and payment execution, such that the quoted amount and delivered amount may differ. A FIRM quote ensures that the quoted and delivered payment amounts are equal.

Default "FIRM"
Example: "FIRM"
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "sf_gbp@rn.us.ca.san_francisco"
amountstringrequired

Amount to be sent or received, depending on the type value.

Example: "1"
currency_codestringrequired

Currency code for the amount value.

Example: "USD"
currency_code_filterstringrequired

Currency code that can be used to filter quotes at the opposite end of the quote request. For example, you can filter by this currency code to find the receiving currency for a quote with a SENDER_AMOUNT quote_type. If not sent in the request, this field value is set to null.

Example: "EUR"
service_typestringrequired

Returns null.

quote_elementsArray of objectsrequired

Transfer and exchange elements. A transfer element represents a movement of funds between two accounts. An exchange element represents the exchange of currencies between two accounts.

quote_element_idstring(uuid)required

Unique identifier for the quote element.

Example: "259189e7-cb14-42e7-99ef-375f3285e356"
quote_element_typestringrequired

Type of quote element.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>

Enum"TRANSFER""EXCHANGE""EXCHANGE_TRADE""CRYPTO_TRANSFER"
Example: "EXCHANGE"
quote_element_orderstringrequired

Order of each quote element along the liquidity path. If a quote includes five quote elements, each one is enacted according to its quote_element_order number to make the proposed payment.

Example: "1"
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "sf_gbp@rn.us.ca.san_francisco"
sending_amountnumberrequired

Amount the sender is sending.

Example: 1
receiving_amountnumberrequired

Amount the receiver is receiving.

Example: 355
sending_feenumberrequired

Fees the sender is charging. When quote_element_type is set to EXCHANGE, this field value is always set to 0.

Example: 0
receiving_feenumberrequired

Fees the receiver is charging. When quote_element_type is set to EXCHANGE, this field value is always set to 0.

Example: 0
sending_currency_codestring

Currency code of the sending amount. Included in quote elements with quote_element_type set to EXCHANGE.

Example: "USD"
receiving_currency_codestring

Currency code of the receiving amount. Included in quote elements with quote_element_type set to EXCHANGE.

Example: "GBP"
fx_rateobject

The details of an FX Rate for a quote or payment.

transfer_currency_codestring

Currency code of the transfer. Included in quote elements with quote_element_type set to TRANSFER.

liquidity_warningstringrequired

Triggered when a quote causes an account to go below its minimum_allowed_balance. Otherwise, this field value is set to null.

payment_methodstring

Payout method for the quote.

Example: "LOCAL_RAILS"
payment_method_fieldsstring

JSON object containing payment method metadata.

Example: "{\"category_id\":\"bank\",\"required_originator_fields\":[{\"field_name\":\"sender_address\",\"field_label\":\"Sender address\"}]}"
payout_method_infoobject

Details about the payout method.

payout_method_namestring

Payout method for the quote.

Example: "Cash Payout"
payout_method_categorystring

Category of the payout method. Defaults to <code>OTHER</code> if not specified.

Enum"REAL_TIME_GROSS_SETTLEMENT_SYSTEM""REAL_TIME_NET_SETTLEMENT_SYSTEM""MASS_NET_PAYMENT_SYSTEM""BOOK_TRANSFER""CASH_PAYOUT""WALLET_PAYMENT""OTHER"
Example: "BOOK_TRANSFER"
descriptionstring

User defined description of the payout method.

Example: "local rails"
estimated_time_to_creditstring

The estimated time to credit the beneficiary using this payout method.

Example: "3 days"
fee_infoobject

Itemized list of fees charged by each node.

nodesobjectrequired

Fees charged by each node participating in the payment.

property name*Array of objectsadditional property
total_feesArray of objectsrequired

Total fees charged in the payment, separated by currency.

total_feenumberrequired

total value of fee

fee_currencystringrequired

currency of the fee charged

ripplenet_infoArray of objects

Application-provided data explaining actions taken by RippleNet applications.

node_addressstringrequired

RippleNet address of the node from which the RippleNetInfo originated.

Example: "rn.us.ny.new_york"
settlement_declinedArray of objectsrequired

If applicable, provides an array of RippleNetInfoEntry's explaining transitions into the SETTLEMENT_DECLINED state

infostring

Information explaining the action taken by a RippleNet application. Could be a RippleNet error code, or a written explanation of the action taken

Example: "L001"
created_atstring(date-time)

The DateTime that this quote was created, as an ISO-8601 timestamp in UTC.

Example: "2018-04-06T20:33:35Z"
execution_conditionstringrequired

A Base64-encoded execution condition for this payment, the fulfillment of which will be presented to the validator to complete this payment. This value must match the execution_condition in the associated crypto transaction.

Example: "PrefixSha256Condition{subtypes=[ED25519-SHA-256], type=PREFIX-SHA-256, fingerprint=sfGGHCrkyaMsLQNB62w_4zarlPChHKm47JkXVQbs1z0, cost=132360}"
crypto_transaction_idstringrequired

Unique identifier of the crypto transaction associated with this payment.

Example: "4e05da26-7872-4a1f-b9b7-db7604757c37"
validatorstringrequired

Address of the validator that validated the payment.

Example: "rn.us.ca.san_francisco"
payment_typestringrequired

Payment type.

Enum"REGULAR""RETURN"
Example: "REGULAR"
returns_payment_with_idstring(uuid)required

If the payment_type is RETURN, provides the payment ID of the original payment that this payment returns. Otherwise, this field value is set to null.

returned_by_payment_with_idstring(uuid)required

If the payment_type is REGULAR and the payment has an associated return payment, provides the payment ID of the return payment. Otherwise, this field value is set to null.

execution_resultsArray of objectsrequired

Represents the actual movement of funds in a payment. Each execution result corresponds to a quote element and represents its execution in a payment.

execution_result_idstring(uuid)required

Unique identifier for this payment result.

Example: "06f6d4e2-3523-4d17-92fd-53192a06207f"
execution_timestampstring(date-time)required

Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:24:29.867Z"
execution_result_typestringrequired

Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>

Enum"TRANSFER""EXCHANGE""EXCHANGE_TRADE""CRYPTO_TRANSFER"
Example: "TRANSFER"
execution_result_orderintegerrequired

Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.

Example: 1
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "trans_usd_sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "conct_usd_sf@rn.us.ca.san_francisco"
sending_amountnumberrequired

Amount the sender is sending.

Example: 498
receiving_amountnumberrequired

Amount the receiver is receiving.

Example: 498
sending_feenumberrequired

Fees the sender is charging.

Example: 2
receiving_feenumberrequired

Fees the receiver is charging.

Example: 0
sending_currency_codestring

Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "USD"
receiving_currency_codestring

Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "GBP"
fx_rateobject

The details of an FX Rate for a quote or payment.

ratenumberrequired

Exchange rate between a base and counter currency.

Example: 3.25
base_currency_codestringrequired

Currency code of the base currency.

Example: "USD"
counter_currency_codestringrequired

Currency code of the counter currency.

Example: "GBP"
typestringrequired

Order type of the exchange rate. Valid values are buy or sell.

Example: "buy"
transfer_currency_codestring

Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.

intermediary_deltanumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)

Example: 0.2
incentive_typestring

Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.

Example: "firm"
incentive_valuenumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.

Example: 0.2
transaction_hashstring

Hash representing the unique identifier for the transfer of funds in the XRP ledger.

Example: 5.5467794184785867e+76
venue_idstring

The id from an exchange associated with a transaction involving an exchange account.

Example: "nz7RpAujYgnQtjEM"
fiat_adjusted_valuenumber

Represents the delta between quoted and received executed amounts, for exchange trades.

Example: 0.02
odl_payment_idstring

Payment ID in On-Demand Liquidity (ODL) for an executed ODL payment containing the transaction represented by this execution result.

liquidation_execution_resultsArray of objects

Represents the actual movement of funds in a payment as part of liquidation of a Wallet Receive payment.

execution_result_idstring(uuid)required

Unique identifier for this payment result.

Example: "06f6d4e2-3523-4d17-92fd-53192a06207f"
execution_timestampstring(date-time)required

Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:24:29.867Z"
execution_result_typestringrequired

Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>

Enum"TRANSFER""EXCHANGE""EXCHANGE_TRADE""CRYPTO_TRANSFER"
Example: "TRANSFER"
execution_result_orderintegerrequired

Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.

Example: 1
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "trans_usd_sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "conct_usd_sf@rn.us.ca.san_francisco"
sending_amountnumberrequired

Amount the sender is sending.

Example: 498
receiving_amountnumberrequired

Amount the receiver is receiving.

Example: 498
sending_feenumberrequired

Fees the sender is charging.

Example: 2
receiving_feenumberrequired

Fees the receiver is charging.

Example: 0
sending_currency_codestring

Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "USD"
receiving_currency_codestring

Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "GBP"
fx_rateobject

The details of an FX Rate for a quote or payment.

ratenumberrequired

Exchange rate between a base and counter currency.

Example: 3.25
base_currency_codestringrequired

Currency code of the base currency.

Example: "USD"
counter_currency_codestringrequired

Currency code of the counter currency.

Example: "GBP"
typestringrequired

Order type of the exchange rate. Valid values are buy or sell.

Example: "buy"
transfer_currency_codestring

Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.

intermediary_deltanumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)

Example: 0.2
incentive_typestring

Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.

Example: "firm"
incentive_valuenumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.

Example: 0.2
transaction_hashstring

Hash representing the unique identifier for the transfer of funds in the XRP ledger.

Example: 5.5467794184785867e+76
venue_idstring

The id from an exchange associated with a transaction involving an exchange account.

Example: "nz7RpAujYgnQtjEM"
fiat_adjusted_valuenumber

Represents the delta between quoted and received executed amounts, for exchange trades.

Example: 0.02
odl_payment_idstring

Payment ID in On-Demand Liquidity (ODL) for an executed ODL payment containing the transaction represented by this execution result.

liquidation_detailsobject

Payment liquidation details

idstring(uuid)

Liquidation ID, unique to the liquidation process of this payment

statusstring

Liquidation status

failure_reasonstring

Reason behind failure of the liquidation, only applicable if the status is failure

failure_countinteger

Number of times the liquidation failed. Irrelevant if status is successful.

push_forward_execution_resultsArray of objects

Represents the movement of funds after an On-Demand Liquidity payment fails at intermediary transfer or destination exchange.

execution_result_idstring(uuid)required

Unique identifier for this payment result.

Example: "06f6d4e2-3523-4d17-92fd-53192a06207f"
execution_timestampstring(date-time)required

Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:24:29.867Z"
execution_result_typestringrequired

Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>

Enum"TRANSFER""EXCHANGE""EXCHANGE_TRADE""CRYPTO_TRANSFER"
Example: "TRANSFER"
execution_result_orderintegerrequired

Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.

Example: 1
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "trans_usd_sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "conct_usd_sf@rn.us.ca.san_francisco"
sending_amountnumberrequired

Amount the sender is sending.

Example: 498
receiving_amountnumberrequired

Amount the receiver is receiving.

Example: 498
sending_feenumberrequired

Fees the sender is charging.

Example: 2
receiving_feenumberrequired

Fees the receiver is charging.

Example: 0
sending_currency_codestring

Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "USD"
receiving_currency_codestring

Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "GBP"
fx_rateobject

The details of an FX Rate for a quote or payment.

ratenumberrequired

Exchange rate between a base and counter currency.

Example: 3.25
base_currency_codestringrequired

Currency code of the base currency.

Example: "USD"
counter_currency_codestringrequired

Currency code of the counter currency.

Example: "GBP"
typestringrequired

Order type of the exchange rate. Valid values are buy or sell.

Example: "buy"
transfer_currency_codestring

Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.

intermediary_deltanumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)

Example: 0.2
incentive_typestring

Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.

Example: "firm"
incentive_valuenumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.

Example: 0.2
transaction_hashstring

Hash representing the unique identifier for the transfer of funds in the XRP ledger.

Example: 5.5467794184785867e+76
venue_idstring

The id from an exchange associated with a transaction involving an exchange account.

Example: "nz7RpAujYgnQtjEM"
fiat_adjusted_valuenumber

Represents the delta between quoted and received executed amounts, for exchange trades.

Example: 0.02
odl_payment_idstring

Payment ID in On-Demand Liquidity (ODL) for an executed ODL payment containing the transaction represented by this execution result.

accepted_atstring(date-time)required

Date and time at which the payment was last accepted, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
locked_atstring(date-time)

Date and time at which the payment was last locked, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
executed_atstring(date-time)

Date and time at which the payment was last executed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
completed_atstring(date-time)

Date and time at which the payment was last completed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
returned_atstring(date-time)

Date and time at which the payment was returned, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
internal_infoobjectrequired

JSON object containing information that only the RippleNet instance that set it can view. These values can be set by the sender when accepting a payment and by an intermediary or receiver when locking the payment.

connector_rolestringrequired

Role of the RippleNet node that sets one or more values in the Internal Info object.

Use as follows:

  • SENDING: Sending account in the payment resides on this RippleNet instance.
  • RECEIVING: Receiving account in the payment resides on this RippleNet instance.
  • INTERMEDIARY: Neither sending nor receiving accounts in the payment reside on this RippleNet instance.
  • INTERNAL: Both sending and receiving accounts in the payment (usually between RippleNet Cloud and RippleNet) reside on this RippleNet instance.
Enum"SENDING""RECEIVING""INTERMEDIARY""INTERNAL"
Example: "RECEIVING"
labelsArray of objectsrequired

Array of objects that provide label values that are set by including the sub_state field at any stage of the payment's lifecycle. Labels can used as a filtering mechanism when searching for payments. Labels are visible only to the node that added them to this copy of a payment. If the values that populate this array are not set in the request or if the values set in the request are not viewable by your node, this array is empty.

labelstring

Label to be attached

internal_idstringrequired

ID that is viewable only to the node that set it. This value can be set by the sender when accepting a payment. This value can also be set by any intermediary and the receiver when locking the payment. If this value is not set in the request or if the value set in the request is not viewable by your node, this field value is set to null.

user_infoArray of objectsrequired

User-provided data with arbitrary key/value pairs.

node_addressstringrequired

RippleNet address of the node that provided the user information.

Example: "rn.us.ca.san_francisco"
acceptedArray of objectsrequired

User information optionally provided when accepting the payment.

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
lockedArray of objectsrequired

User information optionally provided when locking the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
lock_declinedArray of objectsrequired

User information optionally provided when declining to lock the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
retry_acceptArray of objectsrequired

User information optionally provided when retrying acceptance of the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
retry_settlementArray of objectsrequired

User information optionally provided when retrying settlement of the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
settlementArray of objectsrequired

User information optionally provided when settling the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
settlement_declinedArray of objectsrequired

User information optionally provided when settlement for the payment is declined. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
failedArray of objectsrequired

User information optionally provided when failing the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
executedArray of objectsrequired

Payment sub-state information provided using sub_state and memo fields when finalizing the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
completedArray of objectsrequired

User information optionally provided when completing the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
forwardedArray of objectsrequired

If applicable, user information optionally provided when forwarding the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
returnedArray of objectsrequired

If applicable, information optionally provided using return_reasons when returning the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
Response
application/json
{ "payment_id": "d485f100-2af7-4e48-9ab1-3c7e28775691", "contract_hash": "ccb23bd87f13cc13b9d616a9723f76e112aeac8628b2082e0f8bf3b8c670b103", "payment_state": "COMPLETED", "modified_at": "2019-10-01T18:25:47.347Z", "contract": { "sender_end_to_end_id": "string", "created_at": "2019-10-01T18:18:13.665Z", "expires_at": "2019-10-01T18:55:22.824Z", "quote": {}, "fee_info": {} }, "ripplenet_info": [ {} ], "execution_condition": "PrefixSha256Condition{subtypes=[ED25519-SHA-256], type=PREFIX-SHA-256, fingerprint=sfGGHCrkyaMsLQNB62w_4zarlPChHKm47JkXVQbs1z0, cost=132360}", "crypto_transaction_id": "4e05da26-7872-4a1f-b9b7-db7604757c37", "validator": "rn.us.ca.san_francisco", "payment_type": "REGULAR", "returns_payment_with_id": "a69b322f-faa4-4531-bcff-897e5839c130", "returned_by_payment_with_id": "c929a87b-81b8-4878-b21c-1aeaa4fe9276", "execution_results": [ {} ], "liquidation_execution_results": [ {} ], "liquidation_details": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "string", "failure_reason": "string", "failure_count": 0 }, "push_forward_execution_results": [ {} ], "accepted_at": "2019-10-01T18:25:47.347Z", "locked_at": "2019-10-01T18:25:47.347Z", "executed_at": "2019-10-01T18:25:47.347Z", "completed_at": "2019-10-01T18:25:47.347Z", "returned_at": "2019-10-01T18:25:47.347Z", "internal_info": { "connector_role": "RECEIVING", "labels": [], "internal_id": "string" }, "user_info": [ {} ] }

Retry accept payment

Request

Returns a rejected payment from the LOCK_DECLINED state to the ACCEPTED state. The payment sender must include repaired user_info in the request body.

Security
Bearer
Path
payment_idstring(uuid)required

Unique identifier of the payment to return to ACCEPTED state.

Bodyapplication/jsonrequired
user_infoobject

Provide one or more arbitrary key/value pairs.

Example: {"SF ACCEPTED":"Payment to NY","last_name":"Gonzalez","first_name":"Elle"}
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/ripplenet/payments/{payment_id}/retry_accept' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "user_info": {
      "SF ACCEPTED": "Payment to NY",
      "last_name": "Gonzalez",
      "first_name": "Elle"
    }
  }'

Responses

Successfully resubmitted payment for locking.

Bodyapplication/json
payment_idstring(uuid)required

Unique identifier of a payment.

Example: "d485f100-2af7-4e48-9ab1-3c7e28775691"
contract_hashstringrequired

Hash of all values in the Contract object used to ensure immutability. Once a payment transitions to the LOCKED state, the values in this object cannot change.

Example: "ccb23bd87f13cc13b9d616a9723f76e112aeac8628b2082e0f8bf3b8c670b103"
payment_statestringrequired

State of the payment. For details about payment states, see Payment States in the RippleNet Developer Guide.

Enum"ACCEPTED""AWAITING_COLLECTION""COMPLETED""EXECUTED""FAILED""FORWARDED""LOCK_DECLINED""LOCKED""PREPARED""RETURNED"
Example: "COMPLETED"
modified_atstring(date-time)required

Date and time at which the payment was last modified, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
contractobjectrequired

Represents all immutable parts of a payment agreed upon by all participants as a part of the Lock payment flow. Once a payment transitions to the LOCKED state, the values in this object cannot change.

sender_end_to_end_idstring[ 1 .. 128 ] charactersrequired

ID that the sender can specify. Persisted on all RippleNet instances that participate in the payment.

created_atstring(date-time)required

Date and time at which this payment contract was created, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:18:13.665Z"
expires_atstring(date-time)required

Date and time after which this payment contract expires, as an ISO-8601 timestamp in UTC.

Default "300s/300000ms"
Example: "2019-10-01T18:55:22.824Z"
quoteobjectrequired

JSON response object that represents a quote for a proposed payment or return payment.

quote_idstring(uuid)required

Unique identifier for the quote.

Example: "2a547e56-4aac-4375-86a8-8b3e7014801d"
created_atstring(date-time)required

Date and time at which the quote was created, as an ISO-8601 timestamp in UTC.

Example: "2020-01-29T20:59:44.925Z"
expires_atstring(date-time)required

Date and time after which the quote and its pricing expire, as an ISO-8601 timestamp in UTC.

Default "300s/300000ms"
Example: "2020-01-29T21:29:44.925Z"
typestringrequired

Indicates how the amount field should be treated for calculating quote values.

Enum"SENDER_AMOUNT""RECEIVER_AMOUNT""SENDER_INSTITUTION_AMOUNT""RECEIVER_INSTITUTION_AMOUNT""REVERSAL_AMOUNT"
Example: "SENDER_AMOUNT"
price_guaranteestringrequired

Indicates whether a quote's pricing is INDICATIVE or FIRM. An INDICATIVE quote allows for price movements between quote issuance and payment execution, such that the quoted amount and delivered amount may differ. A FIRM quote ensures that the quoted and delivered payment amounts are equal.

Default "FIRM"
Example: "FIRM"
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "sf_gbp@rn.us.ca.san_francisco"
amountstringrequired

Amount to be sent or received, depending on the type value.

Example: "1"
currency_codestringrequired

Currency code for the amount value.

Example: "USD"
currency_code_filterstringrequired

Currency code that can be used to filter quotes at the opposite end of the quote request. For example, you can filter by this currency code to find the receiving currency for a quote with a SENDER_AMOUNT quote_type. If not sent in the request, this field value is set to null.

Example: "EUR"
service_typestringrequired

Returns null.

quote_elementsArray of objectsrequired

Transfer and exchange elements. A transfer element represents a movement of funds between two accounts. An exchange element represents the exchange of currencies between two accounts.

quote_element_idstring(uuid)required

Unique identifier for the quote element.

Example: "259189e7-cb14-42e7-99ef-375f3285e356"
quote_element_typestringrequired

Type of quote element.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>

Enum"TRANSFER""EXCHANGE""EXCHANGE_TRADE""CRYPTO_TRANSFER"
Example: "EXCHANGE"
quote_element_orderstringrequired

Order of each quote element along the liquidity path. If a quote includes five quote elements, each one is enacted according to its quote_element_order number to make the proposed payment.

Example: "1"
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "sf_gbp@rn.us.ca.san_francisco"
sending_amountnumberrequired

Amount the sender is sending.

Example: 1
receiving_amountnumberrequired

Amount the receiver is receiving.

Example: 355
sending_feenumberrequired

Fees the sender is charging. When quote_element_type is set to EXCHANGE, this field value is always set to 0.

Example: 0
receiving_feenumberrequired

Fees the receiver is charging. When quote_element_type is set to EXCHANGE, this field value is always set to 0.

Example: 0
sending_currency_codestring

Currency code of the sending amount. Included in quote elements with quote_element_type set to EXCHANGE.

Example: "USD"
receiving_currency_codestring

Currency code of the receiving amount. Included in quote elements with quote_element_type set to EXCHANGE.

Example: "GBP"
fx_rateobject

The details of an FX Rate for a quote or payment.

transfer_currency_codestring

Currency code of the transfer. Included in quote elements with quote_element_type set to TRANSFER.

liquidity_warningstringrequired

Triggered when a quote causes an account to go below its minimum_allowed_balance. Otherwise, this field value is set to null.

payment_methodstring

Payout method for the quote.

Example: "LOCAL_RAILS"
payment_method_fieldsstring

JSON object containing payment method metadata.

Example: "{\"category_id\":\"bank\",\"required_originator_fields\":[{\"field_name\":\"sender_address\",\"field_label\":\"Sender address\"}]}"
payout_method_infoobject

Details about the payout method.

payout_method_namestring

Payout method for the quote.

Example: "Cash Payout"
payout_method_categorystring

Category of the payout method. Defaults to <code>OTHER</code> if not specified.

Enum"REAL_TIME_GROSS_SETTLEMENT_SYSTEM""REAL_TIME_NET_SETTLEMENT_SYSTEM""MASS_NET_PAYMENT_SYSTEM""BOOK_TRANSFER""CASH_PAYOUT""WALLET_PAYMENT""OTHER"
Example: "BOOK_TRANSFER"
descriptionstring

User defined description of the payout method.

Example: "local rails"
estimated_time_to_creditstring

The estimated time to credit the beneficiary using this payout method.

Example: "3 days"
fee_infoobject

Itemized list of fees charged by each node.

nodesobjectrequired

Fees charged by each node participating in the payment.

property name*Array of objectsadditional property
total_feesArray of objectsrequired

Total fees charged in the payment, separated by currency.

total_feenumberrequired

total value of fee

fee_currencystringrequired

currency of the fee charged

ripplenet_infoArray of objects

Application-provided data explaining actions taken by RippleNet applications.

node_addressstringrequired

RippleNet address of the node from which the RippleNetInfo originated.

Example: "rn.us.ny.new_york"
settlement_declinedArray of objectsrequired

If applicable, provides an array of RippleNetInfoEntry's explaining transitions into the SETTLEMENT_DECLINED state

infostring

Information explaining the action taken by a RippleNet application. Could be a RippleNet error code, or a written explanation of the action taken

Example: "L001"
created_atstring(date-time)

The DateTime that this quote was created, as an ISO-8601 timestamp in UTC.

Example: "2018-04-06T20:33:35Z"
execution_conditionstringrequired

A Base64-encoded execution condition for this payment, the fulfillment of which will be presented to the validator to complete this payment. This value must match the execution_condition in the associated crypto transaction.

Example: "PrefixSha256Condition{subtypes=[ED25519-SHA-256], type=PREFIX-SHA-256, fingerprint=sfGGHCrkyaMsLQNB62w_4zarlPChHKm47JkXVQbs1z0, cost=132360}"
crypto_transaction_idstringrequired

Unique identifier of the crypto transaction associated with this payment.

Example: "4e05da26-7872-4a1f-b9b7-db7604757c37"
validatorstringrequired

Address of the validator that validated the payment.

Example: "rn.us.ca.san_francisco"
payment_typestringrequired

Payment type.

Enum"REGULAR""RETURN"
Example: "REGULAR"
returns_payment_with_idstring(uuid)required

If the payment_type is RETURN, provides the payment ID of the original payment that this payment returns. Otherwise, this field value is set to null.

returned_by_payment_with_idstring(uuid)required

If the payment_type is REGULAR and the payment has an associated return payment, provides the payment ID of the return payment. Otherwise, this field value is set to null.

execution_resultsArray of objectsrequired

Represents the actual movement of funds in a payment. Each execution result corresponds to a quote element and represents its execution in a payment.

execution_result_idstring(uuid)required

Unique identifier for this payment result.

Example: "06f6d4e2-3523-4d17-92fd-53192a06207f"
execution_timestampstring(date-time)required

Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:24:29.867Z"
execution_result_typestringrequired

Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>

Enum"TRANSFER""EXCHANGE""EXCHANGE_TRADE""CRYPTO_TRANSFER"
Example: "TRANSFER"
execution_result_orderintegerrequired

Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.

Example: 1
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "trans_usd_sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "conct_usd_sf@rn.us.ca.san_francisco"
sending_amountnumberrequired

Amount the sender is sending.

Example: 498
receiving_amountnumberrequired

Amount the receiver is receiving.

Example: 498
sending_feenumberrequired

Fees the sender is charging.

Example: 2
receiving_feenumberrequired

Fees the receiver is charging.

Example: 0
sending_currency_codestring

Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "USD"
receiving_currency_codestring

Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "GBP"
fx_rateobject

The details of an FX Rate for a quote or payment.

ratenumberrequired

Exchange rate between a base and counter currency.

Example: 3.25
base_currency_codestringrequired

Currency code of the base currency.

Example: "USD"
counter_currency_codestringrequired

Currency code of the counter currency.

Example: "GBP"
typestringrequired

Order type of the exchange rate. Valid values are buy or sell.

Example: "buy"
transfer_currency_codestring

Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.

intermediary_deltanumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)

Example: 0.2
incentive_typestring

Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.

Example: "firm"
incentive_valuenumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.

Example: 0.2
transaction_hashstring

Hash representing the unique identifier for the transfer of funds in the XRP ledger.

Example: 5.5467794184785867e+76
venue_idstring

The id from an exchange associated with a transaction involving an exchange account.

Example: "nz7RpAujYgnQtjEM"
fiat_adjusted_valuenumber

Represents the delta between quoted and received executed amounts, for exchange trades.

Example: 0.02
odl_payment_idstring

Payment ID in On-Demand Liquidity (ODL) for an executed ODL payment containing the transaction represented by this execution result.

liquidation_execution_resultsArray of objects

Represents the actual movement of funds in a payment as part of liquidation of a Wallet Receive payment.

execution_result_idstring(uuid)required

Unique identifier for this payment result.

Example: "06f6d4e2-3523-4d17-92fd-53192a06207f"
execution_timestampstring(date-time)required

Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:24:29.867Z"
execution_result_typestringrequired

Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>

Enum"TRANSFER""EXCHANGE""EXCHANGE_TRADE""CRYPTO_TRANSFER"
Example: "TRANSFER"
execution_result_orderintegerrequired

Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.

Example: 1
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "trans_usd_sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "conct_usd_sf@rn.us.ca.san_francisco"
sending_amountnumberrequired

Amount the sender is sending.

Example: 498
receiving_amountnumberrequired

Amount the receiver is receiving.

Example: 498
sending_feenumberrequired

Fees the sender is charging.

Example: 2
receiving_feenumberrequired

Fees the receiver is charging.

Example: 0
sending_currency_codestring

Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "USD"
receiving_currency_codestring

Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "GBP"
fx_rateobject

The details of an FX Rate for a quote or payment.

ratenumberrequired

Exchange rate between a base and counter currency.

Example: 3.25
base_currency_codestringrequired

Currency code of the base currency.

Example: "USD"
counter_currency_codestringrequired

Currency code of the counter currency.

Example: "GBP"
typestringrequired

Order type of the exchange rate. Valid values are buy or sell.

Example: "buy"
transfer_currency_codestring

Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.

intermediary_deltanumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)

Example: 0.2
incentive_typestring

Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.

Example: "firm"
incentive_valuenumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.

Example: 0.2
transaction_hashstring

Hash representing the unique identifier for the transfer of funds in the XRP ledger.

Example: 5.5467794184785867e+76
venue_idstring

The id from an exchange associated with a transaction involving an exchange account.

Example: "nz7RpAujYgnQtjEM"
fiat_adjusted_valuenumber

Represents the delta between quoted and received executed amounts, for exchange trades.

Example: 0.02
odl_payment_idstring

Payment ID in On-Demand Liquidity (ODL) for an executed ODL payment containing the transaction represented by this execution result.

liquidation_detailsobject

Payment liquidation details

idstring(uuid)

Liquidation ID, unique to the liquidation process of this payment

statusstring

Liquidation status

failure_reasonstring

Reason behind failure of the liquidation, only applicable if the status is failure

failure_countinteger

Number of times the liquidation failed. Irrelevant if status is successful.

push_forward_execution_resultsArray of objects

Represents the movement of funds after an On-Demand Liquidity payment fails at intermediary transfer or destination exchange.

execution_result_idstring(uuid)required

Unique identifier for this payment result.

Example: "06f6d4e2-3523-4d17-92fd-53192a06207f"
execution_timestampstring(date-time)required

Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:24:29.867Z"
execution_result_typestringrequired

Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>

Enum"TRANSFER""EXCHANGE""EXCHANGE_TRADE""CRYPTO_TRANSFER"
Example: "TRANSFER"
execution_result_orderintegerrequired

Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.

Example: 1
sender_addressstringrequired

RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "trans_usd_sf@rn.us.ca.san_francisco"
receiver_addressstringrequired

RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.

Example: "conct_usd_sf@rn.us.ca.san_francisco"
sending_amountnumberrequired

Amount the sender is sending.

Example: 498
receiving_amountnumberrequired

Amount the receiver is receiving.

Example: 498
sending_feenumberrequired

Fees the sender is charging.

Example: 2
receiving_feenumberrequired

Fees the receiver is charging.

Example: 0
sending_currency_codestring

Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "USD"
receiving_currency_codestring

Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.

Example: "GBP"
fx_rateobject

The details of an FX Rate for a quote or payment.

ratenumberrequired

Exchange rate between a base and counter currency.

Example: 3.25
base_currency_codestringrequired

Currency code of the base currency.

Example: "USD"
counter_currency_codestringrequired

Currency code of the counter currency.

Example: "GBP"
typestringrequired

Order type of the exchange rate. Valid values are buy or sell.

Example: "buy"
transfer_currency_codestring

Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.

intermediary_deltanumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)

Example: 0.2
incentive_typestring

Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.

Example: "firm"
incentive_valuenumber

Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.

Example: 0.2
transaction_hashstring

Hash representing the unique identifier for the transfer of funds in the XRP ledger.

Example: 5.5467794184785867e+76
venue_idstring

The id from an exchange associated with a transaction involving an exchange account.

Example: "nz7RpAujYgnQtjEM"
fiat_adjusted_valuenumber

Represents the delta between quoted and received executed amounts, for exchange trades.

Example: 0.02
odl_payment_idstring

Payment ID in On-Demand Liquidity (ODL) for an executed ODL payment containing the transaction represented by this execution result.

accepted_atstring(date-time)required

Date and time at which the payment was last accepted, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
locked_atstring(date-time)

Date and time at which the payment was last locked, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
executed_atstring(date-time)

Date and time at which the payment was last executed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
completed_atstring(date-time)

Date and time at which the payment was last completed, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
returned_atstring(date-time)

Date and time at which the payment was returned, as an ISO-8601 timestamp in UTC.

Example: "2019-10-01T18:25:47.347Z"
internal_infoobjectrequired

JSON object containing information that only the RippleNet instance that set it can view. These values can be set by the sender when accepting a payment and by an intermediary or receiver when locking the payment.

connector_rolestringrequired

Role of the RippleNet node that sets one or more values in the Internal Info object.

Use as follows:

  • SENDING: Sending account in the payment resides on this RippleNet instance.
  • RECEIVING: Receiving account in the payment resides on this RippleNet instance.
  • INTERMEDIARY: Neither sending nor receiving accounts in the payment reside on this RippleNet instance.
  • INTERNAL: Both sending and receiving accounts in the payment (usually between RippleNet Cloud and RippleNet) reside on this RippleNet instance.
Enum"SENDING""RECEIVING""INTERMEDIARY""INTERNAL"
Example: "RECEIVING"
labelsArray of objectsrequired

Array of objects that provide label values that are set by including the sub_state field at any stage of the payment's lifecycle. Labels can used as a filtering mechanism when searching for payments. Labels are visible only to the node that added them to this copy of a payment. If the values that populate this array are not set in the request or if the values set in the request are not viewable by your node, this array is empty.

labelstring

Label to be attached

internal_idstringrequired

ID that is viewable only to the node that set it. This value can be set by the sender when accepting a payment. This value can also be set by any intermediary and the receiver when locking the payment. If this value is not set in the request or if the value set in the request is not viewable by your node, this field value is set to null.

user_infoArray of objectsrequired

User-provided data with arbitrary key/value pairs.

node_addressstringrequired

RippleNet address of the node that provided the user information.

Example: "rn.us.ca.san_francisco"
acceptedArray of objectsrequired

User information optionally provided when accepting the payment.

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
lockedArray of objectsrequired

User information optionally provided when locking the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
lock_declinedArray of objectsrequired

User information optionally provided when declining to lock the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
retry_acceptArray of objectsrequired

User information optionally provided when retrying acceptance of the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
retry_settlementArray of objectsrequired

User information optionally provided when retrying settlement of the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
settlementArray of objectsrequired

User information optionally provided when settling the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
settlement_declinedArray of objectsrequired

User information optionally provided when settlement for the payment is declined. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
failedArray of objectsrequired

User information optionally provided when failing the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
executedArray of objectsrequired

Payment sub-state information provided using sub_state and memo fields when finalizing the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
completedArray of objectsrequired

User information optionally provided when completing the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
forwardedArray of objectsrequired

If applicable, user information optionally provided when forwarding the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
returnedArray of objectsrequired

If applicable, information optionally provided using return_reasons when returning the payment. For more information, see [User Info Entry Object][user-info-entry].

jsonobjectrequired

User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.

created_atstring(date-time)required

Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.

subStatestring

If provided, this parameter descibes payment state more granularly.

Example: "EXECUTING"
Response
application/json
{ "payment_id": "d485f100-2af7-4e48-9ab1-3c7e28775691", "contract_hash": "ccb23bd87f13cc13b9d616a9723f76e112aeac8628b2082e0f8bf3b8c670b103", "payment_state": "COMPLETED", "modified_at": "2019-10-01T18:25:47.347Z", "contract": { "sender_end_to_end_id": "string", "created_at": "2019-10-01T18:18:13.665Z", "expires_at": "2019-10-01T18:55:22.824Z", "quote": {}, "fee_info": {} }, "ripplenet_info": [ {} ], "execution_condition": "PrefixSha256Condition{subtypes=[ED25519-SHA-256], type=PREFIX-SHA-256, fingerprint=sfGGHCrkyaMsLQNB62w_4zarlPChHKm47JkXVQbs1z0, cost=132360}", "crypto_transaction_id": "4e05da26-7872-4a1f-b9b7-db7604757c37", "validator": "rn.us.ca.san_francisco", "payment_type": "REGULAR", "returns_payment_with_id": "a69b322f-faa4-4531-bcff-897e5839c130", "returned_by_payment_with_id": "c929a87b-81b8-4878-b21c-1aeaa4fe9276", "execution_results": [ {} ], "liquidation_execution_results": [ {} ], "liquidation_details": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "string", "failure_reason": "string", "failure_count": 0 }, "push_forward_execution_results": [ {} ], "accepted_at": "2019-10-01T18:25:47.347Z", "locked_at": "2019-10-01T18:25:47.347Z", "executed_at": "2019-10-01T18:25:47.347Z", "completed_at": "2019-10-01T18:25:47.347Z", "returned_at": "2019-10-01T18:25:47.347Z", "internal_info": { "connector_role": "RECEIVING", "labels": [], "internal_id": "string" }, "user_info": [ {} ] }

Notifications

Operations

ODL flags configuration

Operations

Orchestration payments

Operations

Payment expiration

Operations

Payout method

Operations

Platform accounts

Operations

Pool accounts

Operations

Quote expiration

Operations

Quotes

Operations

Rates

Operations

Request for payment

Operations

Sender segregated account configuration

Operations

Transfers

Operations

schema

Operations

activity

Operations

Orchestration Template

Operations

diagnostics

Operations

payment

Operations

Get application info

Request

Gets application information.

Security
Bearer
curl -i -X GET \
  https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/ripplenet/v4/orchestration/info \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Successfully fetched application info.

Bodyapplication/json
namestring

Application name.

Example: "Integration Module"
versionstring

Application version.

Example: "1.2.0"
Response
application/json
{ "name": "Integration Module", "version": "1.2.0" }

tenant

Operations

Orchestration internal action

Operations

Orchestration internal payments

Operations

Orchestration internal notifications

Operations