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

Transactions Status Flow

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.

Email

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.

Please note that the information provided in the notes is for informational purposes only. We maintain updates in the notes field as they progress through our system during processing. Please be aware that notes may change at any time and should not be relied upon for data parsing.

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>