Skip to loginSkip to content

Our API

Learn about Authorize.net APIs and Products

API documentation

Integrate with our APIs with easy to read documentation.

API reference

Easy no-setup way to test our APIs – Out of the box samples with editable body - Send requests to our sandbox and see responses.

Sample code on [GitHub]

Sample codes published on GitHub for each REST API in popular languages

SDKs on [GitHub]

SDKs source code published on GitHub in popular languages

API change log

Track changes to our APIs over the years

System change log

Track changes to our System over the years

Upgrade guide

Ready to upgrade your API integration? Here’s how :

Getting started

Time to make your first API call.

Get started

Step-by-step guide to make your first API call.

Common setup questions

Commonly-encountered problems and solutions.

How payments work

Curious about payments?

Testing guide

Complete your integration journey – guides with sandbox testing instructions and processor specific testing trigger data.

Go-Live checklist

A Handy checklist for to go-live

Support

Reach out to our award-winning customer support team, or contact sales directly.

Get support

Reach out to our award-winning customer support team, or contact sales directly.

News and announcements

Find what we’re building and what our customers are saying here.

Forums

Come discuss with our curated Developer Community

Authorize.net on GitHub

Easy access to Github

Authorize.net on Stack Overflow

StackOverflow posts

Developer blog

Read about how we build products & leverage technology at Authorize.net

Response (error) codes

A handy guide to all the error codes

FAQs

Frequently asked questions relating to Authorize.net REST APIs and developer center.

Knowledge base

Sandbox

Affiliate

Support

  • eCheck
    • eCheck API Elements
    • Understanding ACH Codes
    • ACH Type Requirements

eCheck

eCheck is Authorize.net's electronic check (echeck) solution, which lets customers with US bank accounts use Automated Clearing House (ACH) transactions as a payment option.

Like payment card API requests, the eCheck service uses the createTransactionRequest API call, with bank routing and account numbers replacing payment card information. You can also use eCheck as a payment type for your customer payment profiles, whether through the Merchant Interface or the createCustomerPaymentProfileRequest API call.

Unlike payment card transactions, echeck transactions do not receive immediate authorization from the customer bank. Like paper checks, echeck transactions must clear the customer's bank before funding, and merchants might wait up to seven days after submitting echeck transactions to receive the funds.

Resources

  • API Reference
  • SDKs and Sample Code on GitHub
  • eCheck Operating Procedures and User Guide (PDF)

eCheck API Elements

The Authorize.net API has several elements that are unique to eCheck:

Element Name Description settingValue Format
accountTypeThe type of bank account. Certain bank account types require you to use certain ACH transaction types.String, either checking, savings, or businessChecking. See the Understanding ACH Codes section below for details.
routingNumberThe bank's routing number.String, up to 9 characters. For refunds, use "XXXX" plus the first four digits of the account number.
accountNumberThe customer's account number.String, up to 17 characters. For refunds, use "XXXX" plus the first four digits of the account number.
nameOnAccountThe name of the person who holds the bank account.String, up to 22 characters.
bankNameThe name of the bankString, up to 50 characters.
echeckTypeThe type of ACH transaction. String, either ARC, BOC, CCD, PPD, TEL, or WEB. See the Understanding ACH Codes section below for details.
checkNumberThe check number printed on the physical check. Required for ARC and BOC echeck transactions.String, up to 15 characters.

The eCheck service uses ACH codes for returns and notices of change (NOC). Use return codes to explain why a bank rejected an ACH transaction. Use NOC codes to learn of changes to a customer's banking information. To view a list of return codes and NOC codes, see the Testing Guide.

Understanding ACH Codes

Accounts Receivable Conversion (ARC)

Use ARC to convert paper checks received in the mail or left in a drop-box to echecks with a Magnetic Ink Character Recognition (MICR) reader.

Back Office Conversion (BOC)

Use BOC to convert checks written at a point of sale to echecks with a MICR reader during back-office processing.

Cash Concentration or Disbursement (CCD)

Use CCD to transfer funds to or from a business.

Prearranged Payment and Deposit Entry (PPD)

Use PPD for recurring billing, customer payment profiles, and prearranged payments in general.

Telephone-Initiated Entry (TEL)

Use TEL when the merchant and the customer have a pre-existing business relationship. To start a relationship, the customer must authorize the transaction by calling the merchant and consenting to the relationship.

Web-Initiated Entry (WEB)

Use WEB when the customer uses a website or smartphone app to authorize the transaction.

For more information about ACH types, see the eCheck Operating Procedures and User Guide.

ACH Type Requirements

According to ACH transaction rules, merchants must use the ACH type that matches the account type, the context of the transaction, whether refunds are permitted, and how merchants obtained authorization for the transaction. See the eCheck Operating Procedures and User Guide for more information on ACH transaction rules.

The table below shows the conditions under which you should use each ACH type.

ACH Type Supported Bank Account Types Charges Refunds Requires MICR Recurring Charges
ARCcheckingyesnoyesno
BOCcheckingyesnoyesno
CCDbusinessCheckingyesyesnoyes
PPDchecking or savingsyesyesnoyes
TELchecking or savingsyesnonono
WEBchecking or savingsyesnonoyes

Authorize.Net

Visa

Cybersource.com

Privacy

Ad prefernces

Cookie policy

Terms and conditions

© 2019-2022. Authorize.net. All rights reserved. All brand names and logos are the property of their respective owners, are used for identification purposes only, and do not imply product endorsement or affiliation with Authorize.net.

Open in a new window