Secure Payments API – NACHA Create Transaction


Secure payments allows for NACHA transactions to be created. For an explanation of the whole process, see our NACHA Process Start to Finish article.

How To

To create a NACHA transaction, send a POST request to the following endpoint:


Make sure to replace {id} with the ID of your NACHA processor:

Here's a sample of the JSON payload for this request:

"amount": 1,
"sec-code": "PPD",
"funds-direction": "FromCustomer"

And here's a sample cURL request:

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'authorization: YOUR AUTH' --header 'secret: YOUR SECRET' -d '{ \
"transaction": { \
"amount": 1, \
"sec-code": "PPD", \
"finds-direction": "FromCustomer" \
}, \
"checking-account": { \
}, \
"metadata": {} \
}' ''

A successful request will result in a response similar to the following:

"transaction": {
"amount": 1,
"raw_response": "{}",
"operation": "credit",
"operation_success": true,
"created": "2017-6-07 22:49:29",
"token": "TOKEN",
"status": "submitted",
"id": 274,
"sec_code": "PPD",
"raw_http_code": 200,
"processor": "nacha",
"metadata": "{}",
"customer_name": "John Q. Customer",
"customer_id": 253
"processor": {
"discretionary_data": "Data",
"name": "Test Processor",
"cutoff_time": 0,
"bank_name": "Test Bank",
"company_name": "My Company",
"tax_id": "12-3456789",
"bank_routing": "123123123"

When NACHA files are generated, any special character names will be scrubbed out: processor names are also included in this. Accepted character are 0-9 a-z A-Z - & , .

How did we do?

Powered by HelpDocs (opens in a new tab)