Skip to content
Last updated

Process an ACH payment

Prerequisites

Step 1: Build the request

Set type to payment and include the person's bank account details.

FieldRequiredDescription
typeYespayment
amountYesAmount in cents
payment_method.typeYesach
payment_method.account_numberYesBank account number
payment_method.routing_numberYes9-digit ABA routing number
payment_method.account_typeYeschecking or savings
payment_method.nameYesAccount holder name
payment_method.emailYesAccount holder email
recurringYestrue for recurring debits (PPD); false for one-time (WEB)

Step 2: Send the request

curl -X POST \
  https://api.dev.paradisegateway.net/v1/transactions \
  -H "Content-Type: application/json" \
  -H "APIKEY: YOUR-API-KEY" \
  -d '{
    "type": "payment",
    "amount": 50000,
    "payment_method": {
      "type": "ach",
      "account_number": "9876543210",
      "routing_number": "021000021",
      "account_type": "checking",
      "name": "Montgomery Scott",
      "email": "scotty@example.com"
    },
    "recurring": false,
    "purchase_description": "Dilithium crystals"
  }'

Step 3: Handle the response

{
  "id": "TRANSACTION-03LPSC0TTY9ZXQ5MV0H4Y6W8A",
  "object": "CreateTransactionResponse",
  "type": "payment",
  "transaction_state": "authorized",
  "response_status": "Approved",
  "response_code": "00",
  "response_message": "The API request is approved.",
  "amount_requested": 50000,
  "amount_authorized": 50000,
  "amount": 50000,
  "correlation_id": "c3d4e5f6-a7b8-9012-cdef-123456789abc"
}
authorized ≠ settled

An authorized ACH transaction means the request was accepted. Funds settle in 2–3 business days and returns can occur for up to 60 days. Do not treat the initial response as final settlement.

Step 4: Monitor for returns

ACH transactions can be returned after settlement. Poll GET /v1/transactions/{id} or configure webhooks to detect returns.

Return codeReasonTimeline
R01Insufficient funds2 business days
R02Account closed2 business days
R03No account / unable to locate2 business days
R10Customer advises not authorizedUp to 60 days

For the full return code list, see About ACH/bank account payments.

Next steps