Payer Authentication SCMP API
Payer Authentication SCMP API
June 2014
CyberSource Corporation HQ | P.O. Box 8999 | San Francisco, CA 94128-8999 | Phone: 800-530-9095
Copyright
2014 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.
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.
CONTENTS
Contents
8
8
Conventions 9
Note and Important Statements 9
Text and Command Conventions 9
Related Documents
Customer Support
Chapter 1
10
10
11
13
Chapter 2
18
22
24
Contents
Chapter 3
27
31
33
34
Test Cases 36
Verified by Visa 36
MasterCard SecureCode 43
Maestro SecureCode 49
American Express SafeKey 55
JCB J/Secure 60
66
Formatting Restrictions
66
66
Request-Level Fields
67
Offer-Level Fields
Reply Fields
70
71
79
Contents
80
Check Enrollment 80
Transaction Reply for Visa with Verified by Visa 81
Transaction Reply for MasterCard with SecureCode 82
Transaction Reply for JCB with J/Secure 83
Validate Authentication 84
Transaction Reply for Visa with Verified by Visa 85
Transaction Reply for MasterCard with SecureCode 85
Transaction Reply for JCB with J/Secure 86
ProofXML
87
88
89
Appendix E
88
90
91
100
Appendix F
100
101
91
103
105
106
Contents
<VERes> 111
<PAReq> 112
<PARes> 113
<AuthInfo> 115
Examples 116
Failed Enrollment Check 116
Successful Authentication 117
118
Glossary
Index
118
119
120
127
REVISIONS
Release
Changes
June 2014
May 2014
Added more information about the new rules-based Payer Authentication service. See "RulesBased Payer Authentication," page 118.
April 2014
March 2014
February 2014
January 2014
Added four new API request fields to support Payer Authentication for Brazilian transactions:
pa_mcc, page 68
pa_mobile_phone, page 69
pa_override_payment_method, page 69
pa_product_code, page 69
Added information about the new rules-based Payer Authentication service. See "RulesBased Payer Authentication," page 118.
Changed length of API reply fields of the String data type to 255 characters. See "Reply
Fields," page 71.
Changed returned values for E-commerce indicator and ECI in Table 48, "American
Express SafeKey Card Not Enrolled," on page 58.
Added ECI return value for check enrollment to Table 49, "American Express SafeKey
Enrollment Check: Time-Out," on page 59.
Corrected a JCB/JSecure test case. Removed the ECI value, which is not returned for this
test. See Table 56, "JCB J/Secure Card Enrolled: Failed Authentication," on page 63.
Editorial changes.
ABOUT GUIDE
Audience
This guide is written for application developers who want to use the CyberSource SCMP
API to integrate Payer Authentication services into their order management system.
Implementing CyberSource Payer Authentication services requires software development
skills. You must write code that uses the API request and reply fields to integrate Payer
Authentication services into your existing order management system.
Purpose
This guide describes tasks you must complete to integrate Payer Authentication Services
into your existing order management system.
Scope
This guide describes how to use the SCMP API to integrate Payer Authentication services
with your order management system. It does not describe how to get started using the
SCMP API nor does it explain how to use CyberSource services other than Payer
Authentication. For that information, see "Related Documents," page 10.
Conventions
Note and Important Statements
A Note contains helpful suggestions or references to material not contained in
this document.
Note
Usage
bold
italic
monospace
XML elements.
Related Documents
Getting Started with CyberSource Advanced for the SCMP API describes how to get
started using the SCMP API. (PDF | HTML)
Decision Manager Developer Guide Using the SCMP API describes how to integrate
Decision Manager, a fraud detection service, with your order management system.
(PDF | HTML)
Credit Card Services Using the SCMP API describes how to integrate CyberSource
payment processing services into your business. (PDF | HTML)
Secure Acceptance Silent Order POST Development Guide describes how to create
Secure Acceptance Silent Order POST profiles, which enable you to integrate your
order management system with a web site to process transactions. (PDF | HTML)
Reporting Developer Guide describes how to view and configure Business Center
reports. (PDF | HTML)
Customer Support
For support information about any CyberSource service, visit the Support Center at:
http://www.cybersource.com/support
10
CHAPTER
Introducing Payer
Authentication
CyberSource Payer Authentication services enable you to add support to your web store
for card authentication services, including Visa Verified by VisaSM, MasterCard and
Maestro SecureCode (UK Domestic and international), American Express SafeKeySM,
and JCB J/Secure.
These card authentication services deter unauthorized card use and protect you from
fraudulent chargeback activity referred to as liability shift. However, Payer Authentication
is not a fraud management service, such as Decision Manager with Advanced Fraud
Screen. CyberSource recommends that you implement a comprehensive fraud
management program in addition to Payer Authentication services.
You can use Payer Authentication services with specific payment processors. To find out if
your payment processor supports this feature, see the Payer Authentication section in
Credit Card Services Using the SCMP API (PDF | HTML).
Check Enrollment: Determines whether the customer is enrolled in one of the card
authentication programs.
Validate Authentication: Ensures that the authentication that you receive from the
issuing bank is valid.
Figure 1 shows the Payer Authentication process after a customer places an order on your
web site. CyberSource provides the Check Enrollment, Card Authorization, and the
Validate Authentication services.
11
Chapter 1
Figure 1
Check Enrollment
service
Is the card
enrolled?
Yes
Is the password
authenticated?
No
Yes
Card Authorization
service
Validate Authentication
service
No
The Check Enrollment service determines whether the customer is enrolled in one of the
card authentication services:
No
If the card is not enrolled, you can process the authorization immediately.
Yes
If the card is enrolled, the customers browser displays a window where the customer
can enter the password associated with the card. This is how the customer
authenticates their card with the issuing bank.
If the password matches the password stored by the bank, you need to verify that
the information is valid with the Validate Authentication service. If the identity of
the sender is verified, you can process the payment with the Card Authorization
service.
If the password does not match the password stored by the bank, the customer
may be fraudulent. You must refuse the card and can request another form of
payment.
12
Chapter 1
Modify your web site to help the customer understand the process.
13
Chapter 1
Information
Description
http://www.example.com
Bank Information
14
Chapter 1
Your Customer
7
1
Customer's
Password
2
Enrollment
PARes
PAReq
ACS URL
CyberSource
Authentication
PAReq
Check Enrollment
Service
5
Yes No
Card Association's
Directory Server
ACS URL
Customer's card-issuing
Bank
When the customer places an order on your web site, your order management system
extracts the purchase information from the POST of the final page of the order.
To verify that the customer is enrolled in one of the card authentication programs, you
request the Enrollment Check service.
CyberSource contacts the appropriate Directory Server for the card type.
15
Chapter 1
The Directory Server verifies with the bank that issued the card that the card is
enrolled. If the card is enrolled, the directory server receives the URL of the Access
Control Server (ACS) where the customer can be authenticated.
The Directory Server replies to CyberSource and to your Order Management System
as follows:
The ACS URL of the issuing bank where you need to send the PAReq
message.
If the card is not enrolled, authentication and validation are omitted and the
process proceeds with card authorization.
If the card is enrolled, you send the PAReq message to the ACS URL of the cardissuing bank to request authentication.
The customers web browser displays the card-issuing banks authentication dialog
box where the customer enters their password for the card.
The card-issuing bank replies to your order management system with a PARes
message that contains the results of the authentication.
You verify that the signature in the PARes is the same as that in the PAReq.
This final check verifies that the enrollment and validation checks are for the same
transaction. The rest of the process is described in the following "Validate
Authentication" section.
16
Chapter 1
Validate Authentication
The Validate Authentication service verifies and interprets the payment authentication
response message returned by the card-issuing bank.
If the authentication fails, Visa and JCB require that you do not accept the card.
Instead, you must ask the customer to use another payment method.
Important
The steps in the following figure resume the process started in the "Enrollment and
Authentication Process," page 15.
Figure 3
PARes
12
Validation
11
Yes No
10
PARes
CyberSource
Validation Service
10 You extract the PARes message from the form and request the CyberSource Validate
Authentication service, which uses the message's digital signature to verify the
sender's identity.
11 You receive a reply with the authentication result.
12 You verify that the XID in the PARes is the same as that in the PAReq.
This final check verifies that the enrollment and validation checks are for the same
transaction.
17
CHAPTER
Integrating Payer
Authentication into Your
Business
The integration process takes approximately 10 weeks from the initial stages of contacting
your acquirer until you can use Payer Authentication in your production environment.
Important
Add 1 week for each Joint e-Commerce Framework (JEF) testing attempt. For
example, if your Payer Authentication implementation passes the JEF test on
the first attempt, the Payer Authentication process should take approximately
10 weeks to complete. However, if your implementation fails during the first test
attempt, expect to add an additional week to the schedule, and expect
integration to take approximately 11 weeks. For more information about JEF
testing, see "Joint e-Commerce Framework Testing (JEF Tests)," page 14.
18
Chapter 2
Process Overview
The following tables summarize the process of integrating Payer Authentication services
into your existing business processes.
Phase 1: Prerequisites
Before implementing Payer Authentication services, your business team must contact
your acquirer and CyberSource to begin setting up the service. Your software
development team should become familiar with the API fields and technical details of this
service.
Table 2
Developer Tasks
2 Go to www.cybersource.com/register to create a
CyberSource merchant ID that you will use for testing
your Payer Authentication implementation.
19
Chapter 2
Phase 2: Implementation
Implementation includes modifying your web site front end and developing the software
code to integrate with Payer Authentication services. For a detailed discussion of the
steps in this phase, see this chapters sections starting with "Implementing Payer
Authentication Services," page 23.
Table 3
Developer Tasks
1 Develop code to modify your web site checkout page
appearance. For information about requirements for
modifying your web site checkout page, see
Appendix D, "Web Site Modification Reference," on
page 88.
2 Develop code to send a request (VEReq) to verify
card enrollments. See "A. Requesting the Check
Enrollment Service," page 24.
3 If required, enable API logging for debugging
purposes.
4 Display the Access Control Server URL (ACS URL)
correctly, and capture the return data for the PAReq.
See "B. Interpreting the Reply," page 25.
5 Add code to the HTTP POST request to send the
required data, including the PAReq, to the ACS URL.
6 Develop code to send a validate request to
CyberSource and include the correct data sent to the
TermURL from the ACS URL. See "A. Requesting the
Validation Service," page 28.
7 Where applicable, develop code to pass appropriate
data into the authorization requests. See "B.
Interpreting the Reply," page 30.
8 Use the test cases in Chapter 3, "Testing Payer
Authentication Services," on page 31 to test your
preliminary code and make the appropriate changes.
Run tests to the following test environment:
https://icstest.ic3.com
9 If not activated previously, enable API logging for the
formal testing phase.
1 After code complete has been confirmed, contact
your CyberSource account representative to arrange
a time to begin formal testing with the CyberSource
technical team.
20
Chapter 2
Developer Tasks
1 During the scheduled test time,
run the accreditation tests in the
exact sequence as described in
the testing document provided by
CyberSource.
2 Record the test results as
described in the testing
document, and send the
completed tests to the
CyberSource technical team.
Note Each additional formal test run attempt requires approximately 1 additional week.
21
Chapter 2
CyberSource Tasks
Developer Tasks
Visa Login ID
Visa password
MasterCard Merchant ID
22
Chapter 2
Implementing Payer
Authentication Services
Do not use Payer Authentication services for subscription payments because
you cannot receive chargeback protection for these transactions.
Warning
To reduce your development time, CyberSource recommends that you request both payer
authentication and the card authorization services at the same time. When you do so,
CyberSource automatically sends the correct information to your payment processor. For
example, CyberSource converts the values of these fields, which are in base64, to the
proper format required by your payment processor:
CAVV: pa_validate_cavv
AAV: pa_validate_ucaf_authentication_data
If you request the services separately, you need to include the value of these fields, not
the field name, in the subsequent card authorization service request.
In most cases, you request card authorization only once for each purchase. However, you
need to send multiple authorization requests if the original authorization expires before it is
captured, which can occur when order fulfillment is split or delayed.
Single authorizations: For most purchases, you request authorization only once with
either one or both Payer Authentication services:
With Check Enrollment: the authorization is processed only if the customer is not
enrolled in a card authentication program. If the customer is enrolled, you must
validate the authentication before the card can be authorized.
23
Chapter 2
If the card is enrolled, the VERes reply field indicates enrollment. The reply also
contains the URL of the Access Control Server and the PAReq.
Before requesting ics_pa_enroll service, check the first digit of the card
number to verify the card type. The first digit for Visa is 4, the first digit for
MasterCard is 5, Maestro can start with 5 or 6, and the first digit for American
Express and JCB is 3. Specifying the card type is required for all Payer
Authentication services.
Use the Check Enrollment service to verify that the card is enrolled in a card
authentication program. For a list of the fields used when requesting the service, see
"Request-Level Fields," page 67. You can use the enrollment check and card
authorization services in the same request or in separate requests:
Same request: CyberSource attempts to authorize the card if your customer is not
enrolled in a payer authentication program (reply flag SOK is returned). In this case,
the field values that are required to prove you attempted to check enrollment are
passed automatically to the authorization service.
Separate requests: You must manually include the enrollment check result values
(Enrollment Check Reply Fields) in the authorization service request (Card
Authorization Request Fields). The following table lists these fields:
Identifiers
Card Authorization
Request Fields
E-commerce indicator
pa_enroll_e_commerce_indicator
e_commerce_indicator
Collection indicator
(MasterCard only)
pa_enroll_ucaf_collection_indicator
ucaf_collection_indicator
pa_enroll_veres_enrolled
veres_enrolled
24
Chapter 2
Enrolled Cards
You receive reply flag DAUTHENTICATE if the customers card is enrolled in a payer
authentication program.
If you receive this reply, you can proceed to validate authentication.
If the account number is not enrolled in a payer authentication program. The other
services in your request are processed normally.
If payer authentication is not supported by the card type, such as Diners Club and
Discover.
25
Chapter 2
POST Form
The page typically includes JavaScript that automatically posts the form. This code
provides the following:
A page that receives the reply fields for the enrollment check service.
A form that contains the required data for the card-issuing bank.
Outside the HTML frame, you must provide a brief message that guides customers
through the process. For example, Please wait while we process your request. Do not
26
Chapter 2
click the Back button or refresh the page. Otherwise, this transaction may be
interrupted.
Card associations provide guidance on their web sites about using their logos and
accommodating their authentication/activation forms. For information about downloading
this information, see Appendix D, "3-D Secure Services Logos," on page 89. When testing
your integration, verify that the frames you use are large enough.
The signed PARes field contains a base64-encoded string that contains the following
information:
PaRes
Digitally signed payer authentication response message that contains the
authentication result.
The field name has a lowercase a (PaRes), but the message name has
an uppercase A (PARes).
Important
MD
Merchant data, which is included only if you provided it in the outgoing page when you
sent the enrollment authentication request (PAReq).
Note
For card types that accept attempts processing in addition to card enrollment in
a 3-D Secure program, you might receive a response message that is identical
to a successful authentication message except that the status in the
authentication result field indicates a successful attempt instead of a
successful authentication.
27
Chapter 2
Extract the PARes message from the form received from the card-issuing bank.
Remove all white spaces created by tabs, spaces, or line breaks from the PaRes field.
Do not modify any other part of the PaRes field. If you do not remove these white
space characters, the validation and subsequent authorization service requests fail.
Send the PaRes to CyberSource in the signed PaRes field of the validation service.
The reply that you receive contains the validation result.
You can use the validation and card authorization services in the same request or in
separate requests:
Note
28
Chapter 2
Separate requests: You must manually include the validation result values (Payer
Authentication Reply Fields) in the authorization service request (Card Authorization
Request Fields), which are listed in the following table:
Identifiers
Card Authorization
Request Fields
pa_validate_pares_status
pares_status
XID
pa_validate_xid
xid
E-commerce indicator
pa_validate_e_commerce_
indicator
e_commerce_indicator
ECI raw
pa_validate_eci_raw
eci_raw
pa_validate_cavv
cavv
pa_validate_cavv_algorithm
cavv_algorithm
pa_validate_ucaf_
authentication_data
ucaf_authentication_data
Collection indicator
(MasterCard only)
pa_validate_ucaf_collection_
indicator
ucaf_collection_indicator
Important
To increase the likelihood that you will receive liability shift protection, you must
ensure that you pass all the pertinent data for the card type and processor into
your request. Failure to do so may invalidate your liability shift for that
transaction. Include the electronic commerce indicator (ECI), the transaction ID
(XID), and the following card-specific information in your authorization request:
For Visa, American Express, and JCB, include the CAVV (cardholder authentication
verification value).
For MasterCard, include the UCAF (universal cardholder authentication field) and
the collection indicator.
29
Chapter 2
If the authentication fails, Visa, American Express, and JCB require that you do
not accept the card. Instead, you must ask the customer to use another
payment method.
Proceed with the order according to the validation response that you receive. The replies
are similar for all card types:
Success:
You receive the reply flag SOK, and other service requests, including authorization,
are processed normally.
Failure:
You receive the reply flag DAUTHENTICATIONFAILED, so the other services in your
request are not processed. If you want to process the other services or fraud tools
despite the failure, set the request field ignore_validate_result to yes.
Error:
If you receive an error from the card association, process the order according to your
business rules. If the error occurs frequently, report it to Customer Support. If you
receive a CyberSource system error, determine the cause, and proceed with card
authorization only if appropriate.
To verify that the enrollment and validation checks are for the same transaction, ensure
that the XID in the enrollment check and validation replies are identical.
30
CHAPTER
Testing Payer
Authentication Services
After you have completed the necessary changes to your Web and API integration, verify
that all components are working correctly by performing all the tests for the cards that you
support. Each test contains the specific input data and the most important results fields
that you receive in the API reply.
Testing Process
Use the card number specified in the test with the cards expiration date set as follows: the
month of December and the current year plus two. For example, for 2012, use 2014. You
also need the minimum required fields for an order.
Enrollment Check
For some of the enrolled cards, an authentication window appears after the enrollment
check completes. Figure 4 shows an authentication window for Verified by Visa. The
window for MasterCard is similar.
To see the authentication window, you must enable your browser to display
popup windows.
Note
31
Chapter 3
Figure 4
This Exit link enables the customer to prevent the authentication process.
If the user submits the password for the enrolled card, you receive the URL of the
Access Control Server (ACS) where the customer can be authenticated.
If the user clicks the Exit link and clicks OK in the verification window (Figure 5),
authentication does not occur.
Figure 5
32
Chapter 3
Table 6
API Field
ACS URL
pa_enroll_acs_url
E-commerce indicator
pa_enroll_e_commerce_indicator
ECI
pa_enroll_eci
PAReq
pa_enroll_pareq
proofXML
pa_enroll_proofxml
Reply flag
pa_enroll_rflag
VERes enrolled
pa_enroll_veres_enrolled
XID
pa_enroll_xid
Authentication Validation
Table 7 lists only the reply fields used in the test cases.
Table 7
API Field
Authentication result
pa_validate_authentication_result
E-commerce indicator
pa_validate_e_commerce_indicator
pa_validate_ucaf_authentication_data
pa_validate_cavv
Collection indicator
pa_validate_ucaf_collection_indicator
ECI
pa_validate_eci
PARes status
pa_validate_pares_status
Reply flag
pa_validate_rflag
XID
pa_validate_xid
33
Chapter 3
Expected Results
These flowcharts provide an overview of the payer authentication process based on the
enrollment status of the card and the subsequent customer experience with the
authentication path.
Use this information with the test cases to determine how to process orders.
Figure 6
34
Chapter 3
Figure 7
35
Chapter 3
Test Cases
Verified by Visa
You can use Payer Authentication services with 16- and 19-digit Visa cards if these are
supported by your processor.
Table 8
Success
Failure
(Customer
not
responsible)
Reply Flag
Successful authentication.
05
vbv
SOK
Recorded attempt to
authenticate.
06
vbv_
attempted
SOK
SOK
07
internet
SOK
07
internet
Failure
(Customer
responsible)
vbv_failure
(processors:
AIBMS, Barclays,
Streamline, or
FDC Germany)
Invalid PARes.
-1
DAUTHENTICATION
FAILED
Authentication failed or
cardholder did not complete
authentication.
DAUTHENTICATION
FAILED
36
Chapter 3
Table 9
4000000000000000022
4000000000000119
Results
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL
Authentication result
PAReq
PAReq value
CAVV
CAVV value
proofXML
proofXML value
E-commerce indicator
vbv
VERes enrolled
ECI
05
XID
XID value
PARes status
XID
XID value
Table 10
4000000000000000071
Results
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
Authentication result
-1
PAReq
PAReq value
XID
XID value
proofXML
proofXML value
VERes enrolled
XID
XID value
Do not proceed with authorization. Instead, ask the customer for another form of payment.
37
Chapter 3
Table 11
Results
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL value
Authentication result
PAReq
PAReq value
CAVV
CAVV value
proofXML
proofXML value
E-commerce indicator
vbv_attempted
VERes enrolled
ECI
06
XID
XID value
PARes status
XID
XID value
If you request Validate Authentication and authorization services separately, follow these steps:
1 Add the signed PARes to the Validate Authentication request.
2 Ensure that the XID from the enrollment check matches that from the authentication validation.
3 Add the CAVV and ECI values to your authorization request.
If you request the Validate Authentication and authorization services together, the process
described above occurs automatically. Test card 4000000000000127 enables you to reproduce
the process by which the customer enrolls the card during the purchase. If the card is not enrolled,
a card enrollment option windows appears in the customers browser after the enrollment check.
The customer can activate the card at that time or later. In both cases, the card is authenticated,
and validation is successful.
38
Chapter 3
Table 12
Results
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL value
Authentication result
PAReq
PAReq value
E-commerce indicator
internet
proofXML
proofXML value
ECI
07
VERes enrolled
PARes status
XID
XID value
XID
XID value
Ask the customer for another form of payment, or submit the transaction. No liability shift.
Table 13
4000000000000000048
Results
Summary
Check Enrollment
Reply flag
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
Authentication result
PAReq
PAReq value
PARes status
proofXML
proofXML value
XID
XID value
VERes enrolled
XID
XID value
You are not permitted to submit this transaction for authorization. Instead ask the customer for
another form of payment.
39
Chapter 3
Table 14
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
Authentication result
PAReq
PAReq value
PARes status
proofXML
proofXML value
XID
XID value
VERes enrolled
XID
XID value
You are not permitted to submit this transaction for authorization. Instead ask the customer for
another form of payment.
Table 15
Results
Check Enrollment
Validate Authentication
SOK
Action
internet
proofXML
proofXML value
VERes enrolled
40
Chapter 3
Table 16
Results
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
E-commerce indicator
internet
PAReq
PAReq value
ECI
07
proofXML
proofXML value
VERes enrolled
XID
XID value
Table 17
Results
Check Enrollment
Validate Authentication
SOK
Action
vbv_attempted
ECI
06
proofXML
proofXML value
VERes enrolled
Table 18
Check Enrollment
Validate Authentication
SOK
Action
internet
proofXML value
41
Chapter 3
Table 19
Results
Error response
Incorrect Configuration: Unable to Authenticate
Check Enrollment
Validate Authentication
SOK
Action
internet
proofXML
proofXML value
VERes enrolled
Proceed with the authorization request, and contact your support representative to resolve the
issue. No liability shift. If you requested payer authentication and authorization together, the
authorization is processed automatically.
42
Chapter 3
MasterCard SecureCode
Table 20
Success
Failure
(Customer
not
responsible)
Failure
(Customer
responsible)
authentication
_result
ucaf_
collection_
indicator
e_commerce_
indicator
rflag
Successful authentication.
spa
100
spa
100
internet
100
Invalid PARes.
-1
Authentication failed or
cardholder did not complete
authentication.
Table 21
5200000000000114
476
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
476
Reply flag
SOK
URL
Authentication result
PAReq
PAReq value
AAV
AAV value
proofXML
proofXML value
Collection indicator
VERes enrolled
E-commerce indicator
spa
XID
XID value
PARes status
XID
XID value
43
Chapter 3
Table 22
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL
Authentication result
-1
PAReq
PAReq value
XID
XID value
proofXML
proofXML value
VERes enrolled
XID
XID value
Do not process the authorization request. Instead ask the customer for another form of payment.
44
Chapter 3
Table 23
5200000000000106
Results
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL
Authentication result
PAReq
PAReq value
AAV
AAV value
proofXML
proofXML value
E-commerce indicator
spa
VERes enrolled
PARes status
XID
XID value
XID
XID value
This test card enables you to reproduce the process by which the customer enrolls the card during
the purchase. If the card is not enrolled, a card enrollment option windows appears in the
customers browser after the enrollment check. The customer can activate the card at that time or
later. In both cases, the card is authenticated, and validation is successful.
1 Add the signed PARes to the validation request.
2 In the reply, ensure that the XID from the enrollment check matches that from the validation.
3 Add the required payer authentication values to your authorization request.
45
Chapter 3
Table 24
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL value
Authentication result
PAReq
PAReq value
Collection indicator
01
proofXML
proofXML value
E-commerce indicator
internet
VERes enrolled
PARes status
XID
XID value
XID
XID value
Ask the customer for another form of payment, or submit the transaction. No liability shift.
Table 25
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
Authentication result
PAReq
PAReq value
PARes status
proofXML
proofXML value
VERes enrolled
XID
XID value
XID
XID value
You are not permitted to submit this transaction for authorization. Instead ask the customer for
another form of payment.
46
Chapter 3
Table 26
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
Authentication result
PAReq
PAReq value
PARes status
proofXML
proofXML value
XID
XID value
VERes enrolled
XID
XID value
You are not permitted to submit this transaction for authorization. Instead ask the customer for
another form of payment.
Table 27
Check Enrollment
Validate Authentication
SOK
Action
E-commerce indicator
spa
proofXML
proofXML value
VERes enrolled
47
Chapter 3
Table 28
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
Collection indicator
PAReq
PAReq value
E-commerce indicator
internet
proofXML
proofXML value
VERes enrolled
XID
XID value
Table 29
Check Enrollment
Validate Authentication
SOK
E-commerce indicator
spa
proofXML
proofXML value
VERes enrolled
Action
Table 30
Check Enrollment
Validate Authentication
SOK
Action
E-commerce indicator
spa
proofXML
proofXML value
48
Chapter 3
Table 31
Check Enrollment
Validate Authentication
SOK
Action
E-commerce indicator
spa
proofXML
proofXML value
VERes enrolled
Proceed with the authorization request, and contact your support representative to resolve the
issue. No liability shift. If you requested payer authentication and authorization together, the
authorization is processed automatically.
Maestro SecureCode
Table 32
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL
Authentication result
PAReq
PAReq value
AAV
AAV value
proofXML
proofXML value
Collection indicator
VERes enrolled
E-commerce indicator
spa
XID
XID value
PARes status
XID
XID value
49
Chapter 3
Table 33
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL
Authentication result
-1
PAReq
PAReq value
XID
XID value
proofXML
proofXML value
VERes enrolled
XID
XID value
Do not process the authorization request. Instead ask the customer for another form of payment.
50
Chapter 3
Table 34
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL
Authentication result
PAReq
PAReq value
AAV
AAV value
proofXML
proofXML value
E-commerce indicator
spa
VERes enrolled
PARes status
XID
XID value
XID
XID value
This test card enables you to reproduce the process by which the customer enrolls the card during
the purchase. If the card is not enrolled, a card enrollment option windows appears in the
customers browser after the enrollment check. The customer can activate the card at that time or
later. In both cases, the card is authenticated, and validation is successful.
1 Add the signed PARes to the Validate Authentication request.
2 Ensure that the XID from the enrollment check matches that from the authentication validation.
3 Add the required payer authentication values to your authorization request.
51
Chapter 3
Table 35
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL value
Authentication result
PAReq
PAReq value
Collection indicator
proofXML
proofXML value
E-commerce indicator
internet
VERes enrolled
PARes status
XID
XID value
XID
XID value
Ask the customer for another form of payment, or submit the transaction. No liability shift.
Table 36
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
Authentication result
PAReq
PAReq value
PARes status
proofXML
proofXML value
XID
XID value
VERes enrolled
XID
XID value
You are not permitted to submit this transaction for authorization. Instead ask the customer for
another form of payment.
52
Chapter 3
Table 37
Check Enrollment
Validate Authentication
SOK
Action
E-commerce indicator
spa
proofXML
proofXML value
Table 38
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
Collection indicator
PAReq
PAReq value
E-commerce indicator
internet
proofXML
proofXML value
VERes enrolled
XID
XID value
Do not request authorization. Instead ask the customer for another form of payment. No liability
shift.
53
Chapter 3
Table 39
Check Enrollment
Validate Authentication
SOK
Action
E-commerce indicator
spa
proofXML
proofXML value
VERes enrolled
Table 40
Check Enrollment
Validate Authentication
SOK
Action
E-commerce indicator
spa
proofXML
proofXML value
VERes enrolled
Proceed with the authorization request, and contact your support representative to resolve the
issue. No liability shift. If you requested payer authentication and authorization together, the
authorization is processed automatically.
54
Chapter 3
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL value
Authentication result
PAReq
PAReq value
CAVV
CAVV value
proofXML
proofXML value
E-commerce indicator
aesk
VERes enrolled
ECI
05
XID
XID value
PARes status
XID
XID value
Table 42
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
Authentication result
-1
PAReq
PAReq value
XID
XID value
proofXML
proofXML value
VERes enrolled
XID
XID value
Do not proceed with authorization. Instead, ask the customer for another form of payment.
55
Chapter 3
Table 43
Results
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL value
Authentication result
PAReq
PAReq value
CAVV
CAVV value
proofXML
proofXML value
E-commerce indicator
aesk_attempted
VERes enrolled
ECI
06
XID
XID value
PARes status
XID
XID value
If you request Validate Authentication and authorization services separately, follow these steps:
1 Add the signed PARes to the Validate Authentication request.
2 Ensure that the XID from the enrollment check matches that from the authentication validation.
3 Add the CAVV and ECI values to your authorization request.
If you request the validation and authorization services together, the process described above
occurs automatically.
Table 44
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL value
Authentication result
PAReq
PAReq value
E-commerce indicator
internet
proofXML
proofXML value
ECI
07
VERes enrolled
PARes status
XID
XID value
XID
XID value
Ask the customer for another form of payment, or submit the transaction. No liability shift.
56
Chapter 3
Table 45
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
Authentication result
PAReq
PAReq value
PARes status
proofXML
proofXML value
ECI
07
VERes enrolled
XID
XID value
XID
XID value
You are not permitted to submit this transaction for authorization. Instead ask the customer for
another form of payment.
Table 46
Check Enrollment
Validate Authentication
SOK
Action
internet
proofXML
proofXML value
VERes enrolled
57
Chapter 3
Table 47
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
ECI
07
PAReq
PAReq value
E-commerce Indicator
internet
proofXML
proofXML value
VERes enrolled
XID
XID value
Table 48
Check Enrollment
Validate Authentication
SOK
Action
internet
ECI
07
proofXML
proofXML value
VERes enrolled
58
Chapter 3
Table 49
Check Enrollment
Validate Authentication
SOK
Action
internet
ECI
07
proofXML
proofXML value
Table 50
Check Enrollment
Validate Authentication
SOK
Action
internet
proofXML
proofXML value
VERes enrolled
Proceed with the authorization request, and contact your support representative to resolve the
issue. If you requested payer authentication and authorization together, the authorization is
processed automatically. No liability shift.
59
Chapter 3
JCB J/Secure
Table 51
Success
Failure
(Customer
not
responsible)
pa_validate_
authentication_
result
eci
e_commerce_
indicator
rflag
05
js
100
06
js_attempted
100
Successful authentication.
07
internet
07
internet
Incomplete or unavailable
authentication.
Failure
(Customer
responsible)
100
js_failure
Invalid PARes.
-1
00
Authentication failed or
cardholder did not complete
authentication.
476
476
60
Chapter 3
Table 52
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL
Authentication result
PAReq
PAReq value
CAVV
CAVV value
proofXML
proofXML value
E-commerce indicator
js
VERes enrolled
ECI
05
XID
XID value
PARes status
XID
XID value
Table 53
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
Authentication result
-1
PAReq
PAReq value
XID
XID value
VERes enrolled
Do not proceed with authorization. Instead ask the customer for another form of payment.
61
Chapter 3
Table 54
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL value
Authentication result
PAReq
PAReq value
CAVV
CAVV value
proofXML
proofXML value
E-commerce indicator
js_attempted
VERes enrolled
ECI
06
XID
XID value
PARes status
XID
XID value
If you request Validate Authentication and authorization services separately, follow these steps:
1 Add the signed PARes to the validation request.
2 In the reply, ensure that the XID from the enrollment check matches that from the validation.
3 Add the CAVV and ECI values to your authorization request.
If you request the Validate Authentication and authorization services together, the steps described
above occurs automatically.
Table 55
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
SOK
URL value
Authentication result
PAReq
PAReq value
E-commerce indicator
internet
proofXML
proofXML value
ECI
07
VERes enrolled
PARes status
XID
XID value
XID
XID value
Ask the customer for another form of payment, or submit the transaction. No liability shift.
62
Chapter 3
Table 56
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
Authentication result
PAReq
PAReq value
PARes status
proofXML
proofXML value
XID
XID value
VERes enrolled
XID
XID value
You are not permitted to submit this transaction for authorization. Instead ask the customer for
another form of payment.
Table 57
Check Enrollment
Validate Authentication
SOK
Action
internet
proofXML
proofXML value
VERes enrolled
63
Chapter 3
Table 58
Check Enrollment
Validate Authentication
DAUTHENTICATE
Action
Reply flag
DAUTHENTICATION
FAILED
URL value
ECI
07
PAReq
PAReq value
E-commerce indicator
internet
proofXML
proofXML value
VERes enrolled
XID
XID value
Table 59
Check Enrollment
Validate Authentication
SOK
js_attempted
ECI
06
proofXML
proofXML value
VERes enrolled
Action
Table 60
Check Enrollment
Validate Authentication
SOK
Action
internet
proofXML value
64
Chapter 3
Table 61
Check Enrollment
Validate Authentication
SOK
Action
internet
proofXML
proofXML value
VERes enrolled
Proceed with the authorization request, and contact your support representative to resolve the
issue. No liability shift. If you requested payer authentication and authorization together, the
authorization is processed automatically.
65
APPENDIX
API Fields
This appendix describes the SCMP (Simple Commerce Message Protocol) API fields that
you can use to access Payer Authentication services. SCMP API is a legacy name-value
pair API that is supported for merchants who have already implemented it. If you are new
to CyberSource and want to connect to services, use the Simple Order API.
Formatting Restrictions
Unless otherwise noted, all fields are order and case insensitive and the fields accept
special characters such as @, #, and %.
Note
Request-level and offer-level field names and values must not contain carets
(^) or colons (:). However, they can contain embedded spaces and any other
printable characters. If you use more than one consecutive space, the extra
spaces will be removed.
For Atos, the bill_ fields must not contain colons (:).
Data Type
Description
The format is YYYY-MM-DDThhmmssZ. For example, 2012-0811T224757Z is equal to August 11, 2012, at 10:47:57 P.M. The T
separate the date and the time. The Z indicates Coordinated Universal
Time (UTC), which is also known as Greenwich Mean Time.
Decimal
Integer
Nonnegative integer
66
Appendix A
API Fields
Data Type
Description
Positive integer
String
Request-Level Fields
See CyberSource Credit Card Services Using the SCMP API and Getting Started with
CyberSource Advanced for more information about using the SCMP API to access the
CyberSource services.
The fields in the following table refer to the enroll and validate services only.
Please review Credit Card Services Using the SCMP API for more information
about the fields specific to the authorization.
Note
Table 63
Request-Level Fields
Field Name
Description
Used By:
Required (R)
or Optional (O)
Data Type
& Length
card_type
ics_pa_enroll (R)
String (3)
001: Visa
002: MasterCard
007: JCB
ics_pa_validate
(R)
customer_cc_expmo
customer_cc_expyr
ics_pa_enroll (R)
ics_pa_enroll (R)
ics_pa_enroll (R)
String (5)
ics_pa_validate
(R)
String (2)
ics_pa_validate
(O)
String (4)
ics_pa_validate
(O)
67
Appendix A
Table 63
API Fields
Field Name
Description
Used By:
Required (R)
or Optional (O)
Data Type
& Length
customer_cc_number
ics_pa_enroll (R)
Nonnegative
integer (20)
ics_pa_validate
(O)
grand_total_amount
ics_pa_enroll (O)
String (15)
ics_pa_validate
(O)
ignore_validate_result
String (255)
ics_pa_enroll (R)
ics_pa_validate
(O)
String (5)
ics_pa_enroll (R)
String (30)
ics_pa_validate
(R)
merchant_id
ics_pa_validate
(R)
merchant_ref_number
pa_http_accept
ics_pa_enroll (R)
String (50)
ics_pa_enroll (O)
String (255)
ics_pa_enroll (O)
String (255)
ics_pa_enroll (R)
Integer (4)
ics_pa_validate
(R)
68
Appendix A
Table 63
API Fields
Field Name
Description
Used By:
Required (R)
or Optional (O)
Data Type
& Length
pa_mobile_phone
ics_pa_enroll (R)
Integer (25)
ics_pa_enroll (R)
String (10)
ics_pa_enroll (R)
String (3)
ics_pa_validate
(R)
String (no
limit, may
be very
large)
69
Appendix A
Table 63
API Fields
Field Name
Description
Used By:
Required (R)
or Optional (O)
Data Type
& Length
timeout
ics_pa_enroll (O)
Positive
integer (3)
ics_pa_validate
(O)
Offer-Level Fields
Each offer submitted in a request contains several fields that describe the product that the
customer ordered through your web store. The amount field is required. If multiple
products are ordered in a single purchase, a CyberSource service application request can
contain one or more offers, referred to as offer0 through offerN. If you use more than one
consecutive space, the extra spaces will be removed.
Note
Table 64
Do not use carets (^) and colons (:) in offer fields. These are reserved
characters. Carets separate name-value pairs, and colons separate field
names from values.
Offer-Level Fields
Field Name
Description
Used By:
Required (R)
or Optional (O)
Data Type
& Length
amount
ics_pa_enroll (R)
Decimal
(15)
ics_pa_validate
(R)
ics_pa_enroll (O)
ics_pa_validate
(O)
Nonnegative
integer (10)
70
Appendix A
Table 64
API Fields
Field Name
Description
Used By:
Required (R)
or Optional (O)
Data Type
& Length
tax_amount
ics_pa_enroll (O)
Decimal
(15)
ics_pa_validate
(O)
offer0=amount:10.00^quantity:1^tax_
amount:0.80
offer1=amount:20.00^quantity:1^tax_
amount:1.60
the total amount authorized will be for $32.40, not
$30.00 with $2.40 of tax included.
The tax_amount and the amount must be in the
same currency.
Reply Fields
Table 65
Reply Fields
Field Name
Description
Returned By
Data Type
& Length
client_lib_version
ics_pa_enroll
String (255)
ics_pa_enroll
ics_pa_enroll
currency
ics_rcode
ics_rflag
ics_rmsg
ics_pa_validate
String (255)
ics_pa_validate
Integer (1)
ics_pa_validate
ics_pa_enroll
ics_pa_enroll
String (255)
ics_pa_validate
String (255)
ics_pa_validate
merchant_ref_number
ics_pa_enroll
String (255)
ics_pa_validate
pa_enroll_acs_url
ics_pa_enroll
String (no
length limit)
71
Appendix A
Table 65
API Fields
Field Name
Description
Returned By
Data Type
& Length
pa_enroll_
authentication_path
ics_pa_enroll
String (255)
ics_pa_enroll
String (255)
pa_enroll_e_
commerce_indicator
72
Appendix A
Table 65
API Fields
Field Name
pa_enroll_eci
Description
Returned By
Data Type
& Length
ics_pa_enroll
String (255)
cards.
Numeric electronic commerce indicator (ECI)
returned only for Visa, American Express, and JCB
transactions when the card is not enrolled. For more
information, see "B. Interpreting the Reply," page 25.
If you are not using the CyberSource payment
services, you must send this value to your payment
processor in the subsequent request for card
authorization. This field contains one of these values:
pa_enroll_pareq
ics_pa_enroll
String (No
length limit)
pa_enroll_proofxml
ics_pa_enroll
String (no
length limit)
pa_enroll_proxypan
ics_pa_enroll
String (255)
pa_enroll_rcode
ics_pa_enroll
Integer (1)
pa_enroll_rflag
ics_pa_enroll
String (255)
pa_enroll_rmsg
ics_pa_enroll
String (255)
73
Appendix A
Table 65
API Fields
Field Name
Description
Returned By
Data Type
& Length
pa_enroll_ucaf_
collection_indicator
ics_pa_enroll
String (255)
pa_enroll_veres_
enrolled
ics_pa_enroll
String (255)
pa_enroll_xid
ics_pa_enroll
String (255)
pa_validate_
authentication_result
Raw authentication data that comes from the cardissuing bank. Primary authentication field that
indicates if authentication was successful and if
liability shift occurred. You should examine first the
result of this field. This field contains one of these
values:
ics_pa_validate
String w/
numbers
only (255)
ics_pa_validate
String (255)
0: Successful validation.
pa_validate_
authentication_status_
msg
74
Appendix A
Table 65
API Fields
Field Name
Description
Returned By
Data Type
& Length
pa_validate_cavv
ics_pa_validate
String (255)
pa_validate_cavv_
algorithm
ics_pa_validate
Integer (1)
3: MasterCard
75
Appendix A
Table 65
API Fields
Field Name
Description
Returned By
Data Type
& Length
pa_validate_e_
commerce_indicator
ics_pa_validate
String (255)
76
Appendix A
Table 65
API Fields
Field Name
Description
Returned By
Data Type
& Length
pa_validate_eci
ics_pa_validate
String (255)
ics_pa_validate
String (255)
ics_pa_validate
String (255)
ics_pa_validate
Integer (1)
pa_validate_eci_raw
pa_validate_pares_
status
pa_validate_rcode
77
Appendix A
Table 65
API Fields
Field Name
Description
Returned By
Data Type
& Length
pa_validate_rflag
ics_pa_validate
String (255)
pa_validate_rmsg
ics_pa_validate
String (255)
pa_validate_ucaf_
authentication_data
AAV is a unique identifier generated by the cardissuing bank for MasterCard SecureCode
transactions after the customer is authenticated. The
value is in base64. Include the data in the card
authorization request.
ics_pa_validate
String (255)
pa_validate_ucaf_
collection_indicator
ics_pa_validate
Nonnegative
integer (1)
ics_pa_validate
String (255)
ics_pa_enroll
String (255)
pa_validate_xid
request_id
Barclays
ics_pa_validate
request_token
ics_pa_enroll
ics_pa_validate
String (256)
78
APPENDIX
Reply Flags
Table 66
Reply Flag
Description
Services
DAUTHENTICATE
ics_pa_enroll
DAUTHENTICATIONFAILED
ics_pa_validate
DINVALIDCARD
ics_pa_enroll
DINVALIDDATA
ics_pa_enroll
ics_pa_validate
DMISSINGFIELD
ics_pa_enroll
ics_pa_validate
ESYSTEM
ETIMEOUT
ics_pa_enroll
ics_pa_enroll
ics_pa_validate
ics_pa_validate
SOK
ics_pa_enroll
ics_pa_validate
79
APPENDIX
This appendix contains examples for the check enrollment service and the validate
authentication service for all card types. All examples are in name-value pair format.
Warning
These examples contain only the fields essential to the demonstration. Do not
prepare your implementation according to the fields that you see in these
examples. They are provided for your information only.
Check Enrollment
The following is an example of a request for the check enrollment service:
Example
currency=USD
customer_cc_expmo=12
customer_cc_expyr=2015
customer_cc_number=xxxxxxxxxxxxxxxx
card_type=001
ics_applications=ics_pa_enroll
merchant_id=infodev
merchant_ref_number=23AB6B62FF6DEEEE077F2A8C6
offer0=amount:19.99
80
Appendix C
client_lib_version=Perl3.2/MSWin324.0/NT4.0/WIN32/C/3.4.8
pa_enroll_acs_url=https://www.example.com
pa_enroll_pareq=value in base64: eJxVUuFygjAMfhXPw9Tkv9g6...
pa_enroll_proofxml=see example "ProofXML," page 87.
pa_enroll_proxypan=Cpj25JL53E9sqNKj
pa_enroll_xid=dOaE6u0nNpCBQHzAebKyADw4aQE=
ics_rcode=0
ics_rflag=DAUTHENTICATE
ics_rmsg=The cardholder is enrolled in Payer Authentication. Please
authenticate before proceeding with authorization.
pa_enroll_rcode=0
pa_enroll_rflag=DAUTHENTICATE
pa_enroll_rmsg=The cardholder is enrolled in Payer Authentication.
Please authenticate before proceeding with authorization.
request_id=0340290070000167905080
merchant_ref_number=23AB6B62FF6DEEEE077F2A8C6
currency=USD
Unenrolled card: The rflags and the rmsgs mean that the card is unenrolled and that you
can proceed with the transaction.
Example
client_lib_version=Perl3.2/MSWin324.0/NT4.0/WIN32/C/3.4.8
request_id=023983672038997689279827
ics_rcode=1
ics_rflag=SOK
ics_rmsg=Request was processed successfully.
merchant_ref_number=9319570
pa_enroll_e_commerce_indicator=vbv_attempted
pa_enroll_eci=06
pa_enroll_proofxml=see example "ProofXML," page 87.
pa_enroll_rcode=1
pa_enroll_rflag=SOK
pa_enroll_rmsg=ics_pa_enroll service was successful
81
Appendix C
client_lib_version=Perl3.2/MSWin324.0/NT4.0/WIN32/C/3.4.8
request_id=0340290070000167905080
merchant_ref_number=23AB6B62FF6DEEEE077F2A8C6
pa_enroll_acs_url=https://www.example.com
pa_enroll_pareq=value in base64: eJxVUuFygjAMfhXPw9Tkv9g6...
ics_rcode=0
ics_rflag=DAUTHENTICATE
ics_rmsg=The cardholder is enrolled in Payer Authentication. Please
authenticate before proceeding with authorization.
pa_enroll_rcode=0
pa_enroll_rflag=DAUTHENTICATE
pa_enroll_rmsg=The cardholder is enrolled in Payer Authentication.
Please authenticate before proceeding with authorization.
pa_enroll_proofxml=see example "ProofXML," page 87.
pa_enroll_proxypan=Cpj25JL53E9sqNKj
pa_enroll_xid=dOaE6u0nNpCBQHzAebKyADw4aQE=
Unenrolled card: The rflags and the rmsgs mean that the card is unenrolled and that you
can proceed with the transaction.
82
Appendix C
Example
client_lib_version=Perl5.0/solaris2.6/sol25/C/3.4.8
request_id=0682437000000167904548
merchant_ref_number=cybs_test
ics_rcode=0
ics_rflag=SOK
ics_rmsg=Request was processed successfully.
pa_enroll_e_commerceIndicator=spa
pa_enroll__ucafCollectionIndicator=1
pa_enroll_rcode=0
pa_enroll_rflag=SOK
pa_enroll_rmsg=Request was processed successfully.
pa_enroll_proofxml=see example "ProofXML," page 87.
83
Appendix C
Validate Authentication
This example shows a request for the Validate Authentication service.
customer_cc_expmo=12
customer_cc_expyr=2015
customer_cc_number=xxxxxxxxxxxxxxxx
card_type=001
currency=USD
ics_applications=ics_pa_validate
merchant_id=infodev
merchant_ref_number=23AEE8CB6B62EE2AF077FF6D6
pa_signedpares=value in base64: HTNH2esM9VG0NbwDAEk9BmEG4F8e...
84
Appendix C
85
Appendix C
86
Appendix C
ProofXML
ProofXML usually appears in code as a string. It is provided in the following form to
enhance readability.
<AuthProof>
<Time>2009 Jan 19 11:01:52</Time>
<DSUrl>https:216.150.137.86:443/merchantacsfrontend/VeReq.jsp</
DSUrl>
<VEReqProof>
<Message id="xfm5_3_0.6784">
<VEReq>
<version>1.0.2</version>
<pan>XXXXXXXXXXXX0051</pan>
<Merchant>
<acqBIN>123456</acqBIN>
<merID>123456780000000</merID>
</Merchant>
<Browser>
<accept>null</accept>
<userAgent>null</userAgent>
</Browser>
</VEReq>
</Message>
</VEReqProof>
<VEResProof>
<Message id="xfm5_3_0.6784">
<VERes>
<version>1.0.2</version>
<CH>
<enrolled>N</enrolled>
</CH>
</VERes>
</Message>
</VEResProof>
</AuthProof>
87
APPENDIX
This appendix contains information about modifying your web site to integrate Payer
Authentication services into your checkout process. It also provides links to card
association web sites where you can download the appropriate logos.
Order submission button: disable the final buy button until the customer completes all
payment and authentication requirements.
Browser back button: account for unexpected customer behavior. Use session checks
throughout the authentication process to prevent authenticating transactions twice. Avoid
confusing messages, such as warnings about expired pages.
Make sure you have downloaded the appropriate logos of the cards that you support and
place these logos next to the card information entry fields on your checkout pages. For
more information about obtaining logos and using them, see "3-D Secure Services Logos,"
page 89.
Add a message next to the final buy button and the card logo to inform your customers
that they may be prompted to provide their authentication password or to sign up for the
authentication program specific to their card. For examples of messages you can use, see
"Informational Message Examples," page 90.
88
Appendix D
Verified by Visa
http://usa.visa.com/merchants/risk_management/vbv.html
This web site contains information about Verified by Visa and links where you can
download logos. The page also contains links to a best practice guide for implementing
Verified by Visa and a link to a Merchant Toolkit. See the list of links at the right margin of
the web page to download these files.
MasterCard and
Maestro SecureCode
http://www.mastercard.us/merchants/securecode.html
This web site contains information about SecureCode, links where you can download
logos, and information about integrating the SecureCode information into your web site
checkout page.
For information about Maestro logos, go to: http://www.mastercardbrandcenter.com/us/
howtouse/bms_mae.shtml
American Express
SafeKey
http://enroll.amexsafekey.com/aesklogos
JCB J/Secure
http://partner.jcbcard.com/security/jsecure/logo.html
This web site contains information about SafeKey and links where you can download
logos.
This web site contains information about J/Secure and links where you can download
logos.
89
Appendix D
90
APPENDIX
Payer Authentication
Transaction Details in the
Business Center
This appendix describes how to search the Business Center for details of transactions that
are screened by Payer Authentication. Transaction data is stored for 12 months so that
you can send it to card associations if necessary.
If the card is enrolled, the application result is shown in red, which indicates that you
need to authenticate the user before you can request card authorization.
If the card is not enrolled, the application result is shown in green because you do not
need to authenticate the user. You can authorize the card immediately.
Enrolled Card
When a card is enrolled, the process consists of two steps: after you check for enrollment,
you need to authenticate the customer.
Enrollment Check
The following figure shows the details page of an enrollment check for an enrolled card.
You receive Payer Authentication information in several locations:
Request Information section: The enrollment check service is shown in red because
the card is enrolled. You receive the corresponding reply information (blue boxes). If
91
Appendix E
the card authorization service had been requested at the same time, it would not have
been run and would appear in black.
You can obtain additional information about related orders by clicking the links on the
right (Event Search and Details).
Payment Information section: When authentication is required, save the XID for use
later. You do not receive an ECI because the authentication is not complete, and you
do not receive an AAV_CAVV for an enrollment check.
When you receive a result similar to the following figure, you need to authenticate the user
by requesting the validation service.
Related Events
Details
92
Appendix E
The most recent event is the successful authentication. If you click the request ID, you
see the authentication details page. Because this event also returned an XID value,
the By Payer Authentication History link is present. If you click it, you are returned to
the results page.
If the card authorization service had been requested at the same time as Payer
Authentication, authorization would not have run with the enrollment check but with the
validate authentication request. The following figure shows these events:
The most recent event is the combined successful customer authentication and card
authorization. If you click the request ID, you see the details page.
The older event is the enrollment check in red because the card is enrolled.
93
Appendix E
example
1234567
special_id
1234567
special_id
1234567
special_id
94
Appendix E
95
Appendix E
Authentication Validation
The following figure shows a details page in which the validation and the card
authorization services were processed successfully. The red boxes show where Payer
Authentication data is located in the Transaction Search Details window:
Request Information section: The validation service succeeded. You receive the
reason code 100, and the corresponding reply message. The necessary Payer
Authentication information was passed to the card authorization service, which was
processed successfully. Both services are shown in green.
Payment Information section: You received a value for all three parameters because
the validation was successful. You may not receive an ECI value when a system error
prevents the card issuer from performing the validation or when the cardholder does
not complete the process.
96
Appendix E
example
123456
special_id
123456
special_id
97
Appendix E
98
Appendix E
Transaction Details
The red boxes show where Payer Authentication data is located in the Transaction Search
Details window:
Request Information section: The service is shown in green. You can obtain additional
information about related orders by clicking the link on the right.
Payment Information section: You see the detailed information for the authorization
service:
The AAV/CAVV area is empty because you receive a value only if the customer is
authenticated.
99
Appendix E
Search options:
Use the XID as search parameter to find both parts of a transaction processed
with an enrolled card. When using the XID as search option, make sure to keep
the = sign at the end of the string.
The list of applications is simplified to facilitate searching for the relevant service
requests.
Search Results: The results options include the XID and the customers account
number (PAN). Use the XID to find all parts of the transaction.
Payer Authentication Details: All transaction details are discussed under "Searching
for Payer Authentication Details," page 91.
100
APPENDIX
Payer Authentication
Reports
This chapter describes the reports that you can download from the Business Center. All
reports on the production servers are retained for 16 months although the transaction
history is kept in the database for six months only. All reports on the test servers are
deleted after two weeks. Only transactions that were processed are reported. Those that
resulted in system error or time-out are not. For more information about API replies and
their meanings, see Appendix A, "API Fields," on page 66.
To obtain the reports, you must file a support ticket in the Support Center.
Important
101
Appendix F
Step 2
Select the report and the type that you want to see.
The type of report that you choose (daily, weekly, or monthly) determines the date or time
range that appears below.
Step 3
Select the appropriate date or time range and submit your search request.
If no reports are available, the Business Center displays the message No Reports
Available.
102
Appendix F
Step 4
103
Appendix F
Card Type
MasterCard
and Maestro
Interpretation
Protected? Reported
Commerce Indicator
ECI
Internet
VbV or JS Attempted
Successful authentication
Yes
VbV or JS
No authentication
No
Internet2
71
Incomplete authentication
No
SPA Failure3
Successful authentication
Yes
SPA
No authentication
No
Although the report heading is 7, you receive a collection indicator value of 1, or the reply field is empty.
Although the report heading is Internet, you receive spa_failure in the commerce indicator reply field.
3
Although the report heading is SPA Failure, you receive spa in the commerce indicator reply field.
2
Transactions are divided into two groups: those for which you are protected and those for
which you are not:
For Visa and JCB: liability shift for VbV and VbV attempted
104
Appendix F
The amounts and numbers can be higher in the Payer Authentication report than in the
payment reports. In this example, you would see the results of the first two numbers in the
Payer Authentication report and the last one in the payment reports.
To reconcile your reports more easily when using Payer Authentication, we recommend
that you attempt to authenticate the same amount that you want to authorize.
105
Appendix F
File Name
The file that you download is named according to this format:
<MerchantID>-<RequestID>-<TransactionType>.xml
Example
example_merchant-1884340770000167904548-ics_pa_
enroll.xml
[+ | -]HH:MM is the time zones offset from Greenwich Mean Time (GMT), with HH
representing hours and MM representing minutes. The number is prefixed by either a
plus (+) or minus (-) to indicate whether the offset adds to or subtracts from GMT. For
example, the offset for Pacific Daylight Time (PDT) is -07:00.
Example
106
Appendix F
Report
<Result>
The <Result> element is the root element of the report.
<Result>
(PayerAuthDetail+)
</Result>
Table 67
Element Name
Description
<PayerAuthDetail>
Contains the transaction in the report. For a list of child elements, see
<PayerAuthDetail>.
Example
<Report> Element
<PayerAuthDetail>
The <PayerAuthDetail> element contains information about a single transaction.
<PayerAuthDetail>
(RequestID)
(MerchantID)
(TransactionDate)
(TransactionType)
(ProofXML)?
(VEReq)?
(VERes)?
(PAReq)?
(PARes)?
(AuthInfo)?
</PayerAuthDetail>
107
Appendix F
Table 68
Element Name
Description
Type &
Length
<RequestID>
Numeric (26)
<MerchantID>
String (30)
<TransactionDate>
DateTime
(25)
<TransactionType>
String (20)
<ProofXML>
Data that includes the date and time of the enrollment check and
the VEReq and VERes elements. This field corresponds to the
pa_enroll_proofxml API field.
String (1024)
<VEReq>
<VERes>
<PAReq>
<PARes>
<AuthInfo>
108
Appendix F
Example
<PayerAuthDetail> Element
<PayerAuthDetail>
<RequestID>0004223530000167905139</RequestID>
<MerchantID>example_merchant</MerchantID>
<TransactionDate>2007-07-25T18:23:22-07:00</TransactionDate>
<TransactionType>ics_pa_enroll</TransactionType>
<ProofXML>
...
</ProofXML>
<VEReq>
...
</VEReq>
<VERes>
...
</VERes>
<PAReq>
...
</PAReq>
<PARes>
...
</PARes>
</PayerAuthDetail>
<ProofXML>
The <ProofXML> element contains data that includes the date and time of the enrollment
check and the VEReq and VERes elements. This element corresponds to the pa_enroll_
proofxml API field.
<ProofXML>
(Date)
(DSURL)
(PAN)
(AcqBIN)
(MerID)
(Password)
(Enrolled)
</ProofXML>
Table 69
Element Name
Description
<Date>
DateTime (25)
Note Although the date and time should appear sequentially during
all stages of the processing of an order, they may not because of
differing time zones and synchronization between servers.
<DSURL>
URL for the directory server where the proof XML originated.
String (50)
109
Appendix F
Table 69
Element Name
Description
<PAN>
String (19)
<AcqBIN>
Numeric (6)
<MerID>
String (24)
<Password>
String (8)
<Enrolled>
Result of the enrollment check. This field can contain one of these
values:
String (1)
Y: Authentication available.
Example
<ProofXML> Element
<ProofXML>
<Date>20070725 11:18:51</Date>
<DSURL>https:123.456.789.01:234/DSMsgServlet</DSURL>
<PAN>XXXXXXXXXXXX0771</PAN>
<AcqBIN>123456</AcqBIN>
<MerID>4444444</MerID>
<Password />
<Enrolled>Y</Enrolled>>
</ProofXML>
<VEReq>
The <VEReq> element contains the enrollment check request data.
<VEReq>
(PAN)
(AcqBIN)
(MerID)
</VEReq>
Table 70
Element Name
Description
<PAN>
String (19)
<AcqBIN>
Numeric (6)
<MerID>
String (24)
110
Appendix F
Example
<VEReq> Element
<VEReq>
<PAN>XXXXXXXXXXXX0771</PAN>
<AcqBIN>123456</AcqBIN>
<MerID>example</MerID>
</VEReq>
<VERes>
The <VERes> element contains the enrollment check reply data.
<VERes>
(Enrolled)
(AcctID)
(URL)
</VERes>
Table 71
Element Name
Description
<Enrolled>
Result of the enrollment check. This field can contain one of these
values:
String (1)
Y: Authentication available.
<AcctID>
String (28)
<URL>
URL of Access Control Server where to send the PAReq. This element
corresponds to the pa_enroll_acs_url API field.
String (1000)
Example
<VERes> Element
<VERes>
<Enrolled>Y</Enrolled>
<AcctID>NDAxMjAwMTAxMTAwMDc3MQ==</AcctID>
<URL>https://www.example_url.com</URL>
</VERes>
111
Appendix F
<PAReq>
The <PAReq> element contains the payer authentication request message. This element
corresponds to the pa_enroll_pareq API field.
<PAReq>
(AcqBIN)
(MerID)
(Name)
(Country)
(URL)
(XID)
(Date)
(PurchaseAmount)
(AcctID)
(Expiry)
</PAReq>
Table 72
Element Name
Description
<AcqBIN>
Numeric (6)
<MerID>
String (24)
<Name>
String (25)
<Country>
String (2)
<URL>
String
<XID>
String (28)
<Date>
DateTime (25)
Note Although the date and time should appear sequentially during all
stages of the processing of an order, they may not because of differing
time zones and synchronization between servers.
<Purchase
Amount>
Amount (15)
<AcctID>
String (28)
<Expiry>
Number (4)
112
Appendix F
Example
<PAReq> Element
<PAReq>
<AcqBIN>123456</AcqBIN>
<MerID>444444</MerID>
<Name>example</Name>
<Country>US</Country>
<URL>http://www.example.com</URL>
<XID>fr2VCDrbEdyC37MOPfIzMwAHBwE=</XID>
<Date>2007-07-25T18:18:51-07:00</Date>
<PurchaseAmount>1.00 USD</PurchaseAmount>
<AcctID>NDAxMjAwMTAxMTAwMDc3MQ==</AcctID>
<Expiry>0811</Expiry>
</PAReq>
<PARes>
The <PARes> element contains the payer authentication reply message.
<PARes>
(AcqBIN)
(MerID)
(XID)
(Date)
(PurchaseAmount)
(PAN)
(AuthDate)
(Status)
(CAVV)
(ECI)
</PARes>
Table 73
Element Name
Description
<AcqBIN>
Numeric (6)
<MerID>
String (24)
<XID>
String (28)
<Date>
DateTime (25)
113
Appendix F
Table 73
Element Name
Description
<PurchaseAmount>
Amount (15)
<PAN>
String (19)
<AuthDate>
DateTime (25)
String (1)
<CAVV>
String (50)
<ECI>
Numeric (1)
114
Appendix F
Example
<Card> Element
<PARes>
<AcqBIN>123456</AcqBIN>
<MerID>4444444</MerID>
<XID>Xe5DcjrqEdyC37MOPfIzMwAHBwE=</XID>
<Date>2007-07-25T20:05:18-07:00</Date>
<PurchaseAmount>1002.00 USD</PurchaseAmount>
<PAN>0000000000000771</PAN>
<AuthDate>2007-07-25T20:05:18-07:00</AuthDate>
<Status>Y</Status>
<CAVV>AAAAAAAAAAAAAAAAAAAAAAAAAAA=</CAVV>
<ECI>5</ECI>
</PARes>
<AuthInfo>
The <AuthInfo> element contains address and card verification information.
<AuthInfo>
(AVSResult)
(CVVResult)
</AuthInfo>
Table 74
Element Name
Description
<AVSResult>
String (1)
<CVVResult>
String (1)
Example
<AuthInfo> Element
<AuthInfo>
<AVSResult>Y</AVSResult>
<CVVResult/>
</AuthInfo>
115
Appendix F
Examples
These examples show a complete transaction: the failed enrollment check (enrolled card)
and the subsequent successful authentication.
116
Appendix F
Successful Authentication
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Result SYSTEM "https://ebc.cybersource.com/ebc/reports/dtd/
payerauthdetails.dtd">
<Result>
<PayerAuthDetail>
<RequestID>1895549900000167904548</RequestID>
<MerchantID>ics2test</MerchantID>
<TransactionDate>Sep 11 2007 04:56:31 PM</TransactionDate>
<TransactionType>ics_pa_validate</TransactionType>
<PARes>
<AcqBIN>469216</AcqBIN>
<MerID>6678516</MerID>
<XID>2YNaNGDBEdydJ6WI6aFJWAAHBwE=</XID>
<Date>Sep 11 2007 04:51:00 PM</Date>
<PurchaseAmount>1.00 USD</PurchaseAmount>
<PAN>0000000000000771</PAN>
<AuthDate>Sep 11 2007 04:51:00 PM</AuthDate>
<Status>Y</Status>
<CAVV>AAAAAAAAAAAAAAAAAAAAAAAAAAA=</CAVV>
<ECI>5</ECI>
</PARes>
</PayerAuthDetail>
</Result>
117
APPENDIX
Rules-Based Payer
Authentication
Rules-based Payer Authentication enables you to specify rules that define how
transactions are authenticated by a 3-D Secure card authentication program. For
example, you can decide to turn off active authentication for transactions that would
otherwise require customer interaction to avoid degrading the customer experience.
However, you may decide to authenticate customers from card-issuing banks that use
risk-based authentication because the authentication is performed without customer
interaction.
To enable your account for rules-based Payer Authentication, contact your CyberSource
sales representative.
Available Rules
By default, when Payer Authentication is enabled on your account, authentication is
attempted on all transactions.
If you enable the rules-based Payer Authentication service on your account, you can
bypass authentication for one or more of the following transaction types:
Table 75
Transaction Type
Description
Non-Participating Banks
Passive Authentication
Risk-Based Banks
Active Authentication
118
Appendix G
Table 75
Transaction Type
Description
API Replies
Note
By default, API replies that are specifically associated with rules-based Payer
Authentication are turned off. Contact CyberSource Customer Support to
enable these API replies when rules are triggered.
pa_enroll_authentication_path
= RIBA
The card-issuing bank supports risk-based authentication, but whether the
cardholder is likely to be challenged cannot be determined.
= RIBA_PASS
The card-issuing bank supports risk-based authentication, and it is likely that the
cardholder will not be challenged to provide credentials, also known as silent
authentication.
119
GLOSSARY
Glossary
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
Numerics
3-D Secure
Security protocol for online credit card and debit card transactions used by
Verified by Visa, MasterCard SecureCode, American Express SafeKey, and JCB
J/Secure.
A
AAV
acquirer
The financial institution that accepts payments for products or services on behalf
of a merchant. Also referred to as acquiring bank. This bank accepts or acquires
transactions that involve a credit card issued by a bank other than itself.
acquirer BIN
A 6-digit number that uniquely identifies the acquiring bank. There is a different
acquirer BIN for MasterCard (starts with 5) and Visa (starts with 4) for every
participating acquirer.
acquiring
processor
ACS
Access Control Server. The card-issuing banks host for the payer authentication
data.
ACS URL
The URL of the Access Control Server of the card-issuing bank that is returned in
the reply to the request to check enrollment. This is where you must send the
"PAReq" so that the customer can be authenticated.
120
Glossary
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
A (Continued)
ADS
Activation During Shopping. The card issuers ability to ask the cardholder to
enroll in the card authentication service when the merchant posts to the "ACS
URL."
American Express
A globally issued card type that starts with 3 and which is identified as card type
003 by CyberSource. These cards participate in a card authentication service
("SafeKey") provided by "3-D Secure."
API
authentication
result
Raw data sent by the card issuer that indicates the status of authentication. It is
not required to pass this data into the authorization.
authorization
A request sent to the card issuing bank that ensures a cardholder has the funds
available on their credit card for a specific purchase. A positive authorization
causes an authorization code to be generated and the funds to be held. Following
a payer authentication request, the authorization must contain payer
authentication-specific fields containing card enrollment details. If these fields are
not passed correctly to the bank, it can invalidate the liability shift provided by card
authentication. Systemic failure can result in card association fines.
B
base64
BIN
Bank Identification Number. The 6-digit number at the beginning of the card that
identifies the card issuer.
C
CAVV
CAVV algorithm
121
Glossary
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
C (Continued)
CVV
Card Verification Value. Security feature for credit cards and debit cards. This
feature consists of two values or codes: one that is encoded in the magnetic strip
and one that is printed on the card. Usually the CVV is a 3-digit number on the
back of the card. The CVV for American Express cards is a 4-digit number on the
front of the card. CVVs are used as an extra level of validation by issuing banks.
D
Diners Club
Directory Servers
The Visa and MasterCard servers that are used to verify enrollment in a card
authentication service.
Discover
Primarily, a U.S. card type that starts with a 6. CyberSource identifies Discover
cards with a card type of 004. These cards do not participate in a card
authentication service provided by 3-D Secure.
E
ECI (ECI Raw)
The numeric commerce indicator that indicates to the bank the degree of liability
shift achieved during payer authentication processing.
E-Commerce
Indicator
Alpha character value that indicates the transaction type, such as MOTO or
INTERNET.
Enroll
CyberSource transaction type used for verifying whether a card is enrolled in the
"SecureCode" or "Verified by Visa" service.
H
HTTP
Hypertext Transfer Protocol. An application protocol used for data transfer on the
Internet.
HTTP POST
request
POST is one of the request methods supported by the HTTP protocol. The POST
request method is used when the client needs to send data to the server as part of
the request, such as when uploading a file or submitting a completed form.
122
Glossary
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
H (Continued)
HTTPS
I
issuer
J
J/Secure
JCB
Japan Credit Bureau. A globally issued card type that starts with a 3. CyberSource
identifies JCB cards with a card type of 007. These cards participate in a card
authentication service ("J/Secure") provided by "3-D Secure."
Joint e-Commerce
Framework Testing
Formerly known as PIT testing. This is a set of payment integration tests that
simulate realistic scenarios that would have an impact on your business in a
production environment. Each test is designed to ensure that your implementation
of Payer Authentication services processes the data correctly. CyberSource
provides you with a test plan that includes descriptions of expected results. You
must schedule time with your CyberSource contact to review your test results.
These tests may also be called JEF tests.
M
Maestro
A card brand owned by MasterCard that includes several debit card "BIN"s within
the U.K., where it was formerly known as Switch, and in Europe. Merchants who
accept Maestro cards online are required to use SecureCode, MasterCards card
authentication service. CyberSource identifies Maestro cards with the 024 and
042 card types.
Note that many international Maestro cards are not set up for online acceptance
and cannot be used even if they participate in a SecureCode card authentication
program.
MasterCard
A globally issued card that includes credit and debit cards. These cards start with
a 5. CyberSource identifies these cards as card type 002 for both credit and debit
cards. These cards participate in a card authentication service ("SecureCode")
provided by "3-D Secure."
123
Glossary
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
M (Continued)
MD
Merchant-defined Data that is posted as a hidden field to the "ACS URL." You can
use this data to identify the transaction on its return. This data is used to match
the response from the card-issuing bank to a customers specific order. Although
card associations recommend that you use the "XID," you can also use data such
as an order number. This field is required, but including a value is optional. The
value has no meaning for the bank, and is returned to the merchant as is.
Merchant ID
Data that must be uploaded for the MasterCard and Visa card authentication
process for each participating merchant. The Merchant ID is usually the bank
account number or it contains the bank account number. The data is stored on the
"Directory Servers" to identify the merchant during the enrollment check.
MPI
P
PAN
PAReq
PARes
PARes Status
processor
ProofXML
CyberSource field that contains the "VEReq" and "VERes" for merchant storage.
Merchants can use this data for future chargeback repudiation.
PIT testing
124
Glossary
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
R
request ID
risk-based
authentication
S
SafeKey
SCMP API
CyberSources legacy name-value pair API that has been superceded by the
"Simple Order API."
SecureCode
Solo
A debit card type that was owned by Maestro. It was permanently discontinued
March 31, 2011.
Switch
See "Maestro."
T
TermURL
Termination URL on a merchants web site where the card-issuing bank posts the
payer authentication response (PARes) message.
U
UCAF
125
Glossary
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
U (Continued)
UCAF collection
indicator
V
validate
VEReq
Verify Enrollment Request. Request sent to the "Directory Servers" to verify that a
card is enrolled in a card authentication service.
VERes
VERes enrolled
Verified by Visa
Visa
A globally issued card that includes credit and debit cards. These cards start with
a 4. CyberSource identifies these cards as card type 001 for both credit and debit
cards. These cards participate in a card authentication service ("Verified by Visa")
provided by "3-D Secure."
X
XID
String used by both Visa and MasterCard which identifies a specific transaction on
the "Directory Servers." This string value should remain consistent throughout a
transactions history.
126
INDEX
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
CAVV 75
Numerics
chargeback protection
subscription payments 23
A
AAV 33, 78
AIBMS
commerce indicator, validation 76
American Express
formal payer authentication implementation
testing 14
SafeKey 11
application results in Business Center 91
Asia, Middle East, and Africa Gateway 74, 77
enrolled card
password 12
enrollment data storage 100
example code
payerAuthEnrollService 80
payerAuthValidateService 84
FDC Germany
commerce indicator, validation 76
Barclays
commerce indicator, validation 76
C
card authorization with payer authentication 23
issuing bank
authentication form 16
CAVV 75
enrollment check 16
J
J/Secure 11
J/Secure, validation results 60
127
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
JCB
formal payer authentication implementation
testing 14
J/Secure 11
tests 60
JEF tests 14
Maestro
(U.K. domestic) tests 43
formal payer authentication implementation
testing 14
tests 49
Maestro cards
SecureCode 11
MasterCard
formal payer authentication implementation
testing 14
SecureCode 11
reports
detail 106
detail, XML format 107
downloading summary report 102
retention time limit 101
summary 101
risk-based authentication 118
SafeKey 11
MasterCard SecureCode
validation results 43
SecureCode 11
MasterCard tests 43
P
PAReq 16
PAReq and PARes storage 100
PARes 125
password
for enrolled card 12
testing 31
tests
JCB J/Secure 60
Maestro cards 49
MasterCard cards 43
Visa cards 36
transaction details
enrollment check information 91
128
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
U
UCAF data 33
unenrolled card, payer authentication details 97
V
validate authentication service 11, 17
vbv_attempted 36
Verified by Visa
Brazilian transaction requirements 68, 69
validation results 36
Visa
formal payer authentication implementation
testing 14
Verified by Visa 11
Visa card tests 36
Visa Directory Server 15
Visa Vale Alimentacao (VSAVA) 69
Visa Vale Refeicao (VSAVR) 69
Visa, 16- and 19-digit cards 36
X
XID 74
XID, validate 78
XML report sample 116
129