{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-products/payments-odl/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Amend outbound instructions","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com/products/custody","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"amend-outbound-instructions","__idx":0},"children":["Amend outbound instructions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When an exchange cannot deliver a payment due to incorrect or missing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["beneficiary_info"]}," details, On-Demand Liquidity allows you to amend the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outbound_instructions"]}," object using the RippleNet ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/payments-odl/api-docs/ripplenet/reference/openapi/non-orchestration-payments/addpaymentsubstate"},"children":["Add payment sub state"]}," operation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The reasons for a non-deliverable payment may be due to a missing field required by the payout outlet for ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/payments-odl/glossary#know-your-customer-kyc"},"children":["KYC"]}," or compliance checks, a misspelled beneficiary's first or last name, or an address that doesn't match the address on the ID of the beneficiary picking up the payment."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following diagram shows the flow for situations where an exchange cannot deliver a payment, and how On-Demand Liquidity handles the payment. On-Demand Liquidity provides functionality for a sender to amend the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outbound_instructions"]}," for a payment."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/bene-info-amendment-flow-odl.f8fe1af2cb2eb3db3f7c376a4b5e5cf2fa01f4340e81ca497eafeab0834d5e00.0d998ffb.png","alt":"Amend Outbound Instructions Flow"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"labels-for-outbound-instructions","__idx":1},"children":["Labels for outbound instructions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following labels are used by On-Demand Liquidity as a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RECEIVING"]}," node to inform the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SENDING"]}," node that a payment cannot be delivered by a payout outlet."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Depending on the label added to the ","RippleNet Payment Object"," (RPO), you can either amend the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outbound_instructions"]}," for the payment and try to complete the payment, or you can recover the funds manually from the destination exchange."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Label"},"children":["Label"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OUTBOUND_TRANSFER_FAILED_RECOVERABLY"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payments with this label are in an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EXECUTED"]}," payment state. When present, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SENDING"]}," node can update the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outbound_instructions"]}," object with the \"Add Payment Sub-State\" operation, adding an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMEND"]}," sub-state to the payment. The exchange will reattempt a payout to the beneficiary. If the amended ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outbound_instructions"]}," result in a successful payout to the beneficiary, On-Demand Liquidity transitions the payment state to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["COMPLETED"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OUTBOUND_TRANSFER_FAILED_IRRECOVERABLY"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["When set, the exchange could not make the payment to the beneficiary, and transitioned the payment to a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FAILED"]}," payment state. On-Demand Liquidity adds this label when the number of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMEND"]}," retries has been exhausted. In this case, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SENDING"]}," node must recover the funds manually from the destination exchange."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"amend-a-payments-outbound-instructions","__idx":2},"children":["Amend a payment's outbound instructions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To amend outbound instructions, configure your middleware as follows:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-1","__idx":3},"children":["Step 1"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Check for payments that require corrections to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outbound_instructions"]}," using the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/payments-odl/api-docs/ripplenet/reference/openapi/non-orchestration-payments/getpayments"},"children":["Get Payments"]}," operation. Pass in query parameters to return payments with an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OUTBOUND_TRANSFER_FAILED_RECOVERABLY"]}," label. Make a note of any RippleNet ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_id"]},"s that match the query.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET https://{{target.example_url_string}}/v4/payments?with_labels=OUTBOUND_TRANSFER_FAILED_RECOVERABLY"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Note:"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You should also check for payments that failed and the exchange has determined the issue cannot be fixed by amending the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outbound_instructions"]},". Use the \"Get Payments\" operation, passing in query parameters to return payments with an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OUTBOUND_TRANSFER_FAILED_IRRECOVERABLY"]}," label."]}]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\n    Here's an example of a payment with the label `OUTBOUND_TRANSFER_FAILED_RECOVERABLY` set by On-Demand Liquidity:",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Get payments (HTTP request)"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"http","header":{"controls":{"copy":{}}},"source":"GET /v4/payments?with_labels=OUTBOUND_TRANSFER_FAILED_RECOVERABLY HTTP/1.1\nHost: https://{{target.example_url_string}}\nContent-Type: application/json\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\n","lang":"http"},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Get Payments (cURL request)"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"js","header":{"controls":{"copy":{}}},"source":"curl -X GET  \\\n-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9'  \\\n-H 'Content-Type: application/json'\nhttps://{{target.example_url_string}}/v4/payments?with_labels=OUTBOUND_TRANSFER_FAILED_RECOVERABLY\n","lang":"js"},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response (success)"]}," ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","Response has been shortened to show pertinent information."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n\"payment_id\": \"98d08b9e-4885-48e4-9e09-8f457859e142\",\n\"contract_hash\": \"abc65fad5e00aac237a44f22e7919046bc2ac2df3b955\",\n\"payment_state\": \"EXECUTED\",\n\"internal_info\": {\n    \"internal_id\": \"6b0a4263-f9b9-48f3-910d-005b6873cb5e\",\n    \"connector_role\": \"RECEIVING\",\n    \"labels\": [\n    {\n        \"label\": \"OUTBOUND_TRANSFER_FAILED_RECOVERABLY\"\n    }\n    ]\n},\n\"modified_at\": \"2020-01-08T00:58:49.129Z\",\n...\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-2","__idx":4},"children":["Step 2"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Make a call to the \"Add Payment Sub-State\" operation. Provide the corrected ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outbound_instructions"]}," object and add an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMEND"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sub-state"]}," in the request. This call updates beneficiary information for the exchange to reattempt making the payout. You can provide a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["memo"]}," in the request body of your API call.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Note:"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You must include the complete ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outbound_instructions"]}," object in your request body for this call."]}]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add payment sub-state (HTTP request)"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"http","header":{"controls":{"copy":{}}},"source":"POST /v4/payments/98d08b9e-4885-48e4-9e09-8f457859e142/sub_state HTTP/1.1\nHost: https://{{target.example_url_string}}\nContent-Type: application/json\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\n\n{\n    \"sub_state\": \"AMEND\",\n    \"memo\": \"updates recipient given names value\",\n    \"info\": {\n    \"outbound_instructions\": {\n        \"outlet_id\": \"spei\",\n        \"beneficiary_info\":\n        [\n        {\n            \"field_name\": \"recipient_family_names\",\n            \"field_value\": \"Minuarez\"\n        },\n        {\n            \"field_name\": \"recipient_given_names\",\n            \"field_value\": \"Jorge\"\n        },\n        {\n            \"field_name\": \"clabe\",\n            \"field_value\": \"014027000005555558\"\n        }\n        ]\n    }\n    }\n}\n","lang":"http"},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add payment sub-state (cURL request)"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"js","header":{"controls":{"copy":{}}},"source":"curl -X POST  \\\n-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9'  \\\n-H 'Content-Type: application/json'  \\\nhttps://{{target.example_url_string}}/v4/payments/98d08b9e-4885-48e4-9e09-8f457859e142/sub_state\n-d '{\n    \"sub_state\": \"AMEND\",\n    \"memo\": \"updates recipient given names value\",\n    \"info\": {\n    \"outbound_instructions\": {\n        \"outlet_id\": \"spei\",\n        \"beneficiary_info\":\n        [\n        {\n            \"field_name\": \"recipient_family_names\",\n            \"field_value\": \"Minuarez\"\n        },\n        {\n            \"field_name\": \"recipient_given_names\",\n            \"field_value\": \"Jorge\"\n        },\n        {\n            \"field_name\": \"clabe\",\n            \"field_value\": \"014027000005555558\"\n        }\n        ]\n    }\n    }\n}\n","lang":"js"},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-3","__idx":5},"children":["Step 3"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/payments-odl/api-docs/ripplenet/reference/openapi/non-orchestration-payments/deletepaymentlabels"},"children":["Delete payment labels"]}," operation to delete the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OUTBOUND_TRANSFER_FAILED_RECOVERABLY"]}," label from the RippleNet payment you just amended. It's good practice to remove the label to ensure the amended payment won't appear in a subsequent search for payments that require amendments. On-Demand Liquidity may add this label again if there's still an issue delivering this payment, and you haven't reached the retry limit.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Format:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELETE {% title=\"{ripplenet_base_url}/v4/payments/{payment_id}/labels?label={label_name}"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\" %}"," ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delete payment label (HTTP request)"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"http","header":{"controls":{"copy":{}}},"source":"DELETE /v4/payments/98d08b9e-4885-48e4-9e09-8f457859e142/labels?label=OUTBOUND_TRANSFER_FAILED_RECOVERABLY HTTP/1.1\nHost: https://{{target.example_url_string}}\nContent-Type: application/json\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\n","lang":"http"},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delete payment label (cURL Request)"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"js","header":{"controls":{"copy":{}}},"source":"curl -X DELETE  \\\n-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9'  \\\n-H 'Content-Type: application/json'  \\\nhttps://{{target.example_url_string}}/v4/payments/98d08b9e-4885-48e4-9e09-8f457859e142/labels?label=OUTBOUND_TRANSFER_FAILED_RECOVERABLY\n","lang":"js"},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-4","__idx":6},"children":["Step 4"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the update to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outbound_instructions"]}," object in your ","RippleNet Payment Object"," results in a successful payout to the beneficiary, On-Demand Liquidity transitions the payment to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["COMPLETED"]},"."," ","Check the status of the payment by calling the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/payments-odl/api-docs/ripplenet/reference/openapi/non-orchestration-payments/getpaymentbypaymentid"},"children":["Get payment by payment ID"]}," operation using the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_id"]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Get payment by ID (HTTP request)"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"http","header":{"controls":{"copy":{}}},"source":"GET {{target.example_url_string}}/v4/payments/98d08b9e-4885-48e4-9e09-8f457859e142 HTTP/1.1\nHost: https://{{target.example_url_string}}\nContent-Type: application/json\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\n","lang":"http"},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Get payment by ID (cURL request)"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"js","header":{"controls":{"copy":{}}},"source":"curl -X GET  \\\n-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9'  \\\n-H 'Content-Type: application/json'  \\\nhttps://{{target.example_url_string}}/v4/payments/98d08b9e-4885-48e4-9e09-8f457859e142\n","lang":"js"},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the ","RippleNet Payment Object"," contains ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OUTBOUND_TRANSFER_FAILED_RECOVERABLY"]}," label, retry.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","If the payout attempt is unsuccessful and you can still amend the outbound instructions, On-Demand Liquidity adds an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OUTBOUND_TRANSFER_FAILED_RECOVERABLY"]}," label to the RippleNet payment object and the payment remains in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EXECUTED"]}," state. Repeat steps one through four until successful or until you have reached the retry limit.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"payment_id\": \"98d08b9e-4885-48e4-9e09-8f457859e142\",\n    \"contract_hash\": \"abc65fad5e00aac237a44f22e7919046bc2ac2df3b955\",\n    \"payment_state\": \"EXECUTED\",\n    \"internal_info\": {\n    \"internal_id\": \"6b0a4263-f9b9-48f3-910d-005b6873cb5e\",\n    \"connector_role\": \"RECEIVING\",\n    \"labels\": [\n        {\n            \"label\": \"AMEND\"\n        },\n        {\n            \"label\": \"OUTBOUND_TRANSFER_FAILED_RECOVERABLY\"\n        }\n        ]\n    },\n    \"modified_at\": \"2020-01-08T00:59:23.129Z\",\n    ...\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the ","RippleNet Payment Object"," contains ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OUTBOUND_TRANSFER_FAILED_IRRECOVERABLY"]}," label, recover funds.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","If the payment is not successful, you have reached the amend retry limit, and the exchange determines the payment cannot be made to the beneficiary, On-Demand Liquidity adds an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OUTBOUND_TRANSFER_FAILED_IRRECOVERABLY"]}," label to the payment object, and transitions the payment state to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FAILED"]},". Manually recover the funds from the destination exchange, in this case.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"undefined","data-title":"json","header":{"title":"json","controls":{"copy":{}}},"source":"{\n    \"payment_id\": \"98d08b9e-4885-48e4-9e09-8f457859e142\",\n    \"contract_hash\": \"abc65fad5e00aac237a44f22e7919046bc2ac2df3b955\",\n    \"payment_state\": \"FAILED\",\n    \"internal_info\": {\n    \"internal_id\": \"6b0a4263-f9b9-48f3-910d-005b6873cb5e\",\n    \"connector_role\": \"RECEIVING\",\n    \"labels\": [\n        {\n            \"label\": \"OUTBOUND_TRANSFER_FAILED_IRRECOVERABLY\"\n        },\n        {\n            \"label\": \"AMEND\"\n        }\n        ]\n    },\n    \"modified_at\": \"2020-01-08T00:59:23.129Z\",\n    ...\n","lang":"undefined"},"children":[]}]}]}]},"headings":[{"value":"Amend outbound instructions","id":"amend-outbound-instructions","depth":1},{"value":"Labels for outbound instructions","id":"labels-for-outbound-instructions","depth":2},{"value":"Amend a payment's outbound instructions","id":"amend-a-payments-outbound-instructions","depth":2},{"value":"Step 1","id":"step-1","depth":3},{"value":"Step 2","id":"step-2","depth":3},{"value":"Step 3","id":"step-3","depth":3},{"value":"Step 4","id":"step-4","depth":3}],"frontmatter":{"seo":{"title":"Amend outbound instructions"}},"lastModified":"2025-10-03T17:57:05.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/payments-odl/api-docs/ripplenet/resources/amend-outbound-instructions","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}