Create a payment
Submit a payment on behalf of your customers using bank account data
Overview
If you haven't independently used the create a token service to generate an encrypted bank token, the ACHQ API allows for a payment transaction to be created using a receiver's plain text bank account details. Once the transaction is created, the API will return a secure bank token to be used for subsequent transactions.
Don't throw all the data away
We recommend storing at least the Bank Name and Last 4 Digits of all bank accounts in your system. It is important to display this information to end-users when a transaction is authorized or initiated.
Fields and values
All API requests should include the fields detailed in the General Implementation Rules.
The following values are specific to creating a payment using a bank account
Field Name | Usage | Field Value Format Constraints | Max Length |
---|---|---|---|
Command | Required | Set to ECheck.ProcessPayment | 50 |
Provider_TransactionID | Optional | A unique identifier assigned to this payment | 50 |
DateScheduled | Optional | Date to process this payment. Format mm/dd/yyyy | - |
PaymentDirection | Required | Value must be FromCustomer or ToCustomer | 12 |
Amount | Required | The amount of the check. | - |
Merchant_ReferenceID | Optional | Reference ID the merchant wants assigned to this payment | 50 |
Description | Optional | A description for this transaction | 100 |
Billing_CustomerID | Optional | A unique ID assigned to the Customer. | 20 |
Billing_CustomerName | Required | Name of person on bank account | 80 |
Billing_Company | Conditional | Company name on bank account. Required if CheckType field is set to Business | 80 |
Billing_Address1 | Required | Street Address on bank account | 70 |
Billing_Address2 | Optional | Additional street address information | 40 |
Billing_City | Required | City | 70 |
Billing_State | Required | State | 30 |
Billing_Zip | Required | Zip Code. Format: ##### or #####-#### | 10 |
Billing_Country | Optional | 2-letter country code (ISO 3166). Default is US | 2 |
Billing_Phone | Required | Phone number | 20 |
Billing_Email | Requried | Customer's email address | 80 |
SendEmailToCustomer | Required | Value must be Yes or No | 3 |
Customer_IPAddress | Conditional | Customer’s IP Address. Only required if the SECCode field is set to WEB. | 15 |
Run_ExpressVerify | Required | Value must be Yes or No | 3 |
Create_ACHQToken | Optional | Value must be Yes or No. Default is No if not specified. | 3 |
SECCode | Required | Value must be PPD, CCD, WEB, or TEL. Additional details here | 3 |
CheckType | Required | Value must be Personal or Business | 8 |
AccountType | Required | Value must be Checking or Savings | 8 |
RoutingNumber | Required | Bank routing number | 9 |
AccountNumber | Required | Bank account number | 30 |
Sample request
curl --request POST \
--url 'https://www.speedchex.com/datalinks/transact.aspx/?ProviderID=99&Provider_GateKey=test&Provider_GateID=test&MerchantID=2001&Merchant_GateID=test&Merchant_GateKey=test&CommandVersion=2.0&Command=ECheck.ProcessPayment&bankaccountpayment=' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data Provider_TransactionID=21321312 \
--data Amount=42.00 \
--data PaymentDirection=FromCustomer \
--data 'Description=Rent Payment' \
--data SECCode=WEB \
--data DeliveryWindow=Standard \
--data 'Billing_CustomerName=Bob Loblaw' \
--data AccountType=Checking \
--data RoutingNumber=123123123 \
--data AccountNumber=12345678 \
--data 'Billing_Address1=123 Street' \
--data Billing_City=Town \
--data Billing_State=NY \
--data Billing_Zip=12345 \
--data Billing_Country=US \
--data [email protected] \
--data Billing_Phone=111-867-5309 \
--data Customer_IPAddress=0.0.0.0 \
--data SendEmailToCustomer=No \
--data CheckType=Personal \
--data Create_ACHQToken=Yes
Response
{
"CommandStatus": "Approved",
"Description": "Command Successful. Approved.",
"ErrorInformation": null,
"ExpressVerify": {
"Status": null,
"Code": null,
"Description": null
},
"ResponseData": null,
"ACHQToken": "achq-sandbox-127a3-ee432-2a07e",
"Provider_TransactionID": "21321312",
"TransAct_ReferenceID": "14476929",
"ResponseCode": "000"
📜 Full API reference here
Updated over 2 years ago