---
title: "Run echeck transaction"
method: POST
path: "/pay/v3/processECheck"
tags: ["Ecommerce"]
---

# Run echeck transaction

`POST /pay/v3/processECheck`

Allows you to process an echeck transaction in any of the following situations:

- An initial transaction that uses a saved echeck token.
- A subsequent transaction that uses a saved echeck token.

For more information about how to implement this endpoint, see the [Creating an echeck checkout page with your own form](https://docs.nexiopay.com/docs/creating-an-echeck-checkout-page-with-your-own-form) or [Running an echeck transaction with the API](https://docs.nexiopay.com/docs/running-an-echeck-transaction-with-the-api) topic.


<!-- theme: warning -->
> ⚠️ Try It
> 
> To use the Try It feature for this endpoint, you can use the credentials for your [Sandbox API user](https://docs.nexiopay.com/docs/sandbox-environments).<br/><br/>You can also use the following test account. Copy the value and paste it into the appropriate space in the Try It section to the right.
> username: `docs@nexiopay.com`
> password: `JZdzoXpdDeH6VA`<br/><br/>Include at least an `amount`, `currency`, and `tokenex.token` (the saved echeck token) as body parameters.

<div style="display:none;">

## Request parameters
- data
- data.amount
- data.currency
- data.cart
- data.cart.items
- data.cart.items.item
- data.cart.items.description
- data.cart.items.quantity
- data.cart.items.price
- data.cart.items.type
- data.customer
- data.customer.billToAddressOne
- data.customer.billToAddressTwo
- data.customer.billToCity
- data.customer.billToCountry
- data.customer.billToPhone
- data.customer.billToPostal
- data.customer.billToState
- data.customer.companyName
- data.customer.createdAtDate
- data.customer.customerRef
- data.customer.email
- data.customer.firstName
- data.customer.invoice
- data.customer.lastName
- data.customer.orderNumber
- data.customer.phone
- data.customer.shipToAddressOne
- data.customer.shipToAddressTwo
- data.customer.shipToCity
- data.customer.shipToCountry
- data.customer.shipToPhone
- data.customer.shipToPostal
- data.customer.shipToState
- data.customFields
- data.customFields.exampleKey
- secCode
- settlementCurrency
- tokenex
- tokenex.token
- tokenex.customerRefNumber
- tokenex.lastFour
- bank
- bank.accountHolderName
- bank.routingNumber
- processingOptions
- processingOptions.verboseResponse
- processingOptions.merchantId

## Response parameters
- amount
- authCode
- bank
- bank.accountHolderName
- bank.routingNumber
- bank.accountNumber
- currency
- data
- data.amount
- data.cart
- data.cart.items
- data.cart.items.item
- data.cart.items.description
- data.cart.items.quantity
- data.cart.items.price
- data.cart.items.type
- data.currency
- data.customFields
- data.customFields.exampleKey
- data.customer
- data.customer.billToAddressOne
- data.customer.billToAddressTwo
- data.customer.billToCity
- data.customer.billToCountry
- data.customer.billToPhone
- data.customer.billToPostal
- data.customer.billToState
- data.customer.companyName
- data.customer.createdAtDate
- data.customer.customerRef
- data.customer.email
- data.customer.firstName
- data.customer.invoice
- data.customer.lastName
- data.customer.orderNumber
- data.customer.phone
- data.customer.shipToAddressOne
- data.customer.shipToAddressTwo
- data.customer.shipToCity
- data.customer.shipToCountry
- data.customer.shipToPhone
- data.customer.shipToPostal
- data.customer.shipToState
- data.lodging
- data.lodging.advanceDeposit
- data.lodging.checkInDate
- data.lodging.checkOutDate
- data.lodging.noShow
- data.lodging.roomNumber
- data.lodging.roomRate
- data.settlementCurrency
- gatewayResponse
- gatewayResponse.gatewayName
- gatewayResponse.refNumber
- id
- merchantId
- transactionDate
- transactionStatus
- transactionType

</div>

## Request body

- object
  - `data` object, required — Transaction and customer data.
    - `amount` Amount, required — unresolved $ref
    - `currency` Currency, required — unresolved $ref
    - `settlementCurrency` string — The [three-character ISO code](https://en.wikipedia.org/wiki/ISO_4217) for the currency in which the transaction will be settled.
    - `secCode` string — The Standard Entry Class code for an ACH file format. This field only applies to e-check transactions. See the [Standard Entry Class code table](https://docs.nexiopay.com/docs/constant-ach-transaction-values#standard-entry-class-code-seccode) in Guides for a list of possible values.
    - `customer` Customer — unresolved $ref
    - `cart` object — Items purchased in the transaction.
      - `items` object[] — Details about items in the shopping cart.
        - `item` string — Item number or code. This value is cached in the one-time-use token.
        - `description` string — A description of the item. This value is cached in the one-time-use token.
        - `quantity` integer — The quantity sold. This value is cached in the one-time-use token.
        - `price` number — The price per item. This value is cached in the one-time-use token.
        - `type` TransactionType — unresolved $ref
    - `customFields` CustomFields — unresolved $ref
    - `description` Description — unresolved $ref
    - `lodging` object — Lodging data (related to hotels, motels, inns, etc.). This value is cached in the one-time-use token. For a tutorial on using lodging data, see [Getting started with hospitality](getting-started-with-hospitality) in Guides.
      - `advanceDeposit` boolean — Set to true if the customer paid a deposit in advance of their reservation. This value is cached in the one-time-use token.
      - `checkInDate` string — The customer's check-in date. Format YYYY-MM-DD. This value is cached in the one-time-use token.
      - `checkOutDate` string — The customer's check-out date. Format YYYY-MM-DD. This value is cached in the one-time-use token.
      - `noShow` boolean — Set to `true` if the customer failed to show up to their reservation. This value is cached in the one-time-use token.
      - `roomNumber` number — The customer's room number. This value is cached in the one-time-use token.
      - `roomRate` number — The room's rate, per day. This value is cached in the one-time-use token.
  - `tokenex` object, required — The e-check token. Echeck tokens can be used to process through any MID on your account. They are not restricted to a specific merchant account or currency.
    - `token` string, required — A previously saved echeck token. Echeck tokens can be used to process through any MID on your account. They are not restricted to a specific merchant account or currency.
    - `customerRefNumber` string — The customer reference number.
    - `lastFour` LastFour — unresolved $ref
  - `bank` object — Bank account information
    - `accountHolderName` string — The account holder's name. Use the value for whichever name is on the account. Therefore. if the account is under a business name, use that value. If needed, you can specify the company name for the `data.customer.companyName` parameter. Or, if you use a business name here, and want to associate a specific person for the account, use the `data.customer.firstName` and `data.customer.lastName` parameters.
    - `routingNumber` string — The checking account's routing number. This value is cached in the one-time-use token.
  - `processingOptions` object — Processing Options
    - `merchantId` string — The Nexio merchant ID (MID). Generally, you should avoid sending this value in the request because it may interfere with several Nexio features. The API user you use directs the transaction to the appropriate MID automatically.
    - `verboseResponse` boolean — Set to `true` to include additional information in the response. This value is cached in the one-time-use token.

## Response `200`

success

- object — The response from a successful payment
  - `id` Id — unresolved $ref
  - `merchantId` MerchantId — unresolved $ref
  - `authCode` AuthCode — unresolved $ref
  - `transactionType` TransactionType — unresolved $ref
  - `transactionDate` TransactionDate — unresolved $ref
  - `transactionStatus` TransactionStatus — unresolved $ref
  - `gatewayResponse` GatewayResponse — unresolved $ref
  - `bank` object — Bank account information.
    - `accountHolderName` AccountHolderName — unresolved $ref
    - `routingNumber` string — The masked routing number for the bank record associated with an echeck payment used for the transaction.
    - `accountNumber` string — The masked account number for the bank record associated with an echeck payment used for the transaction. Only the last four numbers of the account display.
  - `currency` Currency — unresolved $ref
  - `amount` number — The transaction amount. The maximum value has 16 digits total, including up to two of those digits after the decimal point. If including a `surcharge`, this value needs to include the transaction amount plus the surcharge amount. When submitting a transaction for an installment period, This amount is the total amount to be paid rather than the amount per transaction. The following values are expected for each gateway or connection that supports this feature: - [Cybersource](https://docs.nexiopay.com/docs/cybersource-integration-guide) - Accepted amount may depend on the currency or installment period used for the transaction. Contact Cybersource for more information. - [Openpay](https://docs.nexiopay.com/docs/openpay-integration-guide) - By default, the amount must be 300 and the currency must be MXN. The minimum amount can be changed by Openpay.
  - `data` object — Transaction and customer data.
    - `amount` Amount — unresolved $ref
    - `cart` Cart — unresolved $ref
    - `currency` Currency — unresolved $ref
    - `settlementCurrency` SettlementCurrency — unresolved $ref
    - `customer` Customer — unresolved $ref
    - `customFields` CustomFields — unresolved $ref
    - `lodging` Lodging — unresolved $ref

## Other responses

- `401` — Unauthorized. For help with this error and other error codes, see [Common errors](https://docs.nexiopay.com/docs/common-errors) in the Guides area.

---

[API](https://skmtc.dev/nexiopay/apis/payments-api-reference.md) · [All operations](https://skmtc.dev/nexiopay/apis/payments-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/nexiopay/payments-api-reference/revisions/b414b73979e5/schema)
