# JPMC-PDP Documentation from https://developer.payments.jpmorgan.com # Initiate a Kinexys Digital Payments deposit request (DDA to BDA) In this tutorial, you will learn how to use the Global Payments API to initiate a Kinexys Digital Payments deposit to fund a Blockchain Deposit Account. By the end of this tutorial, you will know how to: - Create a well-formed Kinexys Digital Payments deposit request payload. - Interpret the values in a successful response. ## Before you begin To initiate a Kinexys Digital Payments deposit, you need: - 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 used to make a request. - A J.P. Morgan Blockchain Deposit Account (BDA) opened at J.P. Morgan Chase Bank, N.A and/or J.P. Morgan SE, Frankfurt. - A Demand Deposit Account (DDA) opened in an [approved funding location](/docs/treasury/global-payments/capabilities/global-payments-2/jpm-coin-system/index#availability) in which you want to perform a Kinexys Digital Payments transaction. > In addition to regular Demand Deposit Accounts (DDA), select Client Money Accounts (CMA) and Mortgage Servicing Accounts (MSA) are supported by this product, subject to J.P. Morgan review. > ## Send a request Request payloads for the Global Payments API have optional and [required fields](/docs/treasury/global-payments/capabilities/global-payments-2/jpm-coin-system/payment-parameters). The full request payload is sent using a `POST HTTP` request. The following example shows the minimum required payload for a Kinexys Digital Payments deposit request, with no optional fields included: ```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-30", "paymentIdentifiers": { "endToEndId": "202E092v021D35E4" }, "transferType": "CREDIT", "value": { "currency": "USD", "amount": "6500" }, "paymentType": "BLOCKCHAIN", "debtor": { "account": { "accountNumber": "123456789", "accountType": "DDA" } }, "debtorAgent": { "financialInstitutionIds": [ { "id": "CHASSGSG", "idType": "BIC" } ] }, "creditor": { "account": { "accountNumber": "98765432", "accountType": "BDA" } }, "creditorAgent": { "financialInstitutionIds": [ { "id": "CHASUS33", "idType": "BIC" } ] }, "remittanceInformation": { "unstructuredInformation": [ { "text": "Payment for container shipment" } ] } }' ``` ```json { "requestedExecutionDate": "2024-10-30", "paymentIdentifiers": { "endToEndId": "202E092v021D35E4" }, "transferType": "CREDIT", "value": { "currency": "USD", "amount": "6500" }, "paymentType": "BLOCKCHAIN", "debtor": { "account": { "accountNumber": "123456789", "accountType": "DDA" } }, "debtorAgent": { "financialInstitutionIds": [ { "id": "CHASSGSG", "idType": "BIC" } ] }, "creditor": { "account": { "accountNumber": "98765432", "accountType": "BDA" } }, "creditorAgent": { "financialInstitutionIds": [ { "id": "CHASUS33", "idType": "BIC" } ] }, "remittanceInformation": { "unstructuredInformation": [ { "text": "Payment for container shipment" } ] } } ``` ## Confirm the response You should receive a successful response containing an `endToEndId` and a `paymentId`. These values are used to [retrieve the status of your request](/docs/treasury/global-payments/capabilities/global-payments-2/jpm-coin-system/how-to/get-coin-transaction-status). ```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": "BLOCKCHAIN" } ``` There are a few error responses you may encounter. For more information about error codes, see the [status responses and error codes](/api/treasury/global-payments/global-payments-2/error-codes) section. ## Kinexys Digital Payments deposit request callbacks Transaction status responses for your Kinexys Digital Payments deposit request are provided through callbacks. ```json { "callbacks": [ { "paymentId": "989a066e-2947-4fa9-9ec7-5d09b1917c11", "paymentStatus": "PROCESSING", "statusUpdatedAt": "2024-10-30T14:15:22Z", "requestedExecutionDate": "2024-10-30", "paymentIdentifiers": { "endToEndId": "202E092v021D35E4" }, "transferType": "CREDIT", "paymentType": "BLOCKCHAIN" } ] } ``` The Kinexys Digital Payments supports multiple response types, including `RECEIVED`, `ACCECPTED`, `PROCESSING`, `CANCELED`, `REJECTED`, `COMPLETED`, and `RETURNED`. For more information, see [Response types](/api/treasury/global-payments/global-payments-2/error-codes). ## Related - For more information about Kinexys Digital Payments parameters, see [Payment parameters](/docs/treasury/global-payments/capabilities/global-payments-2/jpm-coin-system/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 - Initiate a [Kinexys Digital Payments](/docs/treasury/global-payments/capabilities/global-payments-2/jpm-coin-system/how-to/initiate-kinexys-digital-payments). - Initiate a [Kinexys Digital Payments Status Inquiry](/docs/treasury/global-payments/capabilities/global-payments-2/jpm-coin-system/how-to/get-coin-transaction-status).