Verification and Validation

 

Even if an account passes validation and verification tests, the transaction can be rejected at the time of settlement. The bank from which the check is drawn does not participate in the verification or validation process. Therefore, an account can pass the verification and validation tests and the transaction can still be rejected if there are not sufficient funds in the account or if the bank account number is invalid.

The following table indicates the types of verification and validation supported for each processor.

Table 7Types of Verification and Validation

Payment Processor

Validation

ACH Verification

Guarantees

Paymentech Verification

Chase Paymentech Solutions

Yes

No

No

Yes

Cybersource ACH Services

No

Yes

No

No

TeleCheck

Yes

No

Yes

No

RBS

No

Yes

No

No

Validation

Service:

nDebit

Processors:

nChase Paymentech Solutions

nTeleCheck

 

For the Cybersource ACH Service, validation is included in the ACH verification functionality, which happens automatically when you call the debit or credit services.

Chase Paymentech Solutions and TeleCheck

 

For the TeleCheck service, contact Cybersource Customer Support for information about validation.

Validation consists of format tests, bank routing number tests, and a comparison with the check processing partner’s internal negative file. Set ecDebitService_verificationLevel to 1 to request validation with your debit request.

ACH Verification

Services:

nCredit

nDebit

Processors:

nCybersource ACH Service

nRBS WorldPay Atlanta

ACH verification is performed automatically for all debit and credit requests for the Cybersource ACH Service and RBS WorldPay Atlanta. ACH verification:

1Validates the format and structure of the customer’s bank account number. If the account number needs to be corrected, and if a corrected account number is available, Cybersource returns the corrected account number to you in one of these fields:

necDebitReply_correctedAccountNumber

necCreditReply_correctedAccountNumber

2Verifies that the customer’s routing number is a valid routing number and valid for electronic transactions. If the routing number needs to be corrected, and if a corrected routing number is available, Cybersource returns the corrected routing number to you in one of these fields:

necDebitReply_correctedRoutingNumber

necCreditReply_correctedRoutingNumber

 

If a corrected account number or corrected routing number is returned to you, you can use the value to update the information in your system. You do not need to update the information for the current transaction because Cybersource already updated the information before sending the transaction request to your bank.

3Returns verification codes to you whether or not the account number or routing number was corrected. These verification codes indicate the results of the ACH verification. One of these verification codes is a mapped value and is returned in one of these fields:

necDebitReply_verificationCode

necCreditReply_verificationCode

The other verification code is a raw value and is returned in one of these fields:

necDebitReply_verificationCodeRaw

necCreditReply_verificationCodeRaw

The verification codes have enumerated values that are described in Table 13   , Reply Fields.

Guarantees

Service:

nDebit

Processor:

nTeleCheck

 

Contact TeleCheck for information about check guarantees.

Paymentech Verification

Service:

nDebit

Processor:

nChase Paymentech Solutions

 

If you use the Paymentech verification feature, the Fair Credit Reporting Act (FCRA) requires that you notify your customer when an electronic check transaction is declined as a result of the verification process.

Paymentech verification compares the transaction information with an external negative file to identify accounts that have a history of bad checks or that were closed for cause. Set ecDebitService_verificationLevel to 2 to request Paymentech verification with your debit request.

Electronic Check Credits

Requesting a Credit

To request an electronic check credit, set the ecCreditService_run field to true. When you request a credit, do not request any of the following services at the same time:

nAny credit card services: ccAuthService, ccAuthReversalService, ccCaptureService, ccCreditService. For information about these services, see Credit Card Services User Guide.

nElectronic check debit: ecDebitService. For information about this service, see Electronic Check Debits.

nPayPal payment or credit: payPalPaymentService, payPalCreditService. For information about these services, see PayPal Express Checkout Services Using the Simple Order API.

Follow-On Credits and Stand-Alone Credits

There are two kinds of credits:

nFollow-on—all processors support this feature. Send the credit request with the request ID from the debit reply. Cybersource uses this value to retrieve all customer billing and account information that you sent with the debit so that you do not have to send it again with the credit.

nStand-alone—all processors except TeleCheck support this feature. You need to include all customer billing and account information because Cybersource does not retrieve anything from the database.

 

Cybersource stores the debit information for 60 days, so you must process follow-on credits within 60 days of the debit request. If the 60 days have passed or if you are not sure if the 60 days have passed, use a stand-alone credit and provide all customer billing and account information.

Deciding Which Kind of Credit to Request

nAll processors except TeleCheck: if you are sending the credit request within 60 days of the debit request, send a follow-on credit so that you are not required to provide all customer information. If you are sending the credit request more than 60 days after the debit request, send a stand-alone credit.

nTeleCheck: you must send the credit request within 60 days of the debit request. The credit request must be a follow-on credit, which means you do not need to provide all customer information. Cybersource retrieves all required information from the database, including the identifier that the processor uses to link the credit to the debit. By linking the credit to the debit, the processor can prohibit a credit amount that exceeds the debit amount.

Follow-On Credits

A follow-on credit uses the request ID from a previous ecDebitService request to link the credit to the debit. Send the request ID value in the ecCreditService_debitRequestID field. Cybersource uses this value to look up the customer’s billing and account information from the original debit; you are not required to include this field in the ecCreditService request.

 

A follow-on credit must be for a debit request that included a payment; ecDebitService_paymentMode=0 or 2. A follow-on credit cannot be for a debit request in which ecDebitService_paymentMode=1.

 

If you combine a request for a follow-on credit with a request for another service, you must provide the customer’s billing and account information.

Stand-Alone Credits

A stand-alone credit does not link the credit to a previous debit request. Do not send the ecCreditService_debitRequestID field in the credit request; the request must include the fields for the customer’s billing and account information.

ACH Verification

Services:

nCredit

nDebit

Processors:

nCybersource ACH Service

nRBS WorldPay Atlanta

ACH verification is performed automatically for all debit and credit requests for the Cybersource ACH Service and RBS WorldPay Atlanta. ACH verification:

1Validates the format and structure of the customer’s bank account number. If the account number needs to be corrected, and if a corrected account number is available, Cybersource returns the corrected account number to you in one of these fields:

necDebitReply_correctedAccountNumber

necCreditReply_correctedAccountNumber

2Verifies that the customer’s routing number is a valid routing number and valid for electronic transactions. If the routing number needs to be corrected, and if a corrected routing number is available, Cybersource returns the corrected routing number to you in one of these fields:

necDebitReply_correctedRoutingNumber

necCreditReply_correctedRoutingNumber

 

If a corrected account number or corrected routing number is returned to you, you can use the value to update the information in your system. You do not need to update the information for the current transaction because Cybersource already updated the information before sending the transaction request to your bank.

3Returns verification codes to you whether or not the account number or routing number was corrected. These verification codes indicate the results of the ACH verification. One of these verification codes is a mapped value and is returned in one of these fields:

necDebitReply_verificationCode

necCreditReply_verificationCode

The other verification code is a raw value and is returned in one of these fields:

necDebitReply_verificationCodeRaw

necCreditReply_verificationCodeRaw

The verification codes have enumerated values that are described in Table 13   , Reply Fields.

Notifications of Change (NOCs)

Services:

nCredit

nDebit

Processors:

nCybersource ACH Service

nRBS WorldPay Atlanta

A Notification of Change (NOC) is a notice from a customer’s bank indicating that an electronic check transaction included incorrect customer or payment information. The customer’s bank:

1Corrects the information.

2Posts the transaction to the customer’s bank account.

3Notifies you that payment information needs to be updated.

Each NOC includes a code that specifies what needs to be changed. You are responsible for taking the appropriate action when you receive a NOC.

You must correct all applicable records before submitting additional electronic check transactions for the customer. If you are using the Token Management Service or Recurring Billing, you must update the information in your tokens, subscriptions, or customer profiles.

 

Cybersource maintains a database of all NOC entries. Repeated attempts to resubmit an uncorrected transaction could result in a fine and possible sanctions from the National Automated Clearing House Association (NACHA).

To get information about NOCs for your transactions:

Step 1Create a PGP key pair as described in Creating and Using Security Keys.

Step 2Log in to the Business Center and view the NOC Report, which is available under Transaction Reports.

You can also talk to your bank about getting a report that includes NOCs. NOC codes are described in NOC Codes.

 

Optional Features for Credits

For information about optional features such as merchant descriptors and multiple partial credits, see Optional Features.

Credit Request Fields

The fields listed below are used to request an electronic check credit. For detailed descriptions of these fields, see Request Fields.

 

On TeleCheck, request field values must not contain ampersands (&).

nbillTo_city

nbillTo_country

nbillTo_dateOfBirth

nbillTo_email

nbillTo_firstName

nbillTo_ipAddress

nbillTo_lastName

nbillTo_phoneNumber

nbillTo_postalCode

nbillTo_state

nbillTo_street1

nbillTo_street2

ncheck_accountNumber

ncheck_accountType

ncheck_bankTransitNumber

ncheck_checkNumber

ncheck_paymentInfo

ncheck_secCode

necCreditService_commerceIndicator

necCreditService_debitRequestID

necCreditService_partialPaymentID

necCreditService_referenceNumber

necCreditService_run

necCreditService_settlementMethod

necDebitService_debitRequestID

necDebitService_partialPaymentID

ninvoiceHeader_merchantDescriptor

nitem_#_productCode

nitem_#_productName

nitem_#_productSKU

nitem_#_quantity

nitem_#_taxAmount

nitem_#_unitPrice

nmerchantID

nmerchantReferenceCode

npurchaseTotals_currency

npurchaseTotals_grandTotalAmount

nrecurringSubscriptionInfo_subscriptionID

Authentication

Processor:

nRBS WorldPay Atlanta

The authentication service is an optional service you can request for RBS WorldPay Atlanta.

To request an electronic check authentication, set the ecAuthenticateService_run field to true. The following fields are required when requesting this service:

nbillTo_city

nbillTo_country

nbillTo_firstName

nbillTo_lastName

nbillTo_postalCode—5 digits

nbillTo_state

nbillTo_street1

necAuthenticateService_run

nmerchantID

nmerchantReferenceCode

For more information about these fields, see API Fields.

The authentication service:

nValidates customer information such as name, address, and date of birth and returns information to you in the ecAuthenticateReply_checkpointSummary field.

nProvides you with consumer fraud information to help protect you against fraudulent transactions. Information is returned to you in the ecAuthenticateReply_fraudShieldIndicators field.

For more information, see:

nCheck Point Summary Codes

nFraud Shield Indicator Codes

Voids

A void cancels an electronic check debit or credit request that you have submitted to Cybersource. A transaction can be voided only if Cybersource has not already submitted the debit or credit information to your processor. Cybersource usually submits transaction information to your processor each day, so the period for successfully performing a void is relatively short. Cybersource declines your void request if the debit or credit information was already sent to the processor. You cannot undo a void, and you cannot perform a follow-on credit for a debit that has been voided.

Requesting a Void

To request a void for an electronic check debit or credit, set the voidService_run field to true. When you request a void, do not request any other services at the same time.

A void is a follow-on transaction that uses the request ID returned from a previous ecDebitService or ecCreditService request to link the void to the debit or credit. Send the request ID value in the voidService_voidRequestID field. Cybersource uses this value to look up the customer’s billing and account information from the original debit or credit, which means that you are not required to include this field in the voidService request.

The fields listed below are used to request a void. For detailed descriptions of these fields, see Request Fields.

nmerchantID

nmerchantReferenceCode

nvoidService_run

nvoidService_voidRequestID