# JPMC-PDP Documentation from https://developer.payments.jpmorgan.com # Initiate a return request In this tutorial, you will learn how to use the Global Payments 2 API to initiate a payments return for receivables using the original incoming payment reference numbers. By the end of this tutorial, you will know how to: - Create a well-formed return request payload. - Interpret a successful response. ## Before you begin To use return requests, you will need the following: - A [registered and fully onboarded](/docs/quick-start) developer account on the J.P. Morgan Payments Developer Portal. - An active project that provides you with the credentials used to make a request. - A bank account configured for each country where you want to perform an RTP transaction. ## Send a status request In this step, you’ll learn how to create and send return requests. ```curl curl --request POST \ --url https://api.payments.jpmorgan.com/payment/v2/payments/returns \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: 1b036f9c-8c84-4ce6-b1dd-5979472945a1' \ --header 'Request-Id: 1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p' \ --data '{ "paymentType": "RTP", "originalPaymentIdentifiers": { "bankReferenceNumber": "ABC12346000" }, "paymentIdentifiers": { "endToEndId": "RT202109311350000" }, "country": "BR", "returnType": "PARTIAL", "value": { "amount": "50.00", "currency": "BRL" }, "additionalInformation": [ "OrderNumber:OD-1234000" ] }' ``` This example shows how to create a client-iniciated return using the payment ID of the original transaction. ```curl curl --request POST \ --url https://api.payments.jpmorgan.com/payment/v2/payments/returns \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: 1b036f9c-8c84-4ce6-b1dd-5979472945a1' \ --header 'Request-Id: 1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p' \ --data '{ "paymentType": "RTP", "originalPaymentIdentifiers": { "paymentId": "bre4c092-b90d-4b33-bd19-1a3843370bpt" }, "paymentIdentifiers": { "endToEndId": "RT202109311350000" }, "country": "BR", "returnType": "PARTIAL", "value": { "amount": "50.00", "currency": "BRL" }, "additionalInformation": [ "OrderNumber:OD-1234000" ] }' ``` The following example shows to process a client-iniciated return using the original incoming payments details, including amount, currency, and value date. ```curl --request POST \ --url https://api.payments.jpmorgan.com/payment/v2/payments/returns \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: 1b036f9c-8c84-4ce6-b1dd-5979472945a1' \ --header 'Request-Id: 1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p' \ --data '{ "paymentType": "RTP", "originalPaymentIdentifiers": { "endToEndId": "RT202109311350000" "originalValue": { "currency": "BRL", "amount": "100.00" }, "valueDate": "2025-04-15", }, "paymentIdentifiers": { "endToEndId": "RT202109311350000" }, "country": "BR", "returnType": "PARTIAL", "value": { "amount": "50.00", "currency": "BRL" }, "additionalInformation": [ "OrderNumber:OD-1234000" ] }' ``` ## Confirm the response For all use cases, you should receive a successful response containing a `returnId`. These values can be used to retrieve the status of your request. ## Related - For more information about return request payment parameters, see [Payment parameters](https://developer.payments.jpmorgan.com/docs/treasury/global-payments/capabilities/global-payments-2/real-time-payments/payment-parameters#field-details-for-clientinitiated-returns). - For more information about status responses and error codes supported by the Global Payments 2 API, see [Global Payments 2 status responses and error codes](https://developer.payments.jpmorgan.com/api/treasury/global-payments/global-payments-2/error-codes). ## Next steps Learn how to [retrieve the status](https://developer.payments.jpmorgan.com/docs/treasury/global-payments/capabilities/global-payments-2/real-time-payments/how-to/get-real-time-payments-transaction-status) of your RTP request.