Skip to main content

Initiate an ACH payment request

In this tutorial, you will learn how to use the Global Payments API to initiate an ACH request for several common use cases.

By the end of this tutorial, you will know how to:

  • Create an ACH Chile request payload.
  • Interpret a successful response.

Before you begin

To use ACH, you will need the following:

  • A registered and fully onboarded 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 CLP bank account configured for Chile to perform an ACH transaction.
  • The beneficiary RUT (Local Tax ID).
  • The payment purpose code.
Tip

Some purpose codes are only applicable to certain company or individual RUTs as beneficiary. A rejection is generated in the case of a purpose code and Tax ID mismatch. For more information about purpose codes, see Purpose codes.

  • The Beneficiary bank local Clearing code
  • The account type:
    • DDA
    • Savings Account
    • Basic Account (Cuenta Rut, Cuenta Vista)
  • Currency:
    • Chilean Peso (CLP) only
  • The amount
Tip

You can’t use decimals for CLP.

Create and send an ACH request

In this step, you’ll learn how to create and send ACH Chile requests for different types of beneficiaries.

Tip

The Global Payments API has different required payment parameters depending on the region. The below examples show the minimum required fields for the Chilean market.

Beneficiary payments

Use ACH to pay beneficiaries in Chile. The following example shows the minimum required fields for a beneficiary ACH payment:

POST /tsapi/v1/payments HTTP/1.1
Json
{
  "payments": {
    "paymentIdentifiers": {
      "endToEndId": "XR20210920CS1131416"
    },
    "requestedExecutionDate": "2022-12-01",
    "transferType": "CREDIT",
    "paymentCurrency": "CLP",
    "paymentAmount": 300,
    "debtor": {
      "debtorAccount": {
        "accountId": "2600023565",
        "accountCurrency": "CLP"
      },
      "debtorName": "Lucha Gonzalez"
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "bic": "CHASCLRM"
      }
    },
    "creditorAgent": {
      "financialInstitutionId": {
        "bic": "BCHICLRM",
        "clearingSystemId": {
          "id": "114740179",
          "branchNumber": "0001"
        }
      }
    },
    "creditor": {
      "creditorName": "Marina Simeone",
      "creditorAccount": {
        "accountId": "101000974",
        "accountType": "SVGS"
      },
      "postalAddress": {
        "country": "CL"
      }
    },
    "paymentType": "ACH.TRF",
    "purpose": {
      "code": "0010130000",
      "type": "PROPRIETARY"
    },
    "taxInformation": {
      "creditorTaxInformation": {
        "taxId": "06703922-K",
        "taxpayerCategory": "INDIVIDUAL"
      }
    }
  }
}

Confirm response

For all use cases, you should receive a successful response containing a firmRootId and an endToEndId.. These values can be used to retrieve the status or payment details of your request.

Example response with endToEndId & firmRootId - HTTP 202 Accepted
Json
{
  "paymentInitiationResponse": {
    "endToEndId": "XR20210920CS1131416",
    "firmRootId": "xatv-12522a-cqvf-225"
  }
}

There are a number of error messages that you may receive when submitting your payment request. The Global Payments API uses standard HTTP response codes and provides additional detail through the error response payload. For more information, see Error Codes.

Next steps