# JPMC-PDP Documentation from https://developer.payments.jpmorgan.com # Initiate an ACH payment In this tutorial, you learn how to initiate an ACH payment. ## Before you begin To initiate an ACH payment, you need the following: - A [registered and fully onboarded](/docs/quick-start) account on the J.P. Morgan Payments Developer Portal. - An active project that provides you with the credentials to initiate a payment. - A bank account in the country 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 an ACH credit payment in the United States. 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": "2024-10-01", "paymentIdentifiers": { "endToEndId": "E2E3000112CCDXX" }, "value": { "currency": "USD", "amount": "101.50" }, "transferType": "CREDIT", "paymentType": "ACH", "paymentTypeInformation": { "serviceLevelCode": "NURG", "localInstrumentCode": { "code": "CCD" } }, "debtor": { "name": "Comrade Musics", "account": { "accountNumber": "12311871", "accountCurrency": "USD" }, "postalAddress": { "country": "US" }, "partyId": { "organizationIds": [ { "organizationId": "4192662001", "schemeName": { "proprietary": "JPMCOID" } } ] } }, "debtorAgent": { "financialInstitutionIds": [ { "id": "021000021", "idType": "USABA" } ], "postalAddress": { "country": "US" } }, "creditorAgent": { "financialInstitutionIds": [ { "id": "021000021", "idType": "USABA" } ], "postalAddress": { "country": "US" } }, "creditor": { "name": "Kelly Thomas", "account": { "accountNumber": "87654321" }, "postalAddress": { "country": "US" } }, "paymentPurpose": { "categoryPurpose": { "proprietary": "PAYROLL" } } }' ``` ```json { "requestedExecutionDate": "2024-10-01", "paymentIdentifiers": { "endToEndId": "E2E3000112CCDXX" }, "value": { "currency": "USD", "amount": "101.50" }, "transferType": "CREDIT", "paymentType": "ACH", "paymentTypeInformation": { "serviceLevelCode": "NURG", "localInstrumentCode": { "code": "CCD" } }, "debtor": { "name": "John Doe", "account": { "accountNumber": "123456789", "accountCurrency": "USD" }, "postalAddress": { "country": "US" }, "partyId": { "organizationIds": [ { "organizationId": "1234567000", "schemeName": { "proprietary": "JPMCOID" } } ] } }, "debtorAgent": { "financialInstitutionIds": [ { "id": "021000021", "idType": "USABA" } ], "postalAddress": { "country": "US" } }, "creditorAgent": { "financialInstitutionIds": [ { "id": "021000021", "idType": "USABA" } ], "postalAddress": { "country": "US" } }, "creditor": { "name": "Jane Doe", "account": { "accountNumber": "98765432" }, "postalAddress": { "country": "US" } }, "paymentPurpose": { "categoryPurpose": { "proprietary": "PAYROLL" } } } ``` ## 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 an ACH payment. For example, the following code snippet contains a response to the previous cURL command to initiate an ACH credit payment in the United States. 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": "ACH" } ``` ## Related - For more information about ACH credit payment parameters, see [Payment parameters (credit)](/docs/treasury/global-payments/capabilities/global-payments-2/ach/payment-parameters-credit). - For more information about ACH debit payment parameters, see [Payment parameters (debit)](/docs/treasury/global-payments/capabilities/global-payments-2/ach/payment-parameters-debit). - For more information about status responses and error codes supported by the Global Payments API, see [Global Payments 2 status response and error response codes](/api/treasury/global-payments/global-payments-2/error-codes). ## Next steps Learn how to [get the status of an ACH payment request](/docs/treasury/global-payments/capabilities/global-payments-2/ach/how-to/get-ach-request-status).