# JPMC-PDP Documentation from https://developer.payments.jpmorgan.com # Initiate a Push to Wallet payment In this tutorial, you learn how to initiate a Push to Wallet payment. ## Before you begin To initiate a Push to Wallet payment, you need the following: - A [registered and fully onboarded Developer Account](/docs/quick-start) on the J.P. Morgan Payments Developer Portal. - An active project that provides you with the credentials to make a request. - A USD bank account from which you want to initiate a payment. ## Send a request From your command line, send a `POST` request to the `/payments` endpoint. For example, the following code snippet contains a cURL command that initiates a Push to Wallet payment that uses a PayPal email address. It also contains the command's payload formatted in JSON so that it's easier to see. ```curl curl --request POST \ --url https://api-mock.payments.jpmorgan.com/payment/v2/payments \ --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 '{ "requestedExecutionDate": "2025-10-15", "paymentIdentifiers": { "endToEndId": "TESTENDTOENDID" }, "transferType": "CREDIT", "value": { "currency": "USD", "amount": "0.01" }, "paymentType": "PAYPAL", "debtor": { "name": "Debtor Name", "account": { "accountNumber": "123456789", "accountType": "DDA" } }, "debtorAgent": { "financialInstitutionIds": [ { "id": "CHASUS33", "idType": "BIC" } ] }, "creditor": { "name": "Jane Doe", "account": { "alternateAccountIdentifiers": [ { "identifier": "jane.doe@example.com", "idType": "PROPRIETARY", "proprietarySchemeName": "EMAL" } ] }, "postalAddress": { "postalCode": "33634", "country": "US" } }, "paymentPurpose": { "purpose": { "proprietary": "GOODS" } }, "remittanceInformation": { "unstructuredInformation": [ { "text": "Payment - INVC009100" } ] } } ``` ```json "requestedExecutionDate": "2025-10-15", "paymentIdentifiers": { "endToEndId": "TESTENDTOENDID" }, "transferType": "CREDIT", "value": { "currency": "USD", "amount": "0.01" }, "paymentType": "PAYPAL", "debtor": { "name": "Debtor Name", "account": { "accountNumber": "123456789", "accountType": "DDA" } }, "debtorAgent": { "financialInstitutionIds": [ { "id": "CHASUS33", "idType": "BIC" } ] }, "creditor": { "name": "Jane Doe", "account": { "alternateAccountIdentifiers": [ { "identifier": "jane.doe@example.com", "idType": "PROPRIETARY", "proprietarySchemeName": "EMAL" } ] }, "postalAddress": { "postalCode": "33634", "country": "US" } }, "paymentPurpose": { "purpose": { "proprietary": "GOODS" } }, "remittanceInformation": { "unstructuredInformation": [ { "text": "Payment - INVC009100" } ] } }' ``` ## Confirm the response Confirm that you receive a response that contains an `endToEndId` and a `paymentId`. You can use these values later to get the status and details of a Push to Wallet payment. For example, the following code snippet contains a response to the previous cURL command to initiate a Push to Wallet payment that uses a PayPal email address. It's formatted in JSON so that it's easier to see. ```json {   "paymentId": "ce8857f6-dc82-420d-84dc-63489476cb13",   "paymentStatus": "ACCEPTED",   "paymentSubStatus": "ACCEPTED",   "statusUpdatedAt": "2024-10-30T14:15:22Z",   "requestedExecutionDate": "2024-10-30",   "paymentIdentifiers": {     "endToEndId": "PACS008EGYPT_12"   },   "transferType": "CREDIT",   "paymentType": "PAYPAL" } ``` ## Related - For more information about Push to Wallet payment parameters, see [Payment parameters](/docs/treasury/global-payments/capabilities/global-payments-2/push-to-wallet/payment-parameters). - For more information about status responses and error codes supported by the Global Payments API, see [Global Payments 2 status responses and error codes](/api/treasury/global-payments/global-payments-2/error-codes). ## Next steps Learn how to [get the status of a Push to Wallet payment request](/docs/treasury/global-payments/capabilities/global-payments-2/push-to-wallet/how-to/get-status-of-p2w-request).