CyberSource SCMP API Electronic Check Services Developer guide
Below you will find brief information for Electronic Check Services SCMP API. This guide describes tasks you must complete to integrate the electronic check services into your existing order management system.
Advertisement
Advertisement
Title Page
Electronic Check Services
Using the SCMP API
October 2016
CyberSource Corporation HQ | P.O. Box 8999 | San Francisco, CA 94128-8999 | Phone: 800-530-9095
CyberSource Contact Information
For general information about our company, products, and services, go to http://www.cybersource.com
.
For sales questions about any CyberSource Service, email [email protected]
or call 650-432-7350 or 888-330-2300 (toll free in the United States).
For support information about any CyberSource Service, visit the Support Center at http://www.cybersource.com/support .
Copyright
© 2016 CyberSource Corporation. All rights reserved. CyberSource Corporation ("CyberSource") furnishes this document and the software described in this document under the applicable agreement between the reader of this document ("You") and CyberSource ("Agreement"). You may use this document and/or software only in accordance with the terms of the Agreement. Except as expressly set forth in the Agreement, the information contained in this document is subject to change without notice and therefore should not be interpreted in any way as a guarantee or warranty by CyberSource. CyberSource assumes no responsibility or liability for any errors that may appear in this document. The copyrighted software that accompanies this document is licensed to You for use only in strict accordance with the Agreement. You should read the Agreement carefully before using the software. Except as permitted by the Agreement, You may not reproduce any part of this document, store this document in a retrieval system, or transmit this document, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written consent of CyberSource.
Restricted Rights Legends
For Government or defense agencies.
Use, duplication, or disclosure by the Government or defense agencies is subject to restrictions as set forth the Rights in Technical Data and Computer Software clause at DFARS
252.227-7013 and in similar clauses in the FAR and NASA FAR Supplement.
For civilian agencies.
Use, reproduction, or disclosure is subject to restrictions set forth in subparagraphs (a) through (d) of the Commercial Computer Software Restricted Rights clause at 52.227-19 and the limitations set forth in CyberSource Corporation's standard commercial agreement for this software. Unpublished rights reserved under the copyright laws of the United States.
Trademarks
CyberSource, The Power of Payment, CyberSource Payment Manager, CyberSource Risk Manager,
CyberSource Decision Manager, CyberSource Connect, Authorize.Net, and eCheck.net are trademarks and/or service marks of CyberSource Corporation. All other brands and product names are trademarks or registered trademarks of their respective owners.
2
Contents
Recent Revisions to This Document
7
About This Guide
8
8
8
8
9
Introduction to Electronic Check Services
10
10
10
11
11
11
Internet Check Acceptance Authorization—Full Debit
11
Internet Check Acceptance Authorization—Recurring Payments
13
Checks by Phone Authorization—Full Debit
14
Determining Whether a Check Has Cleared
15
16
16
16
17
Processor Transaction Identifiers
17
Transaction Identifiers on Wells Fargo ACH
18
Transaction Identifiers and Reply Values for Accounts That Support Merchant-
Generated Transaction Identifiers
18
19
Electronic Check Services Using the SCMP API | October 2016
3
Contents
Electronic Check Processing
21
21
21
Handling Customer Account Information
22
22
Notifications of Change (NOCs)
23
24
25
25
26
27
27
27
29
29
Follow-On Credits and Stand-Alone Credits
30
Deciding Which Kind of Credit to Request
30
30
31
31
Notifications of Change (NOCs)
32
33
33
35
36
36
Optional Features
37
37
38
38
39
40
41
Non-Sufficient Funds (NSF) Service
41
42
43
43
44
Electronic Check Services Using the SCMP API | October 2016
4
Contents
Testing Electronic Check Services
45
45
Testing Chase Paymentech Solutions Transactions
46
46
Testing Chase Paymentech Solutions Declines
47
Testing CyberSource ACH Service Transactions
47
48
48
48
API Fields
49
49
50
61
63
Examples
Product Codes
71
Reply Flags
72
NOC Codes
74
Check Point Summary Codes
76
77
78
80
80
81
82
82
Electronic Check Services Using the SCMP API | October 2016
5
82
83
83
84
84
Address Residential Match Codes
85
85
Phone Number Residential Match Codes
85
Phone Number Business Match Codes
85
Fraud Shield Indicator Codes
Verification Codes
87
88
SEC Codes
Index
91
Contents
Electronic Check Services Using the SCMP API | October 2016
6
Recent Revisions to This
Document
Release Changes
October 2016 Updated information about payment authorization for a debit. See
Authorization—Full Debit," page 11 .
Wells Fargo ACH: updated the data type and length for the merchant_descriptor_alternate field. See
"Request-Level Fields," page 50
.
September 2016 Updated the URL and link for the returned check fees.
See "Internet Check Acceptance
Authorization—Full Debit," page 11 .
Updated the legal compliance language for:
August 2016
July 2016
April 2016
March 2016
Payment authorizations for recurring payments. See "Internet Check Acceptance
Authorization—Recurring Payments," page 13 .
Payment authorization over the telephone. See "Checks by Phone Authorization—Full Debit," page 14 .
Wells Fargo ACH: added support for the merchant_descriptor_alternate field. See
.
Wells Fargo ACH: added support for general ledger accounts. See the ecp_account_type field
in "Request-Level Fields," page 50
.
TeleCheck: added information about a new requirement to display a terms and conditions
statement. See Step 2 in "Internet Check Acceptance Authorization—Full Debit," page 11
.
Wells Fargo ACH: added support for merchant-generated transaction identifiers. See
"Transaction Identifiers on Wells Fargo ACH," page 18 .
This revision contains only editorial changes and no technical updates.
This revision contains only editorial changes and no technical updates.
Electronic Check Services Using the SCMP API | October 2016
7
About This Guide
Audience
This guide is written for application developers who want to use the CyberSource SCMP
API to integrate electronic check processing into their order management system.
Implementing the CyberSource electronic check services requires software development skills. You must write code that uses the API request and reply fields to integrate the electronic check services into your existing order management system.
Purpose
This guide describes tasks you must complete to integrate the electronic check services into your existing order management system.
Conventions
The following special statements are used in this document:
A Note contains helpful suggestions or references to material not contained in this document.
Note
Important
An Important statement contains information essential to successfully completing a task or learning a concept.
Electronic Check Services Using the SCMP API | October 2016
8
About This Guide
The following text conventions are used in this document:
Table 1 Text Conventions
Convention boldface
monospace
Meaning
Boldface type indicates API field names, API service names, and graphical user interface elements that you must act upon.
Monospace type indicates URLs, code in examples, or possible values for API fields.
Related Documentation
Getting Started with CyberSource Advanced for the SCMP API
describes how to get started using the SCMP API. ( PDF | HTML )
The Reporting Developer Guide describes how to download reports. ( PDF | HTML )
The Secure Acceptance Silent Order POST Development Guide describes how to create a Secure Acceptance Silent Order POST profile. ( PDF | HTML )
The Secure Acceptance Web/Mobile Configuration Guide describes how to create a
Secure Acceptance Web/Mobile profile. ( PDF | HTML )
Electronic Check Services Using the SCMP API | October 2016
9
Introduction to Electronic
Check Services
1
Payment Processors
To use the CyberSource Electronic Check Services, you must register with one of these processors:
Chase Paymentech Solutions
CyberSource ACH Service
RBS WorldPay Atlanta
TeleCheck
Chase Paymentech Solutions
Supports U.S. Dollars (USD) for U.S. bank accounts and Canadian Dollars (CAD) for
Canadian bank accounts.
Chase Paymentech Solutions provides you with unique identification numbers for your account. You must provide these identification numbers to your CyberSource Customer
Support Representative.
Chase Paymentech Solutions acts as both a processor and a merchant bank, which is a bank that offers accounts for businesses that accept credit card or electronic check payments. If you choose Chase Paymentech Solutions as your processor, you must also open a check-enabled merchant bank account with them. However, you can set up the account to deposit the electronic check funds you receive directly into your primary account at another bank.
CyberSource ACH Service
Supports U.S. Dollars (USD) for U.S. bank accounts.
If CyberSource ACH Service is your processor, you must have a treasury relationship with one of the following originating depository financial institutions (ODFIs):
Bank of America
Wells Fargo
Electronic Check Services Using the SCMP API | October 2016
10
Chapter 1 Introduction to Electronic Check Services
CyberSource ACH Solutions provides you with unique identification numbers for your account. You must provide these identification numbers to your CyberSource Customer
Support representative.
RBS WorldPay Atlanta
Supports U.S. Dollars (USD) for U.S. bank accounts.
RBS WorldPay Atlanta provides you with unique identification numbers for your account.
You must provide these identification numbers to your CyberSource Customer Support representative.
TeleCheck
Supports U.S. Dollars (USD) for U.S. bank accounts.
TeleCheck provides you with unique identification numbers for your account. You must provide these identification numbers to your CyberSource Customer Support representative.
If TeleCheck is your processor, you do not need to open a check-enabled merchant bank account. TeleCheck can deposit funds directly into your existing bank account.
Legal Compliance Text
Internet Check Acceptance Authorization—
Full Debit
To process electronic checks:
Step 1
On your web site, add a link to the table of current state returned check fees: http://www.firstdata.com/support/telecheck_returned_check/returned_check_fees.htm
.
Because this table is updated regularly, CyberSource recommends that you link directly to it. You can display the state fees table in a pop-up window, a full browser window, or directly on the checkout page.
Electronic Check Services Using the SCMP API | October 2016
11
Chapter 1 Introduction to Electronic Check Services
Step 2
If TeleCheck is your processor, you must display a terms and conditions statement for electronic checks as part of the checkout process. For specific instructions, see
TeleCheck® Non-Face-To-Face Electronic Check Acceptance (NF2F) – Host Based
Capture (HBC) Specifications
.
Step 3
At the end of the checkout process on your web site, display a consent statement for the check authorization that your customer must accept before submitting the order. The authorization consent statement must:
Be readily identifiable as an authorization.
Clearly and conspicuously state its terms, including the transfer amount and the effective date of the transfer, as specified in the following language examples.
Include the routing number and bank account number to be debited, as specified in the following language examples.
Example 1 Language for a Payment Authorization for a Debit
Today, being
[date]
, I,
[insert consumer’s name]
, by entering my routing and account number above and clicking “Authorize,” I authorize my payment in the amount indicated above to be processed as an electronic funds transfer (EFT) or draft drawn from my checking or savings account as indicated above and, if necessary, to have my account electronically credited to correct erroneous debits. I understand that my payment will be processed within 1-2 banking days. If the payment returns unpaid, I authorize you or your service provider to collect the payment and my state’s return item fee and, if applicable, costs, by EFT(s) or draft(s) drawn from my account. Click
here to view your state’s returned item fee and, if applicable, costs. I understand that this authorization will remain in full force and effect until I notify you that I wish to revoke it by calling
[insert phone #]
and allow you reasonable opportunity to act on my notice.
PLEASE PRINT A COPY OF THIS PAGE FOR YOUR RECORDS. ALTERNATIVELY, CONTACT
US AT
[(XXX) XXX-XXXX]
TO LEARN HOW YOU CAN OBTAIN A COPY.
Electronic Check Services Using the SCMP API | October 2016
12
Chapter 1 Introduction to Electronic Check Services
Internet Check Acceptance Authorization—
Recurring Payments
Example 2 Language for a Payment Authorization for Recurring Payments
Today, being
[date]
, by entering my routing and account number above and clicking
“Authorize,” I authorize my payments
[insert information on payments - amounts, dates, and/or frequency of debits]
to be processed as electronic funds transfers (EFT) or drafts drawn from my checking or savings account as indicated above and, if necessary, electronic credits to my account to correct erroneous debits. I understand that my payment will process within 1-2 banking days. If any of my payments return unpaid, I authorize you or your service provider to collect the returned payment and my state’s return item fee for each such payment by EFT(s) or draft(s) drawn from my account. Click here to view your
state’s returned item fee and, if applicable, costs. I understand that this authorization will remain in full force and effect until I notify you that I wish to revoke it by calling
[insert phone number]
and allowed you reasonable opportunity to act on my notice.
PLEASE PRINT A COPY OF THIS PAGE FOR YOUR RECORDS. ALTERNATIVELY,
CONTACT US AT
[(XXX) XXX-XXXX]
TO LEARN HOW YOU CAN OBTAIN A COPY.
Electronic Check Services Using the SCMP API | October 2016
13
Chapter 1 Introduction to Electronic Check Services
Checks by Phone Authorization—Full Debit
At the end of the checkout process, the consent text must be read to the customer, and you must either audio record the customer’s authorization or send a written notification of the authorization and the transaction to the customer prior to settlement of the transaction.
The consent text for the customer to accept prior to submitting the payment authorization is as follows:
Example 3 Language for a Payment Authorization over the Telephone
Today,
[insert today’s date]
, I’d like to confirm that you,
[insert first and last name of consumer]
, are authorizing a one-time payment in the amount of
[insert amount]
to be processed as an electronic funds transfer or draft drawn from your
[specify checking or savings]
account identified as routing number
[insert routing number]
and account number
[insert bank account number]
and, if necessary, electronic credits to your account to correct erroneous debits.
Your payment will be processed within 1-2 banking days. Do you authorize your account to be debited or credited as described on or after
[insert date]
? (If consumer answers “Yes”,
continue. If consumer answers “No”, stop the authorization process).
If your payment returns unpaid, do you authorize
[insert company’s name]
or its service provider to collect the payment and your state’s return item fee and, if applicable, any costs in the amount of
[insert state returned item fee and applicable costs]
by electronic funds transfer(s) or draft(s) drawn from your account? (If consumer answers “Yes”,
continue. If consumer answers “No”, stop the authorization process).
You may call
[insert company’s customer service phone number]
during
[insert company’s customer service hours of operation]
with any questions.
Do you understand that you will have until the end of this phone call to revoke this authorization by telling me you wish to revoke it? (If consumer answers “Yes”, continue. If consumer answers
“No”, stop the authorization process).
Based on the terms and conditions we have discussed, and the disclosures made to you, do you agree to and authorize the payment? (If consumer answers “Yes”, continue. If consumer
answers “No”, stop the authorization process).
Electronic Check Services Using the SCMP API | October 2016
14
Chapter 1 Introduction to Electronic Check Services
Determining Whether a Check Has
Cleared
You can use the Payment Events Report to keep track of your electronic check debits and identify problems that occur with funds transfers. The report is available daily and includes information from the past 24 hours that the processor has provided about your transactions, such as the clearing of a check or the denial of a check due to insufficient funds. The following table describes the event types that indicate that a check has probably cleared. For a list of all event values, see the description of the Payment Events
Report in the
Reporting Developer Guide
.
Important
Due to the nature of electronic check processing, CyberSource does not guarantee that a check has truly cleared.
Table 2
TeleCheck
Event Types Related to Determining Whether a Check
Has Cleared
Processor
Chase Paymentech
Solutions
CyberSource ACH Service
Event Type
The Payment Events Report does not indicate that a check has cleared; it shows only problems that occur with funds transfers.
Important
If you use Chase Paymentech Solutions, you must contact them and request that they send their electronic check declines file to CyberSource. Then contact CyberSource
Customer Support with your Chase Paymentech Solutions MA number so that your CyberSource account can be configured appropriately.
The event type listed in the Payment Events Report is “Payment” when the ODFI receives a debit request.
Bank of America ACH:
to see an event type of “Completed” when the check clears, contact Customer Support to have your account configured. CyberSource does not recommend using this event type because it is not a reliable indication that a check has cleared.
Wells Fargo ACH:
after receiving the debit request, the ODFI waits for three days, and if the bank does not inform them of any problems with the funds transfer, they consider the check cleared. The event type listed in the report is “Completed” when the check clears. CyberSource does not guarantee that the check has truly cleared.
The event type listed in the Payment Events Report is “Payment” when a check clears.
Electronic Check Services Using the SCMP API | October 2016
15
Chapter 1 Introduction to Electronic Check Services
Order Tracking
See
Getting Started with CyberSource Advanced for the SCMP API
for information about order tracking. This section provides the names of the API fields that are used for order tracking for the electronic check services.
Request IDs
For all CyberSource services, the request ID is returned in the reply messages in
request_id. The following table lists the field names for the request IDs in request messages.
Table 3 Field Names for Request IDs in Request Messages
Service
Electronic check credit
Electronic check debit
Void
Request ID Field
ecp_debit_request_id ecp_debit_request_id void_request_id
Transaction Reference Numbers
The following table lists the field names for the transaction reference numbers, which are returned in the reply messages.
Table 4 Field Names for Transaction Reference Numbers
Service
Electronic check debit
Electronic check credit
Transaction Reference Number Field Name
ecp_debit_ref_no ecp_credit_ref_no
Electronic Check Services Using the SCMP API | October 2016
16
Chapter 1 Introduction to Electronic Check Services
Check Reference Numbers
The information in this section applies to all processors except Wells Fargo ACH. For
information about check reference numbers for Wells Fargo ACH, see "Transaction
Identifiers on Wells Fargo ACH," page 18
.
The check reference number is a value you can send in a request to track transactions through to the processor for reconciliation. If you do not include this field in your request,
CyberSource generates a unique value for you and returns it in the reply message.
The following table lists the field names for the check reference numbers in request and reply messages.
Table 5 Field Names for Check Reference Numbers
Service Check Reference Number
Field Name in Requests
Check Reference Number
Field Name in Replies
1
Electronic check debit
Electronic check credit ecp_ref_no ecp_ref_no ecp_debit_ref_no ecp_credit_ref_no
1 The reply fields for the check reference numbers are the same as the transaction reference number fields.
Processor Transaction Identifiers
The information in this section applies to all processors except Wells Fargo ACH. For
information about processor transaction identifiers for Wells Fargo ACH, see "Transaction
Identifiers on Wells Fargo ACH," page 18
.
The processor transaction identifier is a value assigned by the processor that you can use for reconciliation. The following table lists the field names for the processor transaction identifiers, which are returned in the reply messages.
Table 6 Field Names for Processor Transaction Identifiers
Service
Electronic check debit
1
Processor Transaction Identifier Field Name
ecp_debit_processor_trans_id
Electronic check credit
2 ecp_credit_processor_trans_id
1
2
Not supported for Chase Paymentech Solutions.
Not supported for Chase Paymentech Solutions and TeleCheck.
Electronic Check Services Using the SCMP API | October 2016
17
Chapter 1 Introduction to Electronic Check Services
Transaction Identifiers on Wells Fargo ACH
By default, CyberSource sends CyberSource-generated transaction identifiers to the processor. When Wells Fargo ACH is your processor, you can contact CyberSource
Customer Support to have your CyberSource account configured to support merchantgenerated transaction identifiers.
Transaction Identifiers and Reply Values for Accounts
That Support Merchant-Generated Transaction
Identifiers
Note
The information in this section is applicable for your implementation only if
Wells Fargo ACH is your processor and only if you contact CyberSource
Customer Support to have your CyberSource account configured to support merchant-generated transaction identifiers.
When you include the ecp_ref_no field in a debit request:
The transaction identifier sent to the processor is the ecp_ref_no value that was included in the request.
Reply field ecp_debit_ref_no is the ecp_ref_no value that was included in the request.
Reply field ecp_debit_processor_trans_id is the ecp_ref_no value that was included in the request.
When you include the ecp_ref_no field in a stand-alone credit or follow-on credit request:
The transaction identifier sent to the processor is the ecp_ref_no value that was included in the request.
Reply field ecp_credit_ref_no is the ecp_ref_no value that was included in the request.
Reply field ecp_credit_processor_trans_id is the ecp_ref_no value that was included in the request.
When you do not include the ecp_ref_no field in a debit request:
The transaction identifier sent to the processor is a CyberSource-generated value.
Reply field ecp_debit_ref_no is the CyberSource-generated transaction identifier.
Reply field ecp_debit_processor_trans_id is the CyberSource-generated transaction identifier.
Electronic Check Services Using the SCMP API | October 2016
18
Chapter 1 Introduction to Electronic Check Services
When you do not include the ecp_ref_no field in a stand-alone credit request:
The transaction identifier sent to the processor is a CyberSource-generated value.
Reply field ecp_credit_ref_no is the CyberSource-generated transaction identifier.
Reply field ecp_credit_processor_trans_id is the CyberSource-generated transaction identifier.
When you do not include the ecp_ref_no field in a follow-on credit request:
The transaction identifier sent to the processor is the transaction identifier that was used for the corresponding debit transaction.
Reply field ecp_credit_ref_no is the transaction identifier that was used for the corresponding debit transaction.
Reply field ecp_credit_processor_trans_id is the transaction identifier that was used for the corresponding debit transaction.
For additional information about the preceding fields, see
Appendix A, "API Fields," on page 49
.
Transaction Identifiers and Reply Values for Accounts
That Do Not Support Merchant-Generated Transaction
Identifiers
The information in this section applies to Wells Fargo ACH only.
Note
When you include the ecp_ref_no field in a debit request:
The transaction identifier sent to the processor is a CyberSource-generated value.
Reply field ecp_debit_ref_no is the ecp_ref_no value that was included in the request.
Reply field ecp_debit_processor_trans_id is the CyberSource-generated transaction identifier.
Electronic Check Services Using the SCMP API | October 2016
19
Chapter 1 Introduction to Electronic Check Services
When you include the ecp_ref_no field in a stand-alone credit request:
The transaction identifier sent to the processor is a CyberSource-generated value.
Reply field ecp_credit_ref_no is the ecp_ref_no value that was included in the request.
Reply field ecp_credit_processor_trans_id is the CyberSource-generated transaction identifier.
When you include the ecp_ref_no field in a follow-on credit request:
The transaction identifier sent to the processor is the transaction identifier that was used for the corresponding debit transaction.
Reply field ecp_credit_ref_no is the transaction identifier that was used for the corresponding debit transaction.
Reply field ecp_credit_processor_trans_id is the transaction identifier that was used for the corresponding debit transaction.
When you do not include the ecp_ref_no field in a debit request:
The transaction identifier sent to the processor is a CyberSource-generated value.
Reply field ecp_debit_ref_no is a CyberSource-generated value that is not the same as the transaction identifier.
Reply field ecp_debit_processor_trans_id is the CyberSource-generated transaction identifier.
When you do not include the ecp_ref_no field in a stand-alone credit or follow-on credit request:
The transaction identifier sent to the processor is a CyberSource-generated value.
Reply field ecp_credit_ref_no is a CyberSource-generated value that is not the same as the transaction identifier.
Reply field ecp_credit_processor_trans_id is the CyberSource-generated transaction identifier.
For additional information about the preceding fields, see
Appendix A, "API Fields," on page 49
.
Electronic Check Services Using the SCMP API | October 2016
20
Electronic Check
Processing
2
Electronic Check Debits
Requesting a Debit
To request an electronic check debit, set the ics_applications field to ics_ecp_debit.
When you request a debit, do not request any of the following services at the same time:
Any credit card services: ics_auth, ics_auth_reversal, ics_bill, ics_credit. For information about these services, see
Credit Card Services Using the SCMP API
.
Electronic check credit: ics_ecp_credit. For information about this service, see
"Electronic Check Credits," page 29 .
Any bank transfer services: ics_bank_transfer, ics_bank_transfer_refund, ics_
bank_transfer_real_time. For information about these services, see the
Global
Payment Service Developer Guide
.
Any direct debit services: ics_direct_debit, ics_direct_debit_refund. For information about these services, see the
Global Payment Service Developer Guide
.
PayPal payment or credit: ics_paypal_payment, ics_paypal_credit. For information about these services, see the
PayPal Services Implementation Guide
.
Electronic Check Services Using the SCMP API | October 2016
21
Chapter 2 Electronic Check Processing
Handling Customer Account Information
Merchant-Provided Data
Service:
Debit
Processors:
Chase Paymentech Solutions
CyberSource ACH Service
RBS WorldPay Atlanta
TeleCheck
Merchant-provided data handling requires you to collect the customer’s account information and provide it in your service request. The required fields are:
ecp_account_no ecp_account_type ecp_rdfi
You must modify your web site to collect the account information. Retain the account information for future transactions, such as credits.
Customers might not know how to use their printed checks to find the bank routing number and the bank account number. Consider using a graphic like this on your web site:
Example 4 Check Showing Routing Number and Account Number
The following events occur when you request a debit:
1
Your customer places an order.
2
You request an electronic check debit.
3
In your request, you provide the customer’s account information.
Electronic Check Services Using the SCMP API | October 2016
22
Chapter 2 Electronic Check Processing
4
CyberSource sends the customer’s account information and other information about the transaction to the check processor.
5
The payment processor validates the information and performs basic fraud screening.
The processor does not contact the customer’s bank to verify the existence of the customer’s account; it makes sure that only the information provided by the customer is reasonable and that the account is not a known source of fraud.
Depending on which processor you use, if there are problems with the account that prevent the transaction from being completed, the processor might charge you a returned check fee.
6
The payment processor sends a reply to CyberSource indicating whether or not the debit will be processed.
7
CyberSource sends a reply to you.
8
You display an appropriate message to your customer.
9
The processor sends the request for clearing.
Notifications of Change (NOCs)
Services:
Credit
Debit
Processors:
CyberSource ACH Service
RBS 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:
1
Corrects the information.
2
Posts the transaction to the customer’s bank account.
3
Notifies 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 Payment Tokenization or Recurring Billing, you must update the information in your subscriptions or customer profiles.
Electronic Check Services Using the SCMP API | October 2016
23
Chapter 2 Electronic Check Processing
Note
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 the NOCs for your transactions:
Step 1
Create a PGP key pair as described in
Creating and Using Security Keys
.
Step 2
Log in to the Business Center and view the NOC Report, which is listed under Reports.
You can also talk to your bank about getting a report that includes NOCs. NOC codes are described in
Appendix E, "NOC Codes," on page 74 .
Verification and Validation
Important
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 7 Types of Verification and Validation
Payment Processor
Yes
No Chase Paymentech
Solutions
CyberSource ACH Services
TeleCheck
RBS
No
Yes
No
Yes
No
Yes
No
No
Yes
No
Yes
No
No
No
Electronic Check Services Using the SCMP API | October 2016
24
Chapter 2 Electronic Check Processing
Validation
Service:
Debit
Processors:
Chase Paymentech Solutions
TeleCheck
For the CyberSource ACH Service, validation is included in the ACH verification functionality, which happens automatically when you call the debit or credit services.
Note
Chase Paymentech Solutions and TeleCheck
For the TeleCheck service, contact CyberSource Customer Support for information about validation.
Important
Validation consists of format tests, bank routing number tests, and a comparison with the check processing partner’s internal negative file. Set ecp_verification_level to 1 to request validation with your debit request.
ACH Verification
Services:
Credit
Debit
Processors:
CyberSource ACH Service
RBS WorldPay Atlanta
ACH verification is performed automatically for all debit and credit requests for the
CyberSource ACH Service and RBS WorldPay Atlanta. ACH verification:
1
Validates 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:
ecp_debit_corrected_account_number ecp_credit_corrected_account_number
Electronic Check Services Using the SCMP API | October 2016
25
Chapter 2 Electronic Check Processing
2
Verifies 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:
ecp_debit_corrected_routing_number ecp_credit_corrected_routing_number
Note
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.
3
Returns 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:
ecp_debit_verification_code ecp_credit_verification_code
The other verification code is a raw value and is returned in one of these fields:
ecp_debit_verification_code_raw
ecp_credit_verification_code_raw
The verification codes have enumerated values that are described in Table 13, "Reply
.
Guarantees
Service:
Debit
Processor:
TeleCheck
Contact TeleCheck for information about check guarantees.
Note
Electronic Check Services Using the SCMP API | October 2016
26
Chapter 2 Electronic Check Processing
Paymentech Verification
Service:
Debit
Processor:
Chase Paymentech Solutions
Important
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.
Paymentech verification is available only for transactions in U.S. dollars. Set ecp_
verification_level to 2 to request Paymentech verification with your debit request.
Optional Features for Debits
For information about optional features such as subscriptions and deferred payments, see
.
Debit Request Fields
For detailed descriptions of these fields, see "Request-Level Fields," page 50
, and
On TeleCheck, request field values must not contain ampersands (&).
Note
account_encoder_id bill_address1 bill_address2 bill_city bill_company_tax_id bill_country bill_state bill_zip company_name currency
Electronic Check Services Using the SCMP API | October 2016
27
customer_email customer_firstname customer_ipaddress customer_lastname customer_phone driver_license_no driver_license_state e_commerce_indicator ecp_account_no ecp_account_type ecp_check_no ecp_debit_request_id ecp_payment_mode ecp_rdfi ecp_ref_no ecp_sec_code ecp_settlement_method ecp_verification_level grand_total_amount ics_applications link_to_request merchant_descriptor merchant_id merchant_ref_number offerN: amount offerN: merchant_product_sku offerN: product_code offerN: product_name offerN: quantity offerN: tax_amount subscription_id timeout
Electronic Check Services Using the SCMP API | October 2016
Chapter 2 Electronic Check Processing
28
Chapter 2 Electronic Check Processing
Electronic Check Credits
Requesting a Credit
To request an electronic check credit, set the ics_applications field to ics_ecp_ credit
. When you request a credit, do not request any of the following services at the same time:
Any credit card services: ics_auth, ics_auth_reversal, ics_bill, ics_credit. For information about these services, see
Credit Card Services Using the SCMP API
.
Electronic check debit: ics_ecp_debit. For information about this service, see
"Electronic Check Debits," page 21 .
Any bank transfer services: ics_bank_transfer, ics_bank_transfer_refund, ics_
bank_transfer_real_time. For information about these services, see the
Global
Payment Service Developer Guide
.
Any direct debit services: ics_direct_debit, ics_direct_debit_refund. For information about these services, see the
Global Payment Service Developer Guide
.
PayPal payment or credit: ics_paypal_payment, ics_paypal_credit. For information about these services, see the
PayPal Services Implementation Guide
.
Advanced Fraud Screen: ics_score. For information about this service, see the
Decision Manager Developer Guide Using the SCMP API
.
Risk update: ics_risk_update. For information about this service, see the
Decision
Manager Developer Guide Using the SCMP API
.
Electronic Check Services Using the SCMP API | October 2016
29
Chapter 2 Electronic Check Processing
Follow-On Credits and Stand-Alone Credits
There are two kinds of credits:
Follow-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.
Stand-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.
Important
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
All 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.
TeleCheck: 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 ics_ecp_debit request to link the credit to the debit. Send the request ID value in the ecp_debit_request_id 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 ics_ecp_credit request.
Note
A follow-on credit must be for a debit request that included a payment; ecp_
payment_mode=0 or 2. A follow-on credit cannot be for a debit request in which ecp_payment_mode=1.
Electronic Check Services Using the SCMP API | October 2016
30
Chapter 2 Electronic Check Processing
Important
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
ecp_debit_request_id field in the credit request; the request must include the fields for the customer’s billing and account information.
ACH Verification
Services:
Credit
Debit
Processors:
CyberSource ACH Service
RBS WorldPay Atlanta
ACH verification is performed automatically for all debit and credit requests for the
CyberSource ACH Service and RBS WorldPay Atlanta. ACH verification:
1
Validates 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:
ecp_debit_corrected_account_number ecp_credit_corrected_account_number
2
Verifies 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:
ecp_debit_corrected_routing_number ecp_credit_corrected_routing_number
Note
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.
Electronic Check Services Using the SCMP API | October 2016
31
Chapter 2 Electronic Check Processing
3
Returns 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:
ecp_debit_verification_code ecp_credit_verification_code
The other verification code is a raw value and is returned in one of these fields:
ecp_debit_verification_code_raw
ecp_credit_verification_code_raw
The verification codes have enumerated values that are described in Table 13, "Reply
.
Notifications of Change (NOCs)
Services:
Credit
Debit
Processors:
CyberSource ACH Service
RBS 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:
1
Corrects the information.
2
Posts the transaction to the customer’s bank account.
3
Notifies 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 Payment Tokenization or Recurring Billing, you must update the information in your subscriptions or customer profiles.
Note
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).
Electronic Check Services Using the SCMP API | October 2016
32
Chapter 2 Electronic Check Processing
To get information about NOCs for your transactions:
Step 1
Create a PGP key pair as described in
Creating and Using Security Keys
.
Step 2
Log in to the Business Center and view the NOC Report, which is listed under Reports.
You can also talk to your bank about getting a report that includes NOCs. NOC codes are described in
Appendix E, "NOC Codes," on page 74 .
Optional Features for Credits
For information about optional features such as merchant descriptors and multiple partial credits, see
Chapter 3, "Optional Features," on page 37 .
Credit Request Fields
The fields listed below are used to request an electronic check credit. For detailed
descriptions of these fields, see "Request-Level Fields," page 50
, and "Offer-Level Fields," page 61
.
On TeleCheck, request field values must not contain ampersands (&).
Note
account_encoder_id bill_address1 bill_address2 bill_city bill_country bill_state bill_zip currency customer_email customer_firstname customer_ipaddress customer_lastname customer_phone date_of_birth e_commerce_indicator
Electronic Check Services Using the SCMP API | October 2016
33
ecp_account_no ecp_account_type ecp_check_no ecp_debit_request_id ecp_payment_info ecp_rdfi ecp_ref_no ecp_sec_code ecp_settlement_method grand_total_amount ics_applications merchant_descriptor merchant_id merchant_ref_number offerN: amount offerN: merchant_product_sku offerN: product_code offerN: product_name offerN: quantity offerN: tax_amount partial_payment_id subscription_id timeout
Chapter 2 Electronic Check Processing
Electronic Check Services Using the SCMP API | October 2016
34
Chapter 2 Electronic Check Processing
Authentication
Processor:
RBS WorldPay Atlanta
The authentication service is an optional service you can request for RBS WorldPay
Atlanta.
To request an electronic check authentication, set the ics_applications field to ics_ecp_ authenticate
. The following fields are required when requesting this service:
bill_address1
bill_city bill_state bill_country bill_zip—5 digits
customer_firstname customer_lastname ics_applications merchant_id merchant_ref_number
For more information about these fields, see "API Fields," page 49 .
The authentication service:
Validates customer information such as name, address, and date of birth and returns information to you in the ecp_authenticate_checkpoint_summary field.
Provides you with consumer fraud information to help protect you against fraudulent transactions. Information is returned to you in the ecp_authenticate_fraud_shield_
indicators field.
For more information, see:
Appendix F, "Check Point Summary Codes," on page 76
Appendix G, "Fraud Shield Indicator Codes," on page 86
Electronic Check Services Using the SCMP API | October 2016
35
Chapter 2 Electronic Check Processing
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 ics_applications field to ics_void
. 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 ics_
ecp_debit or ics_ecp_credit request to link the void to the debit or credit. Send the request ID value in the void_request_id 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 ics_void request.
The fields listed below are used to request a void. For detailed descriptions of these fields,
"Request-Level Fields," page 50
, and "Offer-Level Fields," page 61
.
merchant_id merchant_ref_number
ics_applications void_request_id
Electronic Check Services Using the SCMP API | October 2016
36
Optional Features
3
Corporate Checks
Set ecp_account_type to X to indicate that the check is a corporate check.
Service:
Debit
Processors:
Chase Paymentech Solutions
CyberSource ACH Service
RBS WorldPay Atlanta
TeleCheck
To process corporate checks with TeleCheck, include one of these fields in your debit request:
driver_license_no and driver_license_state bill_company_tax_id
Deferred and Partial Payments
Services:
Debit
Credit
Processors:
Chase Paymentech Solutions—debit only.
TeleCheck
Definitions:
Deferred payment
—if there is a delay between the time you take the order and the time you ship the product, you need to defer your payment request.
Electronic Check Services Using the SCMP API | October 2016
37
Chapter 3 Optional Features
Partial payment
—if a customer orders multiple products but you ship them separately on different dates, you need to perform multiple partial payments as you ship the products.
Chase Paymentech Solutions
To request a deferred or partial payment:
Step 1
For the first debit request, set ecp_payment_mode to 1 to indicate that the debit uses deferred payment and full payment. If you do not, partial payments will occur later. The default value of 0 indicates a normal debit with immediate payment.
Step 2
When you are ready to process a payment, whether it is for the full amount or a partial amount, send another debit request with ecp_payment_mode set to 2 to indicate that you are triggering a payment.
Step 3
Repeat Step 2 for each partial payment for the order.
TeleCheck
To request a deferred or partial payment:
Step 1
For the first debit request, set the value of the ecp_payment_mode field to 1 to indicate that the debit uses deferred payment and full payment. If you do not, partial payments will occur later. The default value of 0 indicates a normal debit with immediate payment.
Including the ecp_ref_no field in the request is optional.
Step 2
When you are ready to process a payment, whether it is for the full amount or a partial amount, send another debit request and do the following:
Set the value of the ecp_payment_mode field to 2 to indicate that you are triggering a payment.
Set the value of the ecp_debit_request_id field to the same value as the request_id field that you received from the original debit request in Step 1.
Step 3
Repeat Step 2 for each partial payment for the order.
Step 4
For a credit request, set the value of the ecp_debit_request_id field to the value contained in the request_id field that you received from the debit request in Step 2. This value is used to complete the follow-on capture of the initial request.
Electronic Check Services Using the SCMP API | October 2016
38
Chapter 3 Optional Features
Encoded Account Numbers
Services:
Debit
Credit
Processors:
Chase Paymentech Solutions
RBS WorldPay Atlanta
Depending on your type of business, you might be eligible to acquire from a bank a list of customers who have accounts with that bank. The list does not include customer account numbers, but includes encoded account numbers. Some processors refer to this type of program as issuer encryption and to the numbers as encrypted account numbers. This type of program is designed to protect customer data according to the provisions of the
Gramm-Leach-Bliley Act.
When processing a payment or credit for one of these customers, you use the encoded account number instead of the customer’s account number. The bank then matches the encoded account number to the customer’s account number when processing the payment.
You must contact the processor to obtain information required for their account number encryption program, and you must have a relationship with the bank to acquire its list of customers.
To process an electronic check debit or credit with an encoded account number:
Set ecp_account_no to the encoded account number.
Set account_encoder_id to the value assigned to the bank that supplied the customer information. Contact your processor to obtain the ID for the bank.
Electronic Check Services Using the SCMP API | October 2016
39
Chapter 3 Optional Features
Merchant Descriptors
Services:
Debit
Credit
Processor:
Chase Paymentech Solutions
CyberSource ACH Service
RBS WorldPay Atlanta
You can provide a merchant descriptor that will be displayed on the customer’s bank account statement. The descriptor includes your company’s name and a description of the product or service that was purchased.
The merchant descriptor field overrides the corresponding value in your CyberSource account. If you do not include this field in the request, CyberSource uses the company name from your merchant account.
Before sending a merchant descriptor with a debit or credit request, check with your processor to find out if you need to register your merchant descriptor information with them.
The merchant_descriptor field requires a particular format:
Characters 1-15: name of your company. If the name is fewer than 15 characters, use spaces to fill in the full 15 characters. If the name is more than 15 characters, provide only the first 15 characters of the name.
Characters 16-25: description of the product or service.
If you use more than one consecutive space, extra spaces will be removed.
Note
Electronic Check Services Using the SCMP API | October 2016
40
Chapter 3 Optional Features
Multiple Partial Credits
Service:
Credit
Processors:
RBS WorldPay Atlanta
TeleCheck
When you perform multiple partial credits:
The amount of each individual credit cannot exceed the debit amount.
The total amount of all the credits cannot exceed the debit amount.
In your follow-on credit request, use the ID returned in the ecp_debit_request_id field.
Do not use the ecp_credit_request_id from a previous partial credit. For each partial credit, set the partial_payment_id field to a value of your choice that is unique within the scope of the order. The processor uses the payment IDs to identify the credits that are related to an order.
If you performed partial payments for this order, you specified a unique value for the
partial_payment_id field for each payment. You cannot reuse any of those values for the order’s partial credits. For example, if you used 1 and 2 for the partial payments, you must use different values, such as 3 and 4, for the partial credits.
Non-Sufficient Funds (NSF)
Service
Service:
Debit
Processor:
CyberSource ACH Service
A non-sufficient funds (NSF) return occurs when the customer’s bank account does not have sufficient funds to cover a specific electronic check transaction. CyberSource does not automatically resubmit charges returned from a customer’s bank due to NSF. You can resubmit transactions returned as NSF one or two additional times for a total of three submissions. Continued attempts after this point may result in a fine and possible sanctions from the National Automated Clearing House Association (NACHA).
Contact your ODFI to enable the NSF service at your bank.
Electronic Check Services Using the SCMP API | October 2016
41
Chapter 3 Optional Features
Payment Tokenization
Services:
Debit
Credit
Processors:
Chase Paymentech Solutions
CyberSource ACH Service
RBS WorldPay Atlanta
TeleCheck
If you are using Payment Tokenization, you can process a debit or credit by using information that is stored in a customer profile. CyberSource uses the subscription ID to reference the customer profile information in the CyberSource database. Instead of providing all the information that is normally required for a transaction, you need to provide only the following values:
Merchant ID
Merchant reference number
Amount of the payment or credit
Subscription ID
You can override most of the information stored in the customer profile by including the relevant API fields in the debit or credit request. For example, you could provide a different billing or shipping address in the request. You cannot override the account number.
For complete information about Payment Tokenization, see
Payment Tokenization Using the SCMP API
.
Electronic Check Services Using the SCMP API | October 2016
42
Chapter 3 Optional Features
Recurring Billing
Services:
Debit
Credit
Processors:
Chase Paymentech Solutions
CyberSource ACH Service
Recurring debits and credits for telephone-initiated orders are supported. The
ecp_sec_code must be TEL.
RBS WorldPay Atlanta
TeleCheck
If you are using Recurring Billing, you can process a debit or credit by using information that is stored in a subscription. CyberSource uses the subscription ID to reference the subscription information in the CyberSource database. Instead of providing all the information that is normally required for a transaction, you need to provide only the following values:
Merchant ID
Merchant reference number
Amount of the payment or credit
Subscription ID
You can override most of the information stored in the subscription by including the relevant API fields in the debit or credit request. For example, you could provide a different billing or shipping address in the request. You cannot override the account number.
For complete information about Recurring Billing, see
Recurring Billing Using the SCMP
API
.
Service Fees
Services:
Debit
Credit
Void
For information about service fees, including the processors for which CyberSource supports service fees, see
Service Fee Processing Using the SCMP API
.
Electronic Check Services Using the SCMP API | October 2016
43
Chapter 3 Optional Features
Settlement Delivery Methods
Services:
Debit
Credit
Processor:
Chase Paymentech Solutions
You must specify a default method for delivering settlements to and receiving them from the customer’s bank. You can use the ecp_settlement_method field to override the default method for a single transaction.
The following delivery methods are available:
Automated Clearing House (ACH) for U.S. accounts or the Canadian Payment
Association (CPA) for Canadian accounts:
The transaction is deposited through the ACH or CPA. If the check fails the validation or verification process, the transaction is rejected.
Facsimile draft:
The transaction is deposited as a facsimile draft. Available only for transactions in
U.S. dollars. Use this method when the issuing bank is not an ACH member.
Best possible:
The transaction is deposited through the ACH system unless the customer’s bank is not an ACH participant, in which case, a facsimile draft is created and deposited on your behalf. Available only for transactions in U.S. dollars.
Electronic Check Services Using the SCMP API | October 2016
44
Testing Electronic Check
Services
4
Requirements for Testing
Important
Before you can test, you must contact Customer Support to activate Electronic
Check Services and configure your account for electronic check testing. You must also contact your processor to set up your processor account.
Use your regular merchant ID to perform testing.
Use the test server ics2testa.ic3.com.
Use a real city and state, as well as the correct postal code for that city and state.
Use a real combination for the area code and telephone number.
Use a non-existent account and domain name for the customer’s email address. For example: [email protected].
Electronic Check Services Using the SCMP API | October 2016
45
Chapter 4 Testing Electronic Check Services
Testing Chase Paymentech
Solutions Transactions
Successful Transactions
Use the data in the following table to simulate successful debits and credits for Chase
Paymentech Solutions.
Table 8
Field
Test Data for Chase Paymentech Solutions
Debits and Credits
Test Values
ecp_account_no
Required /
Optional
Required ecp_account_type ecp_rdfi ecp_settlement_method ecp_verification_level
For transactions in U.S. or Canadian dollars:
4100
4101
4102
4103
For transactions in U.S. or Canadian dollars:
C
For transactions in U.S. dollars:
S
X
For transactions in U.S dollars:
121042882
121107882
071923284
122101191
For transactions in Canadian dollars, use any
8-digit number.
For transactions in U.S. or Canadian dollars:
A
For transactions in U.S. dollars:
B
F
For transactions in U.S. or Canadian dollars:
1
For transactions in U.S. dollars:
2
Required
Required
Optional
Optional
Electronic Check Services Using the SCMP API | October 2016
46
Chapter 4 Testing Electronic Check Services
Testing Chase Paymentech Solutions
Declines
For Chase Paymentech Solutions, you can simulate electronic check declines using specific bank account numbers for debits. For a list of these values and the expected results, see the SCMP API Testing Information page .
Testing CyberSource ACH Service
Transactions
Table 9
Type of
Field
Field
Name
Use the data in the following table to simulate ACH verification by requesting a debit for the CyberSource ACH Service. As an alternative, you can simulate ACH verification by requesting a credit: the reply fields will be for the credit service instead of the debit service.
ACH Verification Test Data
Triggers
Account
Number
Routing
Number
ecp_ account_no ecp_rdfi
Reply Fields
12345678
0011111111111
1231231230
123123123
00111111
001234567895
01111111
1231231230
112200439
011000028
231385154
231385154
011201762
011400039
011301073
011001742
00
01
00
00
1231231230
12345678
231382704
115101438
04
04
1 See the following table for the reply values for this error.
02
03
02
02
Mapped ACH
Verification
Code
ecp_debit_ verification_ code
5
6
7
8
9
1
10
1
3
4
1
2
Raw ACH
Verification
Code
ecp_debit_ verification_ code_raw
Corrected
Account
Number
ecp_debit_ corrected_ account_ number
—
00111111
—
—
—
—
—
—
1234567895
—
—
—
—
Corrected
Routing
Number
ecp_debit_ corrected_ routing_ number
011201830
011401533
211070175
011000138
—
—
Electronic Check Services Using the SCMP API | October 2016
47
Chapter 4 Testing Electronic Check Services
Table 10 ACH Verification Error Reply Values
Raw ACH
Verification Code
9
Error Reply Values
10
ics_rcode=0
ics_rflag=DACHVERIFICATION
ics_rcode=0
ics_rflag=DACHVERIFICATION
Testing RBS WorldPay Atlanta
See the SCMP API Testing Information page .
Testing TeleCheck
See the SCMP API Testing Information page .
Going Live
You must go live with CyberSource before you start submitting production transactions.
When you go live, your account is updated so that you can send transactions to the
CyberSource production server. If you have not already done so, provide your banking information to CyberSource so that your processor can deposit funds to your merchant bank account. For information about going live, see
Getting Started with CyberSource
Advanced for the SCMP API
.
Electronic Check Services Using the SCMP API | October 2016
48
API Fields
A
Formatting Restrictions
Unless otherwise noted, all fields are order and case insensitive and the fields accept special characters such as @, #, and %.
Note
Values for request-level and offer-level fields must not contain carets (^) or colons (:). However, they can contain embedded spaces and any other printable characters. When you use more than one consecutive space,
CyberSource removes the extra spaces.
TeleCheck
Request fields must not contain ampersands (&).
Data Type Definitions
Data Type
Date and time
Description
Format is YYYY-MM-DDThhmmssZ, where:
T separates the date and the time
Z indicates Coordinated Universal Time (UTC), also known as
Greenwich Mean Time (GMT)
Example: 2016-08-11T224757Z equals August 11, 2016, at 22:47:57
(10:47:57 p.m.)
Decimal Number that includes a decimal point
Examples: 23.45, -0.1, 4.0, 90809.0468
Whole number {..., -3, -2, -1, 0, 1, 2, 3, ...} Integer
Nonnegative integer Whole number greater than or equal to zero {0, 1, 2, 3, ...}
Positive integer Whole number greater than zero {1, 2, 3, ...}
String Sequence of letters, numbers, spaces, and special characters
Electronic Check Services Using the SCMP API | October 2016
49
Appendix A
API Fields
Request-Level Fields
Note
If you are using Payment Tokenization or Recurring Billing and you include a subscription ID in your request, many of the fields in the following table that are
normally required for an authorization or credit become optional. See "Payment
, and "Recurring Billing," page 43 .
Table 11 Request-Level Fields
Field Name Description Used By:
Required (R) or Optional (O)
ics_ecp_credit
Data Type &
Length
account_encoder_id Identifier for the bank that provided the customer’s encoded account number. To obtain the bank identifier, contact your processor. See
ics_ecp_debit
Required for Chase
Paymentech Solutions and RBS WorldPay
Atlanta for encoded account numbers. Not used by any other processor.
ics_ecp_authenticate (R) ics_ecp_credit (R)
1 ics_ecp_debit (R)
String (3) bill_address1 bill_address2
First line of the billing street address.
Second line of the billing street address.
Used for additional address information.
Example:
Attention: Accounts Payable ics_ecp_credit (For RBS
WorldPay Atlanta: required for stand-alone credits, optional for followon credits. Optional for all other processors.) ics_ecp_debit (Not used by RBS WorldPay Atlanta.
Optional for all other processors.)
TeleCheck:
String (50)
All other processors:
String (60)
TeleCheck:
String (50)
All other processors:
String (60) bill_city City in the billing address.
ics_ecp_authenticate (R) ics_ecp_credit (R) ics_ecp_debit (R)
1
TeleCheck:
String (30)
All other processors:
String (50)
1 Required for RBS WorldPay Atlanta for stand-alone and follow-on credits. Required only for stand-alone credits for all other processors.
Electronic Check Services Using the SCMP API | October 2016
50
Appendix A
API Fields
Table 11 Request-Level Fields (Continued)
Field Name
bill_company_tax_id bill_country bill_state bill_zip
Description
Company’s tax identifier.
TeleCheck
Contact your TeleCheck representative to find out whether this field is required or optional.
All Other Processors
Not used.
Country in the billing address. Use the twocharacter
ISO Standard Country Codes
.
State in the billing address. Use the twocharacter
State, Province, and Territory
Codes for the United States and Canada
Postal code for the billing address. The postal code must consist of 5 to 9 digits.
.
When the billing country is the U.S., the 9digit postal code must follow this format:
[5 digits][dash][4 digits]
Example: 12345-6789
When the billing country is Canada, the 6digit postal code must follow this format:
[alpha][numeric][alpha][space]
[numeric][alpha][numeric]
Example: A1B 2C3
Used By:
Required (R) or Optional (O)
ics_ecp_debit (See the field description.) ics_ecp_authenticate (R) ics_ecp_credit (R)
1 ics_ecp_debit (R) ics_ecp_authenticate (R) ics_ecp_credit (R)
1 ics_ecp_debit (R) ics_ecp_authenticate (R) ics_ecp_credit (R)
1 ics_ecp_debit (R)
Data Type &
Length
String with numbers only
(9)
String (2)
String (2)
RBS WorldPay
Atlanta:
String (5)
All other processors:
String (10) company_name Name of the customer’s company.
ics_ecp_debit (Optional for TeleCheck and Wells
Fargo ACH. Not used by any other processor.) ics_ecp_credit (R) ics_ecp_debit (R)
TeleCheck:
String (60)
Wells Fargo
ACH:
String (40)
String (5) currency Currency used for the order. Possible values:
CAD
: Canadian dollars (all processors except TeleCheck)
USD
: U.S. dollars
1 Required for RBS WorldPay Atlanta for stand-alone and follow-on credits. Required only for stand-alone credits for all other processors.
Electronic Check Services Using the SCMP API | October 2016
51
Appendix A
API Fields
Table 11 Request-Level Fields (Continued)
Field Name
customer_email customer_firstname
Description
Customer’s email address, including the full domain name.
Format: [email protected]
Customer’s first name. If the first name is unavailable or inapplicable, such as for a corporate account, enter a dummy value such as
NA
.
Used By:
Required (R) or Optional (O)
ics_ecp_credit (R)
1 ics_ecp_debit (R) ics_ecp_authenticate (R) ics_ecp_credit (R)
1 ics_ecp_debit (R)
Data Type &
Length
String (255)
TeleCheck:
String (50)
All other processors:
String (60)
String (15) customer_ipaddress IP address for the customer.
Example:
10.1.27.63
.
For debits:
Chase Paymentech Solutions
Optional.
TeleCheck
It is recommended that you use this field if
ecp_sec_code is
WEB
.
ics_ecp_credit (O) ics_ecp_debit (See the field description.) customer_lastname
All Other Processors
Not used.
Customer’s last name. If the transaction is for a corporate account, use this field for the company name.
ics_ecp_authenticate (R) ics_ecp_credit (R) ics_ecp_debit (R)
1
TeleCheck:
String (50)
All other processors:
String (60) customer_phone Customer’s phone number.
Format for TeleCheck: NNNNNNNNNN ics_ecp_credit (Required for RBS WorldPay Atlanta.
Optional for all other processors.) ics_ecp_debit (Required for CyberSource ACH
Service and TeleCheck.
Not used by any other processor.)
TeleCheck:
String (10)
All other processors:
String (15) date_of_birth Date of birth of the customer.
Format: YYYY-MM-DD or YYYYMMDD ics_ecp_authenticate
(Optional for RBS
WorldPay Atlanta. Not used by any other processor.)
String (10)
1 Required for RBS WorldPay Atlanta for stand-alone and follow-on credits. Required only for stand-alone credits for all other processors.
Electronic Check Services Using the SCMP API | October 2016
52
Appendix A
API Fields
Table 11 Request-Level Fields (Continued)
Field Name
decline_avs_flags
Description
List of AVS flags that cause the request to be declined for AVS reasons. Use a space to separate the flags in the list.
Important
Make sure that you include the value N in the list if you want to receive declines for the AVS code N.
Driver’s license number of the customer.
Used By:
Required (R) or Optional (O)
ics_ecp_debit (Optional for Chase Paymentech
Solutions. Not used for any other processor.)
Data Type &
Length
String (255) driver_license_no driver_license_state
TeleCheck
Contact your TeleCheck representative to find out whether this field is required or optional.
If you include this field in your request, you must also include driver_license_state.
All Other Processors
Not used.
State or province where the customer’s driver’s license was issued. Use the twocharacter
State, Province, and Territory
Codes for the United States and Canada
.
TeleCheck
Contact your TeleCheck representative to find out whether this field is required or optional.
ics_ecp_debit (See the field description.) ics_ecp_debit (See the field description.)
String (30)
String (2)
All Other Processors
Not used.
1 Required for RBS WorldPay Atlanta for stand-alone and follow-on credits. Required only for stand-alone credits for all other processors.
Electronic Check Services Using the SCMP API | October 2016
53
Appendix A
API Fields
Table 11 Request-Level Fields (Continued)
Field Name
e_commerce_ indicator
Description
Type of transaction. Possible values:
internet
(default): e-commerce order placed using a web site.
moto
: Mail order or telephone order.
recurring
: Recurring transaction.
Chase Paymentech Solutions
Not used.
CyberSource ACH Services
Debits: Optional.
Credits: Optional.
Used By:
Required (R) or Optional (O)
ics_ecp_credit (See the field description.) ics_ecp_debit (See the field description.)
Data Type &
Length
String (13)
RBS WorldPay Atlanta
Debits: Optional.
Credits: Required for stand-alone credits.
Optional for follow-on credits.
ecp_account_no ecp_account_type
TeleCheck
Debits: Optional.
Credits: Optional.
Account number. When processing encoded account numbers, use this field for the encoded account number.
Account type. Possible values:
C
: Checking.
G
: General ledger. This value is supported only on Wells Fargo ACH.
S
: Savings (U.S. dollars only).
ics_ecp_credit (R)
1 ics_ecp_debit (R) ics_ecp_credit (R)
1 ics_ecp_debit (R)
Non-negative integer (17)
String (1)
X
: Corporate checking (U.S. dollars only).
1 Required for RBS WorldPay Atlanta for stand-alone and follow-on credits. Required only for stand-alone credits for all other processors.
Electronic Check Services Using the SCMP API | October 2016
54
Appendix A
API Fields
Table 11 Request-Level Fields (Continued)
Field Name
ecp_check_no
Description
Check number.
Chase Paymentech Solutions
Optional.
Used By:
Required (R) or Optional (O)
ics_ecp_credit (See the field description.) ics_ecp_debit (See the field description.)
Data Type &
Length
Integer (8)
CyberSource ACH Service
Not used.
RBS WorldPay Atlanta
Optional on debits. Required on credits.
ecp_debit_request_id
TeleCheck
Strongly recommended on debit requests.
Optional on credits.
The request ID for the debit or credit requests. See either
, or "Follow-On Credits and Stand-Alone Credits," page 30 .
ics_ecp_credit (Required for follow-on credits. Not used for stand-alone credits.) ics_ecp_debit (Required for Chase Paymentech solutions and TeleCheck, for deferred and partial payments. Not used by any other processor.) ics_ecp_credit (O) ics_ecp_debit (O)
String (26) ecp_effective_date Effective date for the transaction. The effective date must be within 45 days of the current day. If you do not include this value,
CyberSource sets the effective date to the next business day.
Format: MMDDYYYY
Supported only for the CyberSource ACH
Service.
String (8) ecp_image_ reference_number
Image reference number associated with the check. You cannot include any special characters.
Used only by Paymentech for ARC and POP SEC codes.
String (32) ecp_payment_info Payment related information. This information is included on the customer’s statement.
ics_ecp_credit (Required for RBS WorldPay Atlanta.
Not used for any other processor.)
String (80)
1 Required for RBS WorldPay Atlanta for stand-alone and follow-on credits. Required only for stand-alone credits for all other processors.
Electronic Check Services Using the SCMP API | October 2016
55
Appendix A
API Fields
Table 11 Request-Level Fields (Continued)
Field Name
ecp_payment_mode
Description
Flag that indicates whether to process the payment. Use with deferred payments. See
"Deferred and Partial Payments," page 37
.
Possible values:
0
: Standard debit with immediate payment (default).
1
: For deferred payments, indicates that this is a deferred payment and that you will send a debit request with ecp_
payment_mode=
2
in the future.
2
: For deferred payments, indicates notification to initiate payment.
Used By:
Required (R) or Optional (O)
ics_ecp_debit (See the field description.)
Data Type &
Length
Integer (1)
Chase Paymentech Solutions and
TeleCheck
Use for deferred and partial payments.
CyberSource ACH Service
Not used.
ecp_rdfi
RBS WorldPay Atlanta
Not used.
Bank routing number. This is also called the
transit number
.
ics_ecp_credit (R)
1 ics_ecp_debit (R)
Non-negative integer (9)
1 Required for RBS WorldPay Atlanta for stand-alone and follow-on credits. Required only for stand-alone credits for all other processors.
Electronic Check Services Using the SCMP API | October 2016
56
Electronic Check Services Using the SCMP API | October 2016
Appendix A
API Fields
Table 11 Request-Level Fields (Continued)
Field Name
ecp_ref_no
Description
Check reference number. Identifier used for tracking a request through to the payment processor for reconciliation.
Wells Fargo ACH
See
"Transaction Identifiers on Wells Fargo
All Other Processors
If you do not provide this value,
CyberSource generates a unique value and returns it to you in the following field:
ecp_debit_ref_no if you are requesting a debit
ecp_credit_ref_no if you are requesting a credit
For more information about tracking orders, see
"Order Tracking," page 16 , and
Getting
Started with CyberSource Advanced for the
SCMP API
.
Debits
Bank of America ACH: Optional.
Chase Paymentech Solutions: Optional.
RBS WorldPay Atlanta: Optional.
TeleCheck: For deferred payments, set this field to the value you received in the ecp_
debit_ref_no field in the reply message for
the associated debit. See "Deferred and
Wells Fargo ACH: See "Transaction
Identifiers on Wells Fargo ACH," page 18 .
Used By:
Required (R) or Optional (O)
ics_ecp_authenticate
(Optional for RBS
WorldPay Atlanta. Not used by any other processor.) ics_ecp_credit (See the field description.) ics_ecp_debit (See the field description.)
Data Type &
Length
Credits
Bank of America ACH: Optional.
Chase Paymentech Solutions: Optional.
RBS WorldPay Atlanta: Required for standalone credits. Optional for follow-on credits.
TeleCheck: Required for stand-alone credits. Optional for follow-on credits.
Wells Fargo ACH: See "Transaction
Identifiers on Wells Fargo ACH," page 18 .
1 Required for RBS WorldPay Atlanta for stand-alone and follow-on credits. Required only for stand-alone credits for all other processors.
TeleCheck:
String (50)
Wells Fargo
ACH:
For
CyberSource accounts that support merchantgenerated transaction identifiers:
String (15)
For
CyberSource accounts that do not support merchantgenerated transaction identifiers:
String (60)
All other processors:
String (60)
57
Appendix A
API Fields
Table 11 Request-Level Fields (Continued)
Field Name
ecp_sec_code ecp_settlement_ method
Description
Authorization method used for the
transaction. See "SEC Codes," page 89
.
TeleCheck
Accepts only the following values:
PPD
TEL
WEB
Method used for settlement. Possible values:
A
: Automated Clearing House (default for credits and for transactions using
Canadian dollars)
F
: Facsimile draft (U.S. dollars only)
Used By:
Required (R) or Optional (O)
ics_ecp_credit (Required for TeleCheck and RBS
WorldPay Atlanta.
Optional for all other processors.) ics_ecp_debit (Required for TeleCheck and RBS
WorldPay Atlanta.
Optional for all other processors.) ics_ecp_credit (Optional for Chase Paymentech
Solutions and RBS
WorldPay Atlanta. Not used for any other processor.) ics_ecp_debit (Optional for Chase Paymentech
Solutions. Not used for any other processor.)
Data Type &
Length
String (3)
String (1) ecp_terminal_city
B
: Best possible (U.S. dollars only)
(default if the field has not already been configured for your merchant ID)
See
"Settlement Delivery Methods," page 44 .
City in which the terminal is located. If more than four alphanumeric characters are submitted, the transaction will be declined.
You cannot include any special characters.
ics_ecp_credit ics_ecp_debit
Optional but strongly recommended if your processor is Paymentech and you include ecp_
sec_code with a value of
POP
.
String (4) ecp_terminal_state State in which the terminal is located. If more than two alphanumeric characters are submitted, the transaction will be declined.
You cannot include any special characters.
ics_ecp_credit ics_ecp_debit
Optional but strongly recommended if your processor is Paymentech and you include ecp_
sec_code with a value of
POP
.
String (2)
1 Required for RBS WorldPay Atlanta for stand-alone and follow-on credits. Required only for stand-alone credits for all other processors.
Electronic Check Services Using the SCMP API | October 2016
58
Appendix A
API Fields
Table 11 Request-Level Fields (Continued)
Field Name Description
ecp_verification_level Level of fraud screening. Possible values:
1
: Validation—default if the field has not already been configured for your merchant ID grand_total_amount
2
: Verification
For a description of this feature and a list of supported processors, see
.
Grand total for the order. For more information about using offers or a grand total, see
Getting Started with CyberSource
Advanced for the SCMP API
.
Used By:
Required (R) or Optional (O)
ics_ecp_debit (Optional for Chase Paymentech
Solutions and TeleCheck.
Not used for any other processor.)
Data Type &
Length
Non-negative integer (1) ics_ecp_credit (See the field description.) ics_ecp_debit (See the field description.)
Decimal (15)
RBS WorldPay Atlanta
Required for debits and credits.
ics_applications link_to_request merchant_descriptor
All Other Processors
You must include either this field or offerN:
amount in your request for CyberSource
ACH, Chase, and TeleCheck.
CyberSource to process for the request. At least one service must be specified.
Value that links the current request to a previous transaction.
Merchant description that appears on the customer’s bank statement. This field overrides the corresponding value in your
CyberSource account. If you do not include this field in the request, CyberSource uses the company name from your merchant account. For a description of this feature, a list of supported processors, and special
formatting requirements, see "Merchant
.
Required for all services.
ics_ecp_debit (O) ics_ecp_credit (O) ics_ecp_debit (O)
String (255)
String (26)
String (25) merchant_descriptor_ alternate
Alternate information for your business. This
API field overrides the company entry description value in your CyberSource account. This value might be displayed on the customer’s account statement.
When you do not include this value in your debit or credit request, CyberSource uses the company entry description from your
CyberSource account.
ics_ecp_credit ics_ecp_debit
(Optional for Wells Fargo
ACH. Not used by any other processor.)
String with numbers, letters, and spaces only
(10)
1 Required for RBS WorldPay Atlanta for stand-alone and follow-on credits. Required only for stand-alone credits for all other processors.
Electronic Check Services Using the SCMP API | October 2016
59
Appendix A
API Fields
Table 11 Request-Level Fields (Continued)
Field Name Description Used By:
Required (R) or Optional (O)
Required for all services.
Data Type &
Length
merchant_id merchant_ref_ number
Your merchant ID. Use the same merchant
ID for evaluation, testing, and production.
Merchant-generated order reference or tracking number. For more information about tracking orders, see
Getting Started with CyberSource Advanced for the SCMP
API
.
Required for all services.
String (30)
String (50) offer0...N
partial_payment_id subscription_id timeout
Offers for the request. At a minimum, offer0 must be included in the request. The offerlevel fields are described in
Identifier for a partial payment or partial credit. The value for each debit request or credit request must be unique within the
scope of the order. See "Multiple Partial
If you are using Payment Tokenization or
Recurring Billing and you include this value in your request, many of the fields that are normally required for a debit or credit
, and
.
Number of seconds the system waits before returning a timeout error. The default is 110 seconds.
ics_ecp_credit (See the field description.) ics_ecp_debit (See the field description.) ics_ecp_credit (Optional for RBS WorldPay Atlanta.
Not used for any other processor.
ics_ecp_credit (O) ics_ecp_debit (O) ics_ecp_credit (O) ics_ecp_debit (O)
String (50)
String (60)
String (26)
Positive integer
(3) void_request_id The request ID of the debit or credit you want to void.
ics_void (R) String (26)
1 Required for RBS WorldPay Atlanta for stand-alone and follow-on credits. Required only for stand-alone credits for all other processors.
Electronic Check Services Using the SCMP API | October 2016
60
Appendix A
API Fields
Offer-Level Fields
Table 12 Offer-Level Fields
Field Name
amount merchant_ product_sku product_code product_name
Description
Per-item price of the product. This value cannot be negative. You can include a decimal point (.) in this field, but you cannot include any other special characters. The amount is truncated at the request level to the correct number of decimal places.
RBS WorldPay Atlanta
Not used.
All Other Processors
You must include either this field or grand_total_
amount in your request.
Product’s identifier code.
Type of product. This value is used to determine the category that the product is in: electronic, handling, physical, service, or shipping. The default value is default
for a list of valid values.
Name of the product.
Used By:
Required (R) or Optional (O)
ics_ecp_credit (See the field description.) ics_ecp_debit (See the field description.)
Data Type &
Length
Decimal (15) ics_ecp_credit (O) ics_ecp_debit (Not used for RBS WorldPay
Atlanta. Optional for all other processors.) ics_ecp_credit (O) ics_ecp_debit (Not used for RBS WorldPay
Atlanta. Optional for all other processors.)
String (255)
String (255) quantity Quantity of the product being purchased. The default value is
1
. ics_ecp_credit (O) ics_ecp_debit (Not used for RBS WorldPay
Atlanta. Optional for all other processors.) ics_ecp_credit (O) ics_ecp_debit (O)
TeleCheck:
String (20)
All other processors:
String (30)
Non-negative integer (10)
Electronic Check Services Using the SCMP API | October 2016
61
Appendix A
API Fields
Table 12 Offer-Level Fields (Continued)
Field Name
tax_amount
Description
Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must be in the same currency.
The tax amount field is additive. The following example uses a two-exponent currency such as
USD:
1 You include the following offer lines in your request: offer0=amount:10.00^quantity:1^ tax_amount:0.80
offer1=amount:20.00^quantity:1^ tax_amount:1.60
2 The total amount authorized will be 32.40, not
30.00 with 2.40 of tax included.
Used By:
Required (R) or Optional (O)
ics_ecp_credit (O) ics_ecp_debit (Not used for RBS WorldPay
Atlanta. Optional for all other processors.)
Data Type &
Length
Decimal (15)
If you want to include tax_amount and also request the ics_tax service, see
Tax Calculation
Service Using the SCMP API
.
Electronic Check Services Using the SCMP API | October 2016
62
Appendix A
API Fields
Reply Fields
Table 13 Reply Fields
Field Name Description Returned By
client_lib_version currency
Information about the client library used to request the transaction.
Currency used for the order. Possible values:
CAD
: Canadian dollars (all processors except TeleCheck) ecp_authenticate_ checkpoint_summary
USD
: U.S. dollars
Information about the parameters sent in the authenticate message, which is described in
"Check Point Summary Codes," page 76
.
ecp_authenticate_ fraud_shield_indicators
Information about the fraud checks
performed, which is described in "Fraud
Shield Indicator Codes," page 86
.
ecp_authenticate_rcode Indicates whether the service request was successful. Possible values:
-1
: An error occurred.
0
: The request was declined.
1
: The request was successful.
All Electronic Check
Services
All Electronic Check
Services ics_ecp_authenticate ics_ecp_authenticate ics_ecp_authenticate ecp_authenticate_ref_ no ecp_authenticate_rflag Numeric value corresponding to the result of the overall request. ecp_authenticate_rmsg Message that explains the reply flag ecp_
credit_rflag. Do not display this message to your customer, and do not use this field to write an error handler.
ecp_authenticate_ request_time
Reference number you use to reconcile
CyberSource reports with processor reports.For more information about tracking orders, see
Getting Started with CyberSource
Advanced for the SCMP API
.
Date and time at which the service was requested.
Format: YYYY-MM-DDThh:mm:ssZ
Example: 2016-08-11T22:47:57Z equals
August 11, 2016, at 22:47:57 (10:47:57 p.m.).
The T separates the date and the time. The Z indicates UTC.
ics_ecp_authenticate ics_ecp_authenticate ics_ecp_authenticate ics_ecp_authenticate
Data Type
& Length
String (50)
String (5)
String (600)
String (300)
Integer (1)
String (60)
String (50)
String (255)
String (20)
Electronic Check Services Using the SCMP API | October 2016
63
Appendix A
API Fields
Table 13 Reply Fields (Continued)
Field Name Description Returned By
ecp_authenticate_ response ecp_credit_corrected_ account_number ecp_credit_corrected_ routing_number ecp_credit_owner_ merchant_id ecp_credit_processor_ trans_id ecp_credit_rcode
Result code returned by the payment processor.
Corrected account number from the ACH verification service, which is described in
Corrected account number from the ACH verification service, which is described in
Merchant ID that was used to create the subscription or customer profile for which the service was requested.
If your CyberSource account is enabled for
Recurring Billing, this field is returned only if you are using subscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID. See the subscription sharing information in
Recurring
Billing Using the SCMP API
.
If your CyberSource account is enabled for
Payment Tokenization, this field is returned only if you are using profile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID. See the profile sharing information in
Payment Tokenization
Using the SCMP API
.
Transaction identifier or tracking ID returned by the payment processor. For more information about tracking orders, see
Getting
Started with CyberSource Advanced for the
SCMP API
.
Wells Fargo ACH
See
"Transaction Identifiers on Wells Fargo
.
Indicates whether the service request was successful. Possible values:
-1
: An error occurred.
0
: The request was declined.
1
: The request was successful.
ics_ecp_authenticate ics_ecp_credit ics_ecp_credit ics_ecp_credit ics_ecp_credit ics_ecp_credit
Data Type
& Length
String (6)
String (17)
String (9)
String (30)
String (87)
Integer (1)
Electronic Check Services Using the SCMP API | October 2016
64
Table 13 Reply Fields (Continued)
Field Name Description Returned By
ecp_credit_ref_no Reference number for the transaction.
Wells Fargo ACH
See
"Transaction Identifiers on Wells Fargo
.
All Other Processors
For some processors, you can use this value to reconcile your CyberSource reports with your processor reports. For more information about tracking orders, see
Getting Started with CyberSource Advanced for the SCMP
API
.
ecp_credit_result_code Result code returned by the payment processor.
ecp_credit_rflag ecp_credit_rmsg ecp_credit_settlement_ method
One-word description of the result of the ics_
ecp_credit request.
Message that explains the reply flag ecp_
credit_rflag. Do not display this message to your customer, and do not use this field to write an error handler.
Method used to settle the credit. Possible values:
A
: Automated Clearing House
B
: Best possible
F
: Facsimile ecp_credit_submit_time Time credit was requested in UTC. See
Type Definitions," page 49 , for the field’s
format.
ecp_credit_total_ amount ecp_credit_verification_ code
Total amount submitted to the payment processor.
Indicates the results from the ACH verification
service, which is described in "ACH
Verification," page 31 . For the possible
values, see
Appendix H, "Verification Codes," on page 87
.
ecp_credit_verification_ code_raw ecp_debit_corrected_ account_number
Raw results from the ACH verification service,
which is described in "ACH Verification," page 31 . For the possible values, see
Appendix H, "Verification Codes," on page 87
.
Corrected account number from the ACH verification service, which is described in
ics_ecp_credit ics_ecp_credit ics_ecp_credit ics_ecp_credit ics_ecp_credit ics_ecp_credit ics_ecp_credit ics_ecp_credit ics_ecp_credit ics_ecp_debit
Appendix A
API Fields
Data Type
& Length
String (60)
String (6)
String (50)
String (255)
String (1)
Date and time (20)
Decimal (15)
String (2)
String (2)
String (17)
Electronic Check Services Using the SCMP API | October 2016
65
Table 13 Reply Fields (Continued)
Field Name Description
ecp_debit_corrected_ routing_number ecp_debit_owner_ merchant_id ecp_debit_processor_ trans_id ecp_debit_rcode
Returned By
Corrected account number from the ACH verification service, which is described in
Merchant ID that was used to create the subscription or customer profile for which the service was requested.
If your CyberSource account is enabled for
Recurring Billing, this field is returned only if you are using subscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID. See the subscription sharing information in
Recurring
Billing Using the SCMP API
.
If your CyberSource account is enabled for
Payment Tokenization, this field is returned only if you are using profile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID. See the profile sharing information in
Payment Tokenization
Using the SCMP API
.
Transaction identifier or tracking ID returned by the payment processor. For more information about tracking orders, see
Getting
Started with CyberSource Advanced for the
SCMP API
.
Wells Fargo ACH
See
"Transaction Identifiers on Wells Fargo
.
Indicates whether the service request was successful. Possible values:
-1
: An error occurred.
0
: The request was declined.
1
: The request was successful.
ics_ecp_debit ics_ecp_debit ics_ecp_debit ics_ecp_debit
Appendix A
API Fields
Data Type
& Length
String (9)
String (30)
String (87)
Integer (1)
Electronic Check Services Using the SCMP API | October 2016
66
Table 13 Reply Fields (Continued)
Field Name Description Returned By
ecp_debit_ref_no Reference number for the transaction.
Wells Fargo ACH
See
"Transaction Identifiers on Wells Fargo
.
ecp_debit_request_id ecp_debit_result_code ecp_debit_rflag ecp_debit_rmsg ecp_debit_settlement_ method
All Other Processors
For some processors, you can use this value to reconcile your CyberSource reports with your processor reports. For more information about tracking orders, see
Getting Started with CyberSource Advanced for the SCMP
API
.
The request ID returned for debit or credit
requests. See either "Deferred and Partial
"Follow-On Credits and Stand-Alone Credits," page 30 .
Result code returned by the payment processor.
One-word description of the result of the ics_
ecp_debit request.
Message that explains the reply flag ecp_
debit_rflag. Do not display this message to your customer, and do not use this field to write an error handler.
Method used to settle the debit. Possible values:
A
: Automated Clearing House
B
: Best possible
F
: Facsimile ecp_debit_submit_time Time debit was requested in UTC. See
Type Definitions," page 49 , for the field’s
format.
ecp_debit_total_amount Total amount submitted to the payment processor.
ecp_debit_verification_ code ecp_debit_verification_ code_raw
Indicates the results from the ACH verification
service, which is described in "ACH
Verification," page 25 . For the possible
values, see
Appendix H, "Verification Codes," on page 87
.
Raw results from the ACH verification service,
which is described in "ACH Verification," page 25 . For the possible values, see
Appendix H, "Verification Codes," on page 87
.
ics_ecp_debit ics_ecp_debit ics_ecp_debit ics_ecp_debit ics_ecp_debit ics_ecp_debit ics_ecp_debit ics_ecp_debit ics_ecp_debit ics_ecp_debit
Electronic Check Services Using the SCMP API | October 2016
Appendix A
API Fields
Data Type
& Length
String (60)
Date and time (20)
Decimal (15)
String (2)
String (2)
67
String (26)
String (6)
String (50)
String (255)
String (1)
Appendix A
API Fields
Table 13 Reply Fields (Continued)
Field Name Description Returned By
ecp_debit_verification_ level ics_rcode ics_rflag ics_rmsg merchant_ref_number request_id void_rcode void_rflag void_rmsg void_void_amount
Level of screening for the request. Possible values:
1
: Validation
2
: Verification
3
: Guarantee
One-digit code that indicates whether the entire request was successful. The field will contain one of the following values:
-1
: An error occurred
0
: The request was declined
1
: The request was successful
One-word description of the result of the entire request.
Message that explains the reply flag ics_
rflag. Do not display this message to your customer, and do not use this field to write an error handler
Order reference or tracking number that you provided in the request. If you included multibyte characters in this field in the request, the returned value might contain corrupted characters.
Identifier for the request generated by the client.
One-digit code that indicates whether the ics_
void request was successful. The field will contain one of the following values:
-1
: An error occurred
0
: The request was declined
1
: The request was successful
One-word description of the result of the ics_
void request.
Message that explains the reply flag void_
rflag. Do not display this message to your customer, and do not use this field to write an error handler.
Total amount of the void.
ics_ecp_debit
All Electronic Check
Services
All Electronic Check
Services
All Electronic Check
Services
All Electronic Check
Services
All Electronic Check
Services ics_void ics_void ics_void ics_void
Data Type
& Length
Nonnegative integer (1)
Integer (1)
String (50)
String (255)
String (50)
String (26)
Integer (1)
String (50)
String (255)
Decimal (15)
Electronic Check Services Using the SCMP API | October 2016
68
Table 13 Reply Fields (Continued)
Field Name Description Returned By
void_void_currency Currency used for the order. Possible values:
CAD
: Canadian dollars (all processors except TeleCheck)
USD
: U.S. dollars void_void_request_time
Time void was requested in UTC. See "Data
Type Definitions," page 49 , for the field’s
format.
ics_void ics_void
Appendix A
API Fields
Data Type
& Length
String (5)
Date and time (20)
Electronic Check Services Using the SCMP API | October 2016
69
Examples
B
Example 5 Electronic Check Debit Request
bill_address1=900 Metro Center Blvd.
bill_city=Foster City bill_country=US bill_state=CA bill_zip=94404 currency=USD [email protected]
customer_firstname=John customer_lastname=Doe customer_phone=650-432-7350 ecp_account_no=4100 ecp_account_type=c ecp_rdfi=071923284 ics_applications=ics_ecp_debit merchant_id=infodev merchant_ref_number=15363553D21528F23162D3E3A offer0=amount:100.00
Example 6 Electronic Check Debit Reply
merchant_ref_number=15363553D21528F23162D3E3A currency=USD ecp_debit_rcode=1 ecp_debit_ref_no=02RYXSPGCQH60NWA ecp_debit_result_code=123456 ecp_debit_rflag=SOK ecp_debit_rmsg=Request was processed successfully.
ecp_debit_settlement_method=A ecp_debit_submit_time=2003-03-16T234809Z ecp_debit_total_amount=100.00
ecp_debit_verification_level=1 ics_rcode=1 ics_rflag=SOK ics_rmsg=Request was processed successfully.
request_id=9980055975450167905139
Electronic Check Services Using the SCMP API | October 2016
70
Product Codes
C
The following table lists the values that you can use for the product code. Use the
product_code request field to specify the product code.
Table 14 Product Codes
Product Code
adult_content coupon default electronic_good electronic_software gift_certificate handling_only service shipping_and_handling shipping_only subscription
Definition
Adult content.
Coupon applied to the entire order.
Default value for the product code. CyberSource uses default
when a request message does not include a value for the product code.
Electronic product other than software.
Software distributed electronically rather than on disks or other media.
Gift certificate.
Fee that you charge your customer to cover your administrative selling costs.
Service that you perform for your customer.
The shipping portion is the charge for shipping the product to your customer. The handling portion is the fee you charge your customer to cover your administrative selling costs.
Charge for transporting tangible personal property from your location to your customer. You must maintain documentation that clearly establishes the location where the title to the property passed from you to your customer.
Subscription to a web site or other content.
Electronic Check Services Using the SCMP API | October 2016
71
Reply Flags
D
A reply flag is associated with an entire request or a specific service:
Entire request
—The flag is in the ics_rflag field with a message in the ics_rmsg field.
Individual service
—The flag is in the <service>_rflag with a message in the
<service>_rmsg field.
Important
CyberSource reserves the right to add new reply flags at any time. Your system must be able to process these new reply flags.
Table 15 Reply Flags
Reply Flag
DACHVERIFICATION
DCHECKREFUSED
DINVALIDDATA
DMISSINGFIELD
DNOTVOIDABLE
DPAYMENTREFUSED
Description
The routing number did not pass verification as described in
"ACH Verification," page 25 , and
"ACH Verification," page 31 . Possible action: (1) Ask your customer to contact
their bank to get an ACH routing number. (2) Ask your customer to provide the routing number and account number for a different bank account if they have one. (3) Request a different form of payment.
The processor declined the transaction.
Services That Can
Return This Flag ics_ecp_credit ics_ecp_debit
Data provided is not consistent with the request. For example, you requested a product with negative cost, or you tried to credit a debit that was previously voided.
The request is missing a required field.
All Electronic Check
Services
All Electronic Check
Services
All Electronic Check
Services ics_void You cannot void the debit or credit because the information was already submitted to your processor. Or, you requested a void for a type of transaction that cannot be voided.
The processor declined the transaction. All Electronic Check
Services
Electronic Check Services Using the SCMP API | October 2016
72
Appendix D
Reply Flags
Table 15 Reply Flags (Continued)
Reply Flag
ESYSTEM
ETIMEOUT
SOK
Description
System error. You must design your transaction management system to include a way to correctly handle
CyberSource system errors. Depending on which payment processor is handling the transaction, the error might indicate a valid CyberSource system error, or it might indicate a processor rejection because of some type of invalid data. In either case, CyberSource recommends that you do not design your system to endlessly retry sending a transaction in the case of a system error. See the documentation for your client for information about handling retries in the case of system errors.
The request was received but there was a service timeout.
To avoid duplicating the transaction, do not resend the request until you have reviewed the transaction status in the
Business Center. See the documentation for your client for information about handling retries in the case of system errors.
Transaction was successful.
Services That Can
Return This Flag
All Electronic Check
Services
All Electronic Check
Services
All Electronic Check
Services
Electronic Check Services Using the SCMP API | October 2016
73
NOC Codes
E
For more information, see
"Notifications of Change (NOCs)," page 23 .
Table 16 NOC Codes
Code Reason
C01 Incorrect account number
C02
C03
C04
C05
C06
Incorrect routing number
Incorrect routing number and incorrect account number
Incorrect customer name
Incorrect transaction code
Incorrect account number and incorrect transaction code
Description
The customer’s bank account number is incorrect.
The bank’s routing number is incorrect.
The bank’s routing number and the customer’s bank account number are incorrect.
The customer name associated with the bank account is incorrect.
The transaction was submitted to a specific type of account but includes a conflicting account type code
(checking / savings).
The customer’s bank account number is incorrect and the transaction was submitted to a specific type of account but includes a conflicting account type code (checking / savings).
Required Action
Correct all applicable records before submitting additional electronic check transactions for the customer.
Correct all applicable records before submitting additional electronic check transactions for the customer.
Correct all applicable records before submitting additional electronic check transactions for the customer.
Correct all applicable records before submitting additional electronic check transactions for the customer.
Correct all applicable records before submitting additional electronic check transactions for the customer.
Correct all applicable records before submitting additional electronic check transactions for the customer.
74
Electronic Check Services Using the SCMP API | October 2016
Appendix E NOC Codes
Table 16 NOC Codes (Continued)
Code Reason
C07 Incorrect routing number, incorrect account number, and incorrect transaction code
Description
The bank’s routing number and the customer’s bank account number are incorrect. Additionally, the transaction was submitted to a specific type of account but includes a conflicting account type code (checking / savings).
Required Action
Correct all applicable records before submitting additional electronic check transactions for the customer.
Electronic Check Services Using the SCMP API | October 2016
75
Check Point Summary
Codes
F
The check point summary is returned in ecp_authenticate_checkpoint_summary in the authenticate reply message. The check point summary provides information about the parameters sent in the authenticate request message. If no parameters are sent, no information is returned. The following tables describe the codes returned in the check
point summary. For more information, see "Authentication," page 35
.
Primary Result Codes
Table 17 Primary Result Codes
Code
00
25
50
51
52
53
15
16
17
18
06
08
12
13
02
03
04
05
Description
Data found for search request
Receive error
Link to load balancing failed
Converse allocation error
System busy
SYSID error
Term error
No search criteria specified, request ignored
Response level must be F, B, or blank
Match to full name only—PLC NS list
Match to last name and first initial—PLC NS list
Internal error—contact Help Desk
Internal error—contact Help Desk
System busy—try again later
Transaction timed out—contact Help Desk if problem persists
Poll error—contact Help Desk
Receive error—contact Help Desk
Create error—contact Help Desk
Electronic Check Services Using the SCMP API | October 2016
76
Appendix F Check Point Summary Codes
Table 17 Primary Result Codes (Continued)
65
66
67
68
69
70
56
57
58
59
63
64
77
78
79
80
81
71
72
75
Code
54
55
Description
Connect error—contact Help Desk
Send error—contact Help Desk
Link error—contact Help Desk
EBCDIC to ASCII convert failed—contact Help Desk
ASCII to EBCDIC convert failed—contact Help Desk
Response exceeds storage—contact Help Desk
Storage error during data parsing—contact Help Desk
Response data format invalid—contact Help Desk
Unable to allocate connection
System ID error
Connect/converse error
Checkpoint server dropped socket
Profile not on database
System change transaction fail (internal)
Name required but missing
Address required but missing
Audit number required but missing
Invalid audit number
Audit entry not a Checkpoint 2.0 request
Audit file not loaded
Server not available to process request
Error connecting to database
Address Result Codes
The address result code (AddrCode) identifies the results found based on the address submitted.
Table 18 Address Result Codes
Code
A
B
BB
BM
Description
Address ambiguous
Match to business name—residential address
Match to business name—business address
Match to business name—mixed-use address
Electronic Check Services Using the SCMP API | October 2016
77
Appendix F Check Point Summary Codes
Table 18 Address Result Codes (Continued)
Code
E
H
NP
NS
R
S
SB
SM
I
IV
N
NA
NB
NM
SX
T
U
UR
Y
YB
YM
Z
00
Description
Matching records exceed maximum defined on profile
House number not found on street
Incomplete or blank address
Invalid address
No match to name—residential address
Data not available
No match to name—business address
No match to name—mixed-use address
Test not in profile
Standardization database has expired—contact Help
Road name—city/ZIP mismatch
Match to last name—residential address
Match to last name—business address
Match to last name—mixed-use address
Standardization database has expired—contact Help
City/state mismatch
Address unverifiable—not in database
Address residential—name match unavailable
Match to full name—residential address
Match to full name—business address
Match to full name—mixed-use address
City/state—ZIP mismatch
Unknown message code—contact Help Desk
Phone Codes
The phone code (PhnCode) identifies the results found based on the phone number submitted in the authenticate message.
Table 19 Phone Codes
Code
A
AB
AM
Value
Match to address only—residential phone
Match to address only—business phone
Match to address only—mixed-use phone
Electronic Check Services Using the SCMP API | October 2016
78
Appendix F Check Point Summary Codes
Table 19 Phone Codes (Continued)
Code
B
BB
F
FB
FM
H
HB
HM
BM
C
D
DB
DM
E
I
IA
M
MA
N
NA
NB
NM
X
Y
YB
YM
00
NP
P
S
SB
SM
U
Value
Match to business name and address—residential phone
Match to business name and address—business phone
Match to business name and address—mixed-use phone
Probable cellular phone
Match to business name—residential address
Match to business name—business address
Match to business name—mixed-use phone
Matching records exceed maximum defined on profile
Match to full name only—residential phone
Match to full name only—business phone
Match to full name only—mixed-use phone
Match to last name and address—residential phone
Match to last name and address—business phone
Match to last name and address—mixed-use phone
Phone is incorrect length
Invalid area code
Phone missing (search information not received)
Match to header data
No match to name or address—residential phone
Data not available
No match to name or address—business phone
No match to name or address—mixed-use phone
Test not in profile
Probable pager
Match to last name only—residential phone
Match to last name only—business phone
Match to last name only—mixed-use phone
Phone unverifiable—not in database
Prefix—ZIP mismatch
Match to full name and address—residential phone
Match to full name and address—business phone
Match to full name and address—mixed-use phone
Unknown message code—contact Help Desk
Electronic Check Services Using the SCMP API | October 2016
79
Appendix F Check Point Summary Codes
Address Type Codes
The address type code (AddrTypeCode) identifies the results found based on the address submitted.
Table 20 Address Type Codes
Code
NP
O
P
EX
M
N
NA
C
E
EB
EM
Value
Single company
Test error
Seasonal—business
Seasonal—multi-family dwelling
Seasonal—mixed use
Multi-family dwelling
No information available
Data not available
Test not in profile
Office building
Post office box
Change of Address Codes
The change of address code (COACode) identifies the results found for a change of address check.
Table 21 Change of Address Codes
Code
U
YA
00
C
N
NA
NP
Value
Change of address information found
No change of address information found
Data not available
Test not in profile
Test not available
A high risk business was identified at this address
Unknown message code—contact Help Desk
Electronic Check Services Using the SCMP API | October 2016
80
Appendix F Check Point Summary Codes
Social Security Number Codes
The Social Security Number code (SSNCode) identifies the results found to verify the
Social Security Number submitted.
Table 22 Social Security Number Codes
Code
NA
NI
NP
NV
M
N
I
FY
DY
E
F
FF
A
D
DN
DS
Y
YA
YB
Z
00
P
S
SA
V
Value
Match to address only
Deceased—unable to verify name
Deceased—no match to name
Deceased—match to last name
Deceased—match to full name
Matching records exceed maximum defined on profile
SSN format is invalid
Match to first name and address—match performed using SSN finder
Match to full name and address—match performed using SSN finder
SSN is incorrect length
SSN is missing
No match to name or address
Data not available
SSN not issued
Test not in profile
Header search not available in NV due to state law
Match to previous address only
Match to last name only
Match to last name and address
Valid SSN—SSN not found
Match to full name only
Match to full name and address—match performed using SSN
Match to full name and address—match performed using name and address
SSN found—no last name entered
Unknown message code—contact Help Desk
Electronic Check Services Using the SCMP API | October 2016
81
Appendix F Check Point Summary Codes
Address Unit Mismatch Codes
The address unit mismatch code (AddrUnitMismatchCode) identifies the expected unit for the address.
Table 23 Address Unit Mismatch Codes
Code
EU
MU
WU
Value
Unit number is extra—not expected at this address
Unit number is missing—expected at this address
Unit number wrong—unit number does not match unit number at this address
Phone Unit Mismatch Codes
The phone unit mismatch code (PhnUnitMismatchCode) identifies the expected unit for the address associated with the phone number.
Table 24 Phone Unit Mismatch Codes
Code
EU
MU
WU
Value
Unit number is extra—not expected at this address
Unit number is missing—expected at this address
Unit number wrong—unit number does not match unit number at this address
Driver's License Result Codes
The driver's license result code (DLResultCode) identifies the results found based on the driver's licences information submitted.
Table 25 Driver’s License Result Codes
M
N
NA
NI
Code
I
A
Value
Match to address only
DL state and number format invalid
Driver license number not submitted on inquiry
No match to name or address
Data not available for this state
Input DL state and number not on file
Electronic Check Services Using the SCMP API | October 2016
82
Appendix F Check Point Summary Codes
Table 25 Driver’s License Result Codes (Continued)
SA
V
Y
Code
NP
S
Value
Test not in profile
Match to last name only
Match to last name and address
Valid DL state and number—name match not available
Match to full name only
Date of Birth Match Codes
The date of birth match code (DateOfBirthMatch) identifies the results found based on the date of birth information submitted.
Table 26 Date of Birth Match Codes
Code
5
6
7
3
4
1
2
Value
Match
Partial match
No match
Not on file
SSN not on file; search cannot be done
DOB not provided on search request
Invalid DOB format
High Risk Address Codes
The high risk address code (HighRiskAddrCode) identifies any high risk address information that is associated with the address information submitted.
Table 27 High Risk Address Codes
Parameter
N
NP
YA
Value
No address high risk information found
Test not in profile
A high risk business was identified at this address
Electronic Check Services Using the SCMP API | October 2016
83
Appendix F Check Point Summary Codes
High Risk Phone Codes
The high risk phone code (HighRiskPhnCode) identifies any high risk phone number information that is associated with the phone number information submitted.
Table 28 High Risk Phone Codes
Code
N
NP
YA
Values
No address high risk information found
Test not in profile
A high risk business was identified at this address
OFAC Validation Results Codes
The OFAC validation results code (OFACValidationResult) identifies whether the information submitted in the request is on the OFAC list and specifies which pieces of information are present on the OFAC list if there is a match.
Table 29 OFAC Validation Results Codes
Code
1
14
15
16
10
11
12
13
8
9
6
7
4
5
2
3
Value
No match
Match to full name only
Match to SSN only
Match to name and SSN
Match to name and DOB
Match to name and YOB
Match to SSN and DOB
Match to SSN and YOB
Match to name, SSN, and DOB
Match to name, SSN, and YOB
Match to company name only
Match to company address only
Match to company name and address
Match to last name and first name
Match to full name only—PLC NS list
Match to last name and first initial—PLC NS list
Electronic Check Services Using the SCMP API | October 2016
84
Appendix F Check Point Summary Codes
Address Residential Match Codes
The address residential match code is a number (0000 through 9999) that identifies the number of residential records that matched the address given during address verification.
Address Business Match Codes
The address business match code is a number (0000 through 9999) that identifies the number of business records that matched the address given during address verification.
Phone Number Residential Match
Codes
The phone number residential match code is a number (0000 through 9999) that identifies the number of residential records that matched the phone number given during address verification.
Phone Number Business Match
Codes
The phone number business match code is a number (0000 through 9999) that identifies the number of business records that matched the phone number given during address verification.
Electronic Check Services Using the SCMP API | October 2016
85
Fraud Shield Indicator
Codes
G
The fraud shield indicators are returned in ecp_authenticate_fraud_shield_indicators in the authenticate reply message. The fraud shield indicators provide consumer fraud information. This information is used to protect you against fraudulent transactions.
However, no fraud check is perfect, and fraudulent activity is always possible. The following table describes the codes returned in the fraud shield indicator value. For more information, see
Table 30 Fraud Shield Indicator Codes
Code
FS01
FS14
FS15
FS16
FS17
FS18
FS21
FS25
FS26
FS27
FS02
FS03
FS04
FS05
FS06
FS10
FS11
FS13
Description
Inquiry/online current address conflict
Inquiry address first reported within 90 days
Inquiry current address not on file
Input SSN not issued as of MM/YY
Input SSN recorded as deceased
Inquiry age newer than SSN issue date
INQ: type of high risk address
INQ: non-residential address
High probability SSN belongs to another person
Input SSN invalid
INQ: address reported cautious
FILE: type of high risk address
FILE: non-residential address
FILE: reported cautious
Telephone number inconsistent with address
Best on file SSN recorded as deceased
Best on file SSN not issued as of MM/YY
SSN reported more frequently for another
86
Electronic Check Services Using the SCMP API | October 2016
Verification Codes
H
Verification codes indicate the results of ACH verification and are returned in the following
fields. For a description of ACH verification for debits, see "ACH Verification," page 25
. For a description of ACH verification for credits, see
Table 31 Reply Fields for Verification Codes
Service
ics_ecp_debit ics_ecp_credit
Mapped Value
ecp_debit_ verification_code ecp_credit_ verification_code
Raw Value
ecp_debit_verification_ code_raw ecp_credit_verification_ code_raw
Mapped Verification Codes
Table 32 Mapped Verification Codes
Code
00
01
02
03
04
98
99
Description
Success: account number and routing number are OK.
Success: account number was corrected; routing number is OK.
Success: routing number was corrected; account number is OK.
Success: account number and routing number were corrected.
Declined: routing number did not pass verification.
Unavailable: unable to perform ACH verification.
Invalid: response from ACH verification is invalid.
Electronic Check Services Using the SCMP API | October 2016
87
Appendix H
Verification Codes
Raw Verification Codes
Table 33 Raw Verification Codes
3
4
Code
1
2
5
6
7
8
9
10
11
Description
Accepted: routing number is valid. Account number is valid.
Accepted: routing number is valid. Account number is invalid; use corrected account number.
Accepted: routing number is valid. Account number is valid.
Accepted: routing number is valid. Account number structure not recognized; account may be valid.
Accepted: routing number is not usable for ACH; use corrected routing number.
Account number is valid.
Accepted: routing number is not usable for ACH; use corrected routing number.
Account number is invalid; use corrected account number.
Accepted: routing number is not usable for ACH; use corrected routing number.
Account number is valid.
Accepted: routing number is not usable for ACH; use corrected routing number.
Account number structure not recognized; account may be valid.
Declined: routing number is not usable for ACH; no corrected routing number available.
Declined: routing number not found.
Declined: invalid routing number.
Electronic Check Services Using the SCMP API | October 2016
88
SEC Codes
The ecp_sec_code field specifies the authorization method for the transaction. Possible values:
ARC:
account receivable conversion—supports the conversion of checks received via
U.S. mail into a merchant’s unattended lock box. This value is used only by
Paymentech. ARC is not supported in Canada. Contact your Paymentech representative to ensure that your address city field has been set up.
CCD:
corporate cash disbursement—a charge or credit against a business checking account. You can use one-time or recurring CCD transactions to transfer funds to or from a corporate entity. A standing authorization is required for recurring transactions.
For CyberSource ACH Service, CCD is the default for ics_ecp_credit if no value is set for ecp_sec_code.
POP:
point of purchase conversion—supports single entry debits used at the point of purchase. This value is used only by Paymentech. POP is not supported in Canada.
Contact your Paymentech representative to ensure that your address city field has been set up. If you submit ecp_sec_code with a value of POP, we strongly recommend that you also submit ecp_terminal_city and ecp_terminal_state. If you submit ecp_terminal_city and ecp_terminal_state in a transaction and you wish to perform a follow-on transaction, you must resubmit them with the follow-on
transaction. For more information, see "Request-Level Fields," page 50
.
PPD:
prearranged payment and deposit entry—a charge or credit against a personal checking or savings account. You can originate a PPD entry only when the payment and deposit terms between you and the customer are prearranged. A written authorization from the customer is required for one-time transactions, and a written standing authorization is required for recurring transactions. For CyberSource ACH
Service, PPD is the default for ics_ecp_debit if no value is set for ecp_sec_code.
TEL:
telephone-initiated entry—a one-time charge against a personal checking or savings account. You can originate a TEL entry only when there is a business relationship between you and the customer or when the customer initiates a telephone call to you. For a TEL entry, you must obtain a payment authorization from the customer over the telephone. Only the CyberSource ACH processor supports recurring telephone-initiated debits and credits. For CyberSource ACH Service, if the
E-commerce Indicator for the Virtual Terminal is MOTO, the value of ecp_sec_code will default to TEL.
Electronic Check Services Using the SCMP API | October 2016
89
I
Appendix I SEC Codes
WEB:
internet-initiated entry—a charge against a personal checking or savings account. You can originate a one-time or recurring WEB entry when the customer initiates the transaction over the Internet. For a WEB entry, you must obtain payment authorization from the customer over the Internet. For CyberSource ACH Service, if the e-commerce indicator for the Virtual Terminal is not set to MOTO, then the value of
ecp_sec_code will default to WEB.
Electronic Check Services Using the SCMP API | October 2016
90
Index
A
account information
account numbers encoded
on checks
ACH verification for credits
B
banking requirements
C
Chase Paymentech Solutions banking requirements
credits
debits
deferred payments
encoded account numbers
merchant descriptors
recurring billing
settlement delivery methods
verification
voids
check point summary codes
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
credits follow-on
CyberSource ACH Service banking requirements
NOCs for credits
for debits
NSF service
recurring billing
verification for credits
for debits
CyberSource Direct ACH
D
data types
date and time formats
debits
deferred payments
Electronic Check Services Using the SCMP API | October 2016
91
Index
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
E
ecDebitService
encoded account numbers
encrypted account numbers
F
G
guaranteed checks
I
L
M
merchant descriptors
multiple partial credits
N
NOCs for credits
non-sufficient funds. See NSF service
NSF service
O
order tracking
Electronic Check Services Using the SCMP API | October 2016
P
partial credits
processor transaction identifiers
R
RBS WorldPay Atlanta
banking requirements
multiple partial credits
NOCs for credits
for debits
recurring billing
verification for credits
for debits
voids
recurring billing
request IDs
routing numbers on checks
S
samples
settlement delivery methods
special characters
92
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
T
TeleCheck banking requirements
credits
debits
deferred payments
guaranteed checks
multiple partial credits
recurring billing
voids
U
UTC
V
verification
voids
Index
Electronic Check Services Using the SCMP API | October 2016
93
Download
Advertisement
Key features
Supports electronic funds transfer (EFT)
Provides a secure and reliable way to process payments
Integrates with existing order management systems
Offers a range of features, including validation, verification, and guarantees
Provides reporting capabilities to track transactions
Frequently asked questions
CyberSource Electronic Check Services provide a secure and reliable way to process electronic check payments. They offer features such as validation, verification, and guarantees, which help to reduce risk and fraud.
This guide provides step-by-step instructions for integrating the electronic check services into your existing order management system. You will need to write code that uses the API request and reply fields to integrate the services.
CyberSource Electronic Check Services support the following processors: Chase Paymentech Solutions, CyberSource ACH Service, RBS WorldPay Atlanta, and TeleCheck.