Debit
Performs consumer verification and then creates a transaction that takes money from the consumer.
Note that "Auth-Only" merchants do not have access to create Debit or Credit transactions.
Endpoints
URL | XML Endpoint |
---|---|
/EPNAPI/ACH.aspx | CGI |
/EPNAPI/ACHXML.aspx | XML |
Pages of Note
Transaction Errors and Severity Levels
Transaction Status Codes Guide
Parameters
Parameter Name | Type | Character limit | Basic Requirements | With LexisNexis | With AccountCheck | Notes |
Method | String | 20 | Required |
|
| “Debit". This parameter is not submitted to WebService interfaces because it is implied by the WebService method being called. |
Version | String | 15 | Required |
|
| Version of the API with which you integrated. Should be at least "1.4.2". |
ResponseXML | Boolean | 5 | Optional |
|
| "True" for an XML response. "False" (default) for a simple text response. The "ResponseXML" parameter is not submitted to XML interfaces because they always return an XML response. |
Test | Boolean | 5 | Optional |
|
| "True" if this is just a test that should not be finalized. "False" (default) if this is a live/production request. |
Login | String | 16 | Required |
|
| Normally this is the merchant's 6-digit Company Number. |
Password | String | 16 | Required |
|
|
|
ReferenceNumber | String | 40 | Required |
|
| Merchant's identifier for the transaction, to be stored for convenience. This can be a number from the merchant's own database, or it can be ignored by passing "0". |
SECCode | String | 3 | Depends |
|
| Standard Entry Class code, such as “ARC”,”BOC”,”RCK”,"CCD", "PPD", "TEL", or "WEB". This is always required on certain merchant accounts; otherwise it should be left blank. |
Descriptor | String | 10 | Depends |
|
| A description of the transaction that will appear on the client's bank statement. If you don't have explicit permission to submit this, then it should be left blank. |
OriginateDate | Date | 10 | Optional |
|
| Date on which to originate the transaction, either today (default) or future. Format: "M/D/YYYY". |
Amount | Decimal | 9 | Required |
| Required | U.S. Dollars. |
RoutingNumber | String | 9 | Required |
| Required | Always 9 digits. |
AccountNumber | String | 17 | Required |
| Required | Numerals only. |
Savings | Boolean | 5 | Optional |
| Optional | "True" if this is a savings account. "False" (default) if this is a checking account. |
CheckNumber | String | 8 | Optional |
| Optional |
|
Name | String | 60 | Required | Required |
| Consumer's full name, first name first, last name last, with no commas. |
Address1 | String | 50 | Optional | Required |
| Street and number. |
Address2 | String | 50 | Optional | Optional |
| Unit number, etc. |
City | String | 50 | Optional | Required |
|
|
State | String | 2 | Optional | Required |
|
|
Zip | String | 10 | Optional | Required |
| Can be 5 or 9 digits. |
Phone | String | 16 | Optional | Depends |
| 110-digit North American phone numbers only. |
String | 50 | Optional |
|
|
| |
Birthday | Date | 10 | Optional | Depends |
| 1Format: "M/D/YYYY". |
SSN | String | 11 | Optional | Depends |
| 1Social Security Number. Format can be "123456789" or "123-45-6789" or "6789". Can be 0 to omit. |
DLN | String | 40 | Optional | Optional |
| Driver's License Number. |
DLS | String | 2 | Optional | Optional |
| Driver's License State whence issued. |
AuthorizationID | Integer |
| Depends |
|
| 2This parameter is only provided with Check Guarantee Authorization feature is enabled for the account, otherwise it should be omitted. |
CustRefId | String |
| Optional | Optional |
| User information field, can be used to store additional data as needed. |
ConsumerId | String | 36 | Optional |
|
| Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Use the ConsumerId to specify an already saved Consumer from the recurring system. |
Addenda | String | 80 | Optional |
|
| The addenda information can be attached to a transaction. This is commonly used to specify extra account information that the IRS may need to match your payment to their system. |
Notes | String | 60 | Optional |
|
| Explanation of a transaction, stored for convenience |
CustomField1 | String | 128 | Optional |
|
|
|
CustomField2 | String | 128 | Optional |
|
|
|
CustomField3 | String | 128 | Optional |
|
|
|
CustomField4 | String | 128 | Optional |
|
|
|
CustomField5 | String | 128 | Optional |
|
|
|
CustomField6 | String | 128 | Optional |
|
|
|
CustomField7 | String | 128 | Optional |
|
|
|
CustomField8 | String | 128 | Optional |
|
|
|
CustomField8 | String | 128 | Optional |
|
|
|
CustomField10 | String | 128 | Optional |
|
|
|
If you have LexisNexis verification enabled: LexisNexis only verifies name, address, phone number, birthday, and SSN if these options are enabled on the merchant account.
The AuthorizationID parameter that is part of the Debit method should only be provided if the merchant account has the Check Guarantee verification option enabled by Check Commerce’s merchant services department. The value of this parameter should be an ID from a transaction submitted using the Authorize method with matching bank account and consumer information. If the debit is submitted using an authorization that was declined, the debit will receive a Severity 3, consumer verification negative response and be declined.
Request Samples
/EPNAPI/ACH.aspx
Request
/EPNAPI/ACH.aspx?Method=Debit&Version=1.4.2.35&Login={MerchantNumber}&Password={MerchantPassword}&ReferenceNumber=0&Amount=10%2c25&RoutingNumber=888888884&AccountNumber=111333444555&Name=Joh%20Smith
Response
Network=ACH Method=Debit Version=1.4.2.35 Test=True Success=True Severity=0 Message=Transaction processed. TransactionID=1904885690 Status=Processed ApprovalCode= Note=PrevPay: nil +0 Note=PlaidBalance PBC: Plaid Balance check no consumer id +0 Note=Score: 100/100 Score=nil Score=PLAIDBALANCENOCONID ConsumerId=c7f4d377-c2b8-456c-b3cd-fb2a7891f971
/EPNAPI/ACHXML.aspx
Request
<ACH> <Method>Debit</Method> <Version>1.4.2.35</Version> <Login>{MerchantNumber}</Login> <Password>{MerchantPassword}</Password> <ReferenceNumber>0</ReferenceNumber> <Amount>10.25</Amount> <RoutingNumber>888888884</RoutingNumber> <AccountNumber>111333444555</AccountNumber> <Name>John Smith</Name> </ACH>
Response
<?xml version="1.0"?> <Response Network="ACH" Method="Debit" Version="1.4.2.35" Test="True" Success="True" Severity="0" TransactionID="1904885691" Status="Processed" ApprovalCode=""> <Message>Transaction processed.</Message> <Notes> <Note>PrevPay: nil +0</Note> <Note>PlaidBalance PBC: Plaid Balance check no consumer id +0</Note> <Note>Score: 100/100</Note> </Notes> <Scores> <Score>nil</Score> <Score>PLAIDBALANCENOCONID</Score> </Scores> <ConsumerId>3b42bf54-4310-4574-816c-fcc7bbaa070b</ConsumerId> </Response>