0% found this document useful (0 votes)
6 views

Visa Checkout SO API

The document is a developer guide for integrating Visa Click to Pay using the Cybersource Simple Order API, outlining requirements, supported countries, and the integration process. It includes details on API fields, payer authentication methods, and testing procedures. The guide emphasizes compliance with Cybersource's licensing agreement and provides resources for customer support and related documentation.

Uploaded by

ouenzemail
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Visa Checkout SO API

The document is a developer guide for integrating Visa Click to Pay using the Cybersource Simple Order API, outlining requirements, supported countries, and the integration process. It includes details on API fields, payer authentication methods, and testing procedures. The guide emphasizes compliance with Cybersource's licensing agreement and provides resources for customer support and related documentation.

Uploaded by

ouenzemail
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

Visa Click to Pay

Simple Order API

Developer Guide
© 2022. 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

Authorize.Net, eCheck.Net, and The Power of Payment are registered trademarks of Cybersource Corporation.
Cybersource, Cybersource Payment Manager, Cybersource Risk Manager, Cybersource Decision Manager, and
Cybersource Connect are trademarks and/or service marks of Cybersource Corporation. Visa, Visa International,
Cybersource, the Visa logo, the Cybersource logo, and 3-D Secure are the registered trademarks of Visa International in
the United States and other countries. All other trademarks, service marks, registered marks, or registered service marks
are the property of their respective owners.

Version: 22.02

Visa Click to Pay | 2


Contents
Recent Revisions to This Document................................................................................................................ 4
About This Guide.................................................................................................................................................... 5
Audience and Purpose..................................................................................................................................................... 5
Text and Command Conventions.................................................................................................................................5
Related Documentation................................................................................................................................................... 5
Cybersource Documents........................................................................................................................................ 5
Visa Click to Pay Documents............................................................................................................................... 6
Customer Support.............................................................................................................................................................. 6
Integrating Visa Click to Pay into Your System............................................................................................ 7
Requirements........................................................................................................................................................................7
Supported Countries......................................................................................................................................................... 7
Visa Click to Pay Process................................................................................................................................................ 7
Getting Visa Click to Pay Data...................................................................................................................................... 8
Create a Visa Click to Pay Data Request.........................................................................................................9
Using 3D Secure with Visa Click to Pay....................................................................................................................9
Visa Secure..........................................................................................................................................................................10
Testing 3D Secure 2.x with Visa Click to Pay...................................................................................................... 10
Using Decision Manager with Visa Click to Pay................................................................................................. 11
API Fields................................................................................................................................................................ 12
Formatting Restrictions................................................................................................................................................ 12
Data Type Definitions.................................................................................................................................................... 12
Simple Order API Fields............................................................................................................................................... 13
Request Fields..........................................................................................................................................................13
Response Fields...................................................................................................................................................... 15
Simple Order API Examples............................................................................................................................. 27
Name-Value Pair Examples..........................................................................................................................................27
XML Examples................................................................................................................................................................... 28
Reason Codes......................................................................................................................................................... 31
Supported Countries, Regions, and Payment Currencies.......................................................................32

Visa Click to Pay | Contents | 3


Recent Revisions to This Document

22.02
Added a link to the test card numbers to Testing 3D Secure 2.x with Visa Click to Pay
(on page 10).

22.01
Added examples for Authorization, Capture, Credit, and Authorization Reversal.

21.02
Updated Using 3D Secure with Visa Click to Pay (on page 9).

Added Testing 3D Secure 2.x with Visa Click to Pay (on page 10).

21.01
Changed the name of Visa Checkout to Visa Click to Pay.

Updated Supported Countries, Regions, and Payment Currencies (on page 32).

19.04
Updated the enrollment URL. See Visa Click to Pay Documents (on page 6).

Updated countries, regions, and currencies. See Supported Countries, Regions, and
Payment Currencies (on page 32).

19.03

Updated the XML request example. See Visa Click to Pay Data Request (on page 28).

Added the vcReply_newUser response field. See vcReply_newUser (on page 23).

Visa Click to Pay | Recent Revisions to This Document | 4


About This Guide

Audience and Purpose


This guide is written for application developers who want to use the Cybersource Simple Order API
to integrate Visa Click to Pay into their order management system.

Implementing Cybersource services requires software development skills. You must write code that
uses the API request and response fields to integrate the Cybersource services into your existing
order management system.

Text and Command Conventions


Convention Usage
bold Field and service names in text; for example:

Include the getVisaCheckoutDataService_run field.


screen text • XML elements

• Code examples

• Values for API fields; for example:

Set the ccAuthService_run field to true.

Related Documentation

Cybersource Documents
• Getting Started with Cybersource Advanced for the Simple Order API (PDF | HTML)

• Credit Card Services Using the Simple Order API (PDF | HTML)

• Payer Authentication Using the Simple Order API (PDF | HTML)

Visa Click to Pay | About This Guide | 5


Refer to the Support Center for complete Cybersource technical documentation:

http://www.cybersource.com/support_center/support_documentation

Visa Click to Pay Documents


• Getting Started with Visa Click to Pay (published by Visa)

• Visa Click to Pay JavaScript Integration Guide

To obtain these documents, contact your local Cybersource sales representative:

http://www.cybersource.com/locations

You can also obtain these documents by signing up for a Visa Click to Pay developer account:

https://developer.visa.com/#enroll

Customer Support
For support information about any Cybersource service, visit the Support Center:

http://www.cybersource.com/support

Visa Click to Pay | About This Guide | 6


Integrating Visa Click to Pay into Your System
Visa Click to Pay is Visa’s solution for e-commerce payments based upon the EMV® Secure Remote
Commerce (EMV SRC) standards and specifications. With EMV SRC, a single payment profile can
be used with a variety of consumer devices and participating online merchants. The standards
include a common payment icon and user experience for card-based digital transactions, support
for cardholder verification methods, and a common data payload built on primary account numbers
(PANs) and the ability to support network tokens.

Requirements
• You must have a Visa Click to Pay merchant account. If you do not already have a Visa Click
to Pay merchant account, contact your local Cybersource sales representative: http://
www.cybersource.com/locations

• You must have a Cybersource account. If you do not already have a Cybersource account,
contact your local Cybersource sales representative.

• You must contact Cybersource Customer Support to have your account configured for Visa Click
to Pay.

• When you use the Simple Order API in XML format, you must use version 1.105 or later of the
XML schema.

• You must be familiar with the Cybersource credit card services as described in Credit Card
Services Using the Simple Order API. .

• If you are including payer authentication in your Visa Click to Pay implementation, you
must be familiar with the Cybersource payer authentication services as described in Payer
Authentication Using the Simple Order API. .

Supported Countries
For a list of the countries and associated currencies from which you can accept Visa Click to Pay
payments, refer to Supported Countries, Regions, and Payment Currencies (on page 32).

Visa Click to Pay Process


Visa Click to Pay uses Visa Checkout services and API fields.

Visa Click to Pay | Integrating Visa Click to Pay into Your System | 7
1. You send data to Visa Click to Pay to display the Visa Click to Pay button on your checkout page.
For details about this step, contact your Cybersource sales representative and consult Getting
Started with Visa Click to Pay (published by Visa). To obtain this document, see Visa Click to
Pay Documents (on page 6).

2. You retrieve the Visa Click to Pay payment data so that you can display it to your customer.
However, you cannot retrieve the PAN unless your account is configured for it. See Getting Visa
Click to Pay Data (on page 8). The primary account number (PAN) is not required in order
to process a Visa Click to Pay transaction.

3. Include the following required fields:

◦ ccAuthService_run

◦ merchantID

◦ merchantReferenceCode

◦ paymentSolution

◦ purchaseTotals_currency

◦ purchaseTotals_grandTotalAmount or at least one item_#_unitPrice field

◦ vc_orderID

For descriptions of these fields, see Credit Card Services Using the Simple Order API.

4. Cybersource obtains payment data from Visa Click to Pay and includes it in the authorization
request that is sent to the processor.

5. For follow-on transactions such as full authorization reversal, capture, and credit, you must
include the following fields in your request in addition to the required fields documented in
Credit Card Services Using the Simple Order API.

◦ paymentSolution

◦ vc_orderID

Getting Visa Click to Pay Data


Visa Click to Pay uses Visa Checkout services and API fields.

The Visa Checkout data service enables you to receive the decrypted Visa Click to Pay data in the
response message. However, you cannot retrieve the PAN unless your account is configured for it. You
can use the retrieved data to help the customer confirm the purchase.

See Simple Order API Fields (on page 13) for:

Visa Click to Pay | Integrating Visa Click to Pay into Your System | 8
• Descriptions of these required request fields

• Descriptions of all response fields

Create a Visa Click to Pay Data Request


1. Set the getVisaCheckoutDataService_run field to true.

2. Do not include any other Cybersource services in the request.

3. Include the following required fields in the request:

◦ getVisaCheckoutDataService_run

◦ merchantID

◦ merchantReferenceCode

◦ paymentSolution

◦ vc_orderID

Using 3D Secure with Visa Click to Pay


Payer authentication is the Cybersource implementation of 3D Secure.

For Visa Click to Pay, Cybersource supports the following kinds of payer authentication:

• American Express SafeKey

• Mastercard Identity Check

• Visa Secure

To integrate payer authentication see:

• Credit Card Services Using the Simple Order API

• Payer Authentication Using the Simple Order API

When you implement 3D Secure 2.x with Visa Click to Pay, you must integrate the Cardinal Cruise
Direct API version of Payer Authentication as described in the Payer Authentication Using the Simple
Order API and include the following fields:

Visa Click to Pay | Integrating Visa Click to Pay into Your System | 9
• paymentSolution –set to visacheckout

• vc_orderID –set to callID field in the visacheckout reply payload

Contact customer support to configure your account to support this integration to ensure the correct
StepUpURL fields are returned by payer authentication. If you have previously on-boarded with 3D
Secure 1 or 3D Secure 2.x Hybrid or Standard Payer Authentication methods you will still need to
contact customer support.

Important: With Visa Click to Pay, you must include the payer authentication enrollment
service payerAuthEnrollService and the credit card authorization service ccAuthService
in the same request message in order to decrypt the primary account number (PAN)
and complete the rest of the payer authentication flow. When you submit a separate
request message for each service, the payer authentication enrollment service
payerAuthEnrollService request fails.

Visa Secure
For Visa Click to Pay transactions, do not map the Visa Secure data from the decrypt Visa Click to Pay
data service response message to the payer authentication fields in the authorization request. The
data is mapped for you. The transaction information that is sent to the processor includes the Visa
Secure data.

Testing 3D Secure 2.x with Visa Click to Pay

Get test card numbers from the Payer Authentication developer guide in the Testing Payer
Authentication section. See the Test Cases for 3-D Secure 2.x section in the Payer Authentication
developer guide here.

Important: Only the Visa test card numbers listed for the 3-D Secure 2.x test cases in the
Payer Authentication developer guide are configured for Visa Click to Pay. Other test card
types will not work.

Use the Visa card number specified in the test with the card’s expiration date set to the month
of January and the current year plus three. For example, for 2022, use 2025. You also need the
minimum required fields for an order. Be sure to remove spaces in card numbers when testing.

The XID values are included in 3D Secure 2.x test cases for legacy reasons.

Visa Click to Pay | Integrating Visa Click to Pay into Your System | 10
While the 3D Secure version and directory server transaction ID fields are returned for the Check
Enrollment and Validate Authentication services, this data is not included in the 3D Secure 2.x test
cases.

Using Decision Manager with Visa Click to Pay


While the Visa Click to Pay response contains many of the fields necessary to run Decision Manager it
does not include these essential Decision Manager fields:

• Device fingerprint

• True IP address

You must capture these fields independently.

Visa Click to Pay | Integrating Visa Click to Pay into Your System | 11
API Fields

Formatting Restrictions

Do not use the following characters: < > $ % ^ * _ = [ ] \ { } | ; ~ ` Using these characters may result in
data validation errors.

Data Type Definitions

For more information about these data types, see the World Wide Web Consortium (W3C) XML
Schema Part 2: Datatypes Second Edition.

Data Type Description


Date and time Format is yyyy-MM-DDThh:mm:ssZ

where:

• T separates the date and the time.

• Z indicates Coordinated Universal Time (UTC), also known as


Greenwich Mean Time (GMT).

Example: 2021-01-11T22:47:57Z is January 11, 2021, at 22:47:57


(10:47:57 p.m.).
Integer Whole number {..., -3, -2, -1, 0, 1, 2, 3, ...}
String Sequence of letters, numbers, spaces, and special characters

Visa Click to Pay | API Fields | 12


Simple Order API Fields

Request Fields

Request Fields
Field Description Used By: Data Type
Required (R) & Length
or Optional (O)
getVisaCheckoutDa Whether to include getVisaCheckout String (5)
taService_run getVisaCheckoutDataService in DataService (R)
your request. Possible values:

• true: Include the service in


your request.

• false (default): Do not include


the service in your request.
merchantID Your Cybersource merchant ID. Use getVisaCheckout String (30)
the same merchant ID for evaluation, DataService (R)
testing, and production.
merchantReferenc Order reference number or getVisaCheckout String (50)
eCode tracking number generated by DataService (R)
you. Cybersource recommends
that you send a unique value for
each transaction so that you can
perform meaningful searches for the
transaction. For information about
tracking orders, see Getting Started
with Cybersource Advanced for the
Simple Order API.
paymentSolution Type of payment solution that is getVisaCheckout String (12)
being used for the transaction. DataService (R)
The value for Visa Click to Pay is
visacheckout.

vc_orderID Identifier for the Visa Click to Pay getVisaCheckout String (48)
order. Visa Click to Pay provides DataService (R)
a unique order ID for every
transaction in the Visa Click to Pay
callID field.

Visa Click to Pay | API Fields | 13


Request Fields (continued)
Field Description Used By: Data Type
Required (R) & Length
or Optional (O)
wallet_discountAm Total discount amount. The discount ics_auth (O) String (14)
ount amount must be a positive value.
Includes a decimal point and a
maximum of four decimal places.
wallet_eventType Type of transaction event. Possible ics_auth (O) String (15)
values:

• Create: Card-on-file saved


(outside of a purchase flow).

• Confirm: Order placed.

• Confirm_COF: Order placed


using a card-on-file.

• Cancel: Order canceled.

• Fraud: Order rejected by risk or


fraud review.

• Other: None of the events


above, or a payment event
after a Confirm or Confirm_COF
order event.

The default value is Confirm.


wallet_giftWrapAm Gift-wrapping total that is sent after ics_auth (O) String (14)
ount a successful authorization. Includes
a decimal point and a maximum of
four decimal places.
wallet_promotionC Promotion code that is sent after a ics_auth (O) String
ode successful authorization. (100)

The valid characters for the wallet


promotion code are:

• Numbers

• Letters

• The following special


characters:

Visa Click to Pay | API Fields | 14


Request Fields (continued)
Field Description Used By: Data Type
Required (R) & Length
or Optional (O)
asterisk (*), at (@), dash (-),
dollar sign ($), exclamation
point (!), hash (#), parentheses
( ( ) ), percent (%), plus (+),
underscore (_), comma (,), and
space.

Use a period to separate


multiple promotion codes.

wallet_subtotalAm Subtotal amount that contains ics_auth (O) String (10)


ount purchase details. Cybersource does
not validate this field. Includes a
decimal point and a maximum of two
decimal places.
wallet_totalPurcha Total purchase amount. By default, ics_auth (O) String (10)
seAmount Cybersource uses the grand total
amount of the authorization.
Includes a decimal point and a
maximum of two decimal places.

Response Fields
Visa Click to Pay returns all decrypted data to you, except the PAN, unless your account is configured
to receive it. The purpose of the fields in the Visa Click to Pay encrypted payment data is to pass
information from Visa Click to Pay to the processor. Consequently, many decrypted fields and values
might not be useful to you.

Response Fields
Field Description Data Type
& Length
billTo_city Decrypted city in the billing address. String
(100)
billTo_county Name of the municipality. This value is common String (80)
for addresses in Mexico.
billTo_country Decrypted country in the billing address. For the String (2)
possible values, see ISO Standard Country Codes.

Visa Click to Pay | API Fields | 15


Response Fields (continued)
Field Description Data Type
& Length
billTo_defaultIndicator Shipping address is flagged as the default shipping String (5)
address by the customer. Possible values:

• true: This billing address is the customer’s


default address.

• false: This billing address is not the


customer’s default billing address.
billTo_name Decrypted customer name. String
(256)
billTo_phoneNumber Decrypted customer phone number. String (30)
billTo_pointOfReference Decrypted location information. In some countries, String
such as Mexico and India, it is common to ask for (140)
a point of reference or landmark for the billing or
shipping address. For example, “Across the street
from the grocery store.”
billTo_postalCode Decrypted postal code in the billing address. String
(100)
billTo_state Decrypted state or province in the billing address. String (3)
For possible values, see State, Province, and
Territory Codes for the United States and Canada.
billTo_street1 Decrypted first line of the street address in the String
billing address as it appears on the credit card (100)
issuer’s records.
billTo_street2 Decrypted additional address information in the String
billing address. (100)
billTo_street3 Decrypted additional address information in the String
billing address. (100)
billTo_street4 Decrypted additional address information in the String
billing address. (100)
card_accountNumber Decrypted customer’s credit card number. String (20)
Returned only when your account is configured to
receive it.

For more information about receiving the PAN,


see Getting Started with Visa Click to Pay (PDF |
HTML)Getting Started with Visa Secure Remote
Commerce (PDF | HTML).

Visa Click to Pay | API Fields | 16


Response Fields (continued)
Field Description Data Type
& Length
card_expirationMonth Decrypted two-digit month in which the credit String
card expires. with
Format: MM. numbers
Possible values: 01 through 12. only (2)
card_expirationYear Decrypted four-digit year in which the credit card String
expires. with
Format: YYYY. numbers
only (4)
card_prefix Decrypted credit card prefix. This value is the first String
six digits of the cardholder’s account number. with
numbers
only (6)
card_suffix Decrypted credit card suffix. This value is the last String
four digits of the cardholder’s account number. You with
can use this value on the receipt that you give to numbers
the cardholder. only (4)
decision Summarizes the result of the overall request. String (6)
Possible values:

• ACCEPT

• ERROR

• REJECT

For details about these values, see the


information about handling replies in Getting
Started with Cybersource Advanced for the
Simple Order API.
getVisaCheckoutDataRepl Numeric value corresponding to the result of the Integer (5)
y_reasonCode Visa Click to Pay decryption request. See Reason
Codes (on page 31).
invalidField_0 through Fields in the request that have invalid data. For String
invalidField_N information about missing or invalid fields, see (100)
Getting Started with Cybersource Advanced for the
Simple Order API.

Note: These fields are included as an aid to


software developers only. Do not use these
fields to interact with your customers.

Visa Click to Pay | API Fields | 17


Response Fields (continued)
Field Description Data Type
& Length
merchantReferenceCode Order reference number or tracking number String (50)
that you provided in the request. If you included
multibyte characters in this field in the request, the
returned value might include corrupted characters.
missingField_0 through Required fields that were missing from the String
missingField_N request. For information about missing or invalid (100)
fields, see Getting Started with Cybersource
Advanced for the Simple Order API.

Note: These fields are included as an aid to


software developers only. Do not use these
fields to interact with your customers.

personalID_number Personal ID number. Only returned if your account String (18)


is configured to receive personally identifiable
information (PII) such as a primary account
number (PAN).
purchaseTotals_currency Decrypted currency used for the order. For the String (3)
possible values, see ISO Standard Currency Codes.
reasonCode Numeric value corresponding to the result of the Integer (5)
overall request. See Reason Codes (on page 31).
requestID Identifier for the request. This value is provided by String (26)
Cybersource.
shipTo_addressVerificatio Decrypted verification status for the shipping String (12)
nStatus address. The verification status is determined by
Visa Click to Pay. Possible values:

• FAILED

• NOT_VERIFIED

• VERIFIED
shipTo_city Decrypted city of the shipping address. String
(100)
shipTo_country Decrypted country of the shipping address. For the String (2)
possible values, see ISO Standard Country Codes.
shipTo_default Status of the default shipping address. Determines String (5)
whether it is flagged as the default shipping
address by the customer. Possible values:

Visa Click to Pay | API Fields | 18


Response Fields (continued)
Field Description Data Type
& Length
• true: This shipping address is the customer’s
default shipping address.

• false: This shipping address is not the


customer’s default shipping address.
shipTo_id Decrypted identifier for the shipping address. This String (36)
value is generated by Visa Click to Pay.
shipTo_name Decrypted name of the recipient. String
(256)
shipTo_phoneNumber Decrypted phone number for the shipping address. String (30)
shipTo_pointOfReference In some countries, such as Mexico and India, String
it is common to ask for a point of reference or (140)
landmark for the billing or shipping address. For
example, “Across the street from the grocery
store.”
shipTo_postalCode Decrypted postal code of the shipping address. String
Consists of 5 to 9 digits. (100)
shipTo_state Decrypted state or province of the shipping String (3)
address. For possible values, see State, Province,
and Territory Codes for the United States and
Canada.
shipTo_street1 Decrypted first line of the shipping address. String
(100)
shipTo_street2 Decrypted second line of the shipping address. String
(100)
shipTo_street3 Decrypted third line of the shipping address. String
(100)
shipTo_street4 Decrypted fourth line of the shipping address. String
(100)
vcReply_ageOfAccount Number of days since the Visa Click to Pay account Numeric
was created. (9)
vcReply_alternateShippin Decrypted country code for the alternate shipping String (2)
gAddressCountryCode address.
vcReply_alternateShippin Decrypted postal code for the alternate shipping String (10)
gAddressPostalCode address.
vcReply_avsCodeRaw Decrypted raw (unmapped) AVS code provided by String (10)
Visa Click to Pay.

Visa Click to Pay | API Fields | 19


Response Fields (continued)
Field Description Data Type
& Length
vcReply_billingAddressAd Extracts and provides the additional location String
ditionalLocation from the first line of the billing address. In some (100)
countries, such as Mexico and India, Visa Click to
Pay obtains street information as a separate line
item from the customer.
vcReply_billingAddressStr Extracts and provides the street name from the String
eetName first line of the billing address. In countries such (116)
as Mexico and India, Visa Click to Pay obtains
street information as a separate line item from the
customer.
vcReply_cardArt_#_fileN Decrypted URL, including file name, for the card String
ame art. Visa Click to Pay provides the card art values. (100)
Any number of vcReply_cardArt_#_fileName
fields that can be included in the encrypted
payment data.
vcReply_cardArt_#_height Decrypted height for the card art in pixels. Positive
Possible values: 1 through 4096. Visa Click to Integer (4)
Pay provides the card art values. Any number
of vcReply_cardArt_#_height fields that can be
included in the encrypted payment data.
vcReply_cardArt_#_width Decrypted width for the card art in pixels. Positive
Possible values: 1 through 4096. Visa Click to Integer (4)
Pay provides the card art values. Any number
of vcReply_cardArt_#_width fields that can be
included in the encrypted payment data.
vcReply_cardFirstName Customer’s first name as printed on the card. String
(256)
vcReply_cardGroup Decrypted card group. Possible values: String (12)

• CREDIT

• DEBIT

• DEBIT/CREDIT
vcReply_cardLastName Customer’s last name as printed on the card. String
(256)
vcReply_cardType Decrypted card type. Possible values: String (10)

Visa Click to Pay | API Fields | 20


Response Fields (continued)
Field Description Data Type
& Length
• AMEX

• DISCOVER

• MASTERCARD

• VISA
vcReply_cardVerificationS Decrypted verification status for the card. Possible String (12)
tatus values:

• FAILED

• NOT_VERIFIED

• VERIFIED
vcReply_creationTimeSt Decrypted time stamp for the creation of the Visa String (20)
amp Click to Pay order. Format: Unix time, which is also
called epoch time.
vcReply_customData_#_n Name for the name-value pair of custom data String
ame values that you define. You can define up to 100 (1024 for
Visa Click to Pay custom data name-value pairs tothe
include in encrypted payment data. Use this field to
name-va
specify the name for the name-value pair. lue pair;
the
Format: vcReply_customData_#_name=name of combined
field name
where # equals the number of the name-value pair and value
(0 through 99) and name equals the name for the fields)
name-value pair.

Examples:

vcReply_customData_0_name=lastname

vcReply_customData_1_name=firstname

vcReply_customData_2_name=company

vcReply_customData_#_va Value for the name-value pair of custom data String


lue values that you define. You can define up to 100 (1024 for
Visa Click to Pay custom data name-value pairs to the
include in encrypted payment data. Use this field to name-va
specify the value for the name-value pair. lue pair;
the

Visa Click to Pay | API Fields | 21


Response Fields (continued)
Field Description Data Type
& Length
Format: vcReply_customData_#_value=value of combined
field name
where # equals the number of the name-value pair and value
(0 through 99) and value equals the value for the fields)
name-value pair.

Examples:

vcReply_customData_0_value=Smith

vcReply_customData_1_value=Jane

vcReply_customData_2_value=Foster City Flowers

vcReply_cvnCodeRaw Decrypted raw (unmapped) CVN code provided by String (10)


Visa Click to Pay.
vcReply_discountAmount Decrypted discount amount that you provided to String (7)
Visa Click to Pay.
vcReply_eci Decrypted e-commerce indicator. Visa Click to Pay String (20)
generates this value.

Possible values for Visa, American Express, and


JCB:

• 05: Card issuer is liable.

• 06: Card issuer is liable.

• 07: Merchant is liable.

Possible values for Mastercard:

• 01: Merchant is liable.

• 02: Card issuer is liable.


vcReply_eciRaw Decrypted raw (unmapped) e-commerce indicator. String (no
Visa Click to Pay generates this value. maximum
length)
Possible values for Visa, American Express, and
JCB:

Visa Click to Pay | API Fields | 22


Response Fields (continued)
Field Description Data Type
& Length
• 05: Card issuer is liable.

• 06: Card issuer is liable.

• 07: Merchant is liable.

Possible values for Mastercard:

• 01: Merchant is liable.

• 02: Card issuer is liable.


vcReply_expiredCard Card used for Visa Click to Pay payment is an String (5)
expired card. Possible values are:

• true: This card is an expired card.

• false: This card is not an expired card.


vcReply_giftWrapAmount Decrypted gift wrap amount that you provided to String (7)
Visa Click to Pay.
vcReply_issuerID Decrypted issuer ID. String
(100)
vcReply_merchantReferen Decrypted tracking number for the Visa Click to String
ceID Pay order. You provide this value to Visa Click to (100)
Pay.
vcReply_nameOnCard Decrypted name that is on the credit card. String
(256)
vcReply_newUser Status of the user at the time of checkout. Possible String (5)
values are:

• true: This card is a new user.

• false: This card is not a new user.


vcReply_paresStatus Decrypted payer authentication result enrollment String (1)
status. Visa Click to Pay generates this value.
Possible values:

Visa Click to Pay | API Fields | 23


Response Fields (continued)
Field Description Data Type
& Length
• A: Proof of authentication attempt was
generated.

• N: Customer failed or canceled


authentication. Transaction denied.

• U: Authentication not completed regardless


of the reason.

• Y: Customer was successfully authenticated.


vcReply_paresTimeStamp Decrypted time stamp for the payer authentication String (no
result. Visa Click to Pay generates this value. maximum
Format: Unix time, which is also called epoch time. length)
vcReply_paymentInstrum Decrypted unique internal ID associated with the String
entID payment instrument. Visa Click to Pay generates
this value.
vcReply_paymentInstrum Decrypted name that the customer assigned to the String
entNickName payment instrument. (100)
vcReply_promotionCode Decrypted promotion code that you provided to String
Visa Click to Pay. (100)
vcReply_riskAdvice Decrypted risk advice to use with your fraud String (11)
model. Visa Click to Pay provides the risk advice.
Possible values:

• HIGH: Higher than medium level of risk


anticipated.

• LOW: Lower than medium level of risk


anticipated.

• MEDIUM: Medium level of risk anticipated.

• UNAVAILABLE: No information available.


vcReply_riskScore Decrypted risk score to use with your fraud model. Positive
Visa Click to Pay provides the risk score. Integer (2)

Possible values: 0 through 99. A value of 0 indicates


that a risk score is not available. For values 1
through 99, a higher score indicates a higher
perceived risk.

Visa Click to Pay | API Fields | 24


Response Fields (continued)
Field Description Data Type
& Length
vcReply_shippingAddress Extracts and provides the street name from the String
StreetName first line of the billing address. In some countries, (116)
such as Mexico and India, Visa Click to Pay obtains
street name information as a separate line item
from the customer.
vcReply_shippingHandlin Decrypted shipping and handling amount that you String (7)
gAmount provided to Visa Click to Pay.
vcReply_subtotalAmount Decrypted subtotal amount that you provided to String (7)
Visa Click to Pay.
vcReply_taxAmount Decrypted tax amount that you provided to Visa String (20)
Click to Pay.
vcReply_totalPurchaseAm Decrypted total purchase amount that you String (7)
ount provided to Visa Click to Pay.
vcReply_uncategorizedAm Decrypted amount of uncategorized charges that String (20)
ount you provided to Visa Click to Pay.
vcReply_vcAccountEmail Decrypted email associated with customer’s Visa String
Click to Pay account. (265)
vcReply_vcAccountEncryp Encrypted login ID for customer’s Visa Click to Pay String
tedID account. (100)
vcReply_vcAccountFirstN Decrypted first name from the login information String
ame for customer’s Visa Click to Pay account. (265)
vcReply_vcAccountFullN Visa Click to Pay customer’s full name. String
ame (256)
vcReply_vcAccountLastN Decrypted last name from the login information for String
ame customer’s Visa Click to Pay account. (265)
vcReply_vcAccountLoginN Decrypted login name for customer’s Visa Click to String
ame Pay account. (128)
vcReply_veresEnrolled Decrypted verification response enrollment status. String (1)
Visa Click to Pay generates this value. Possible
values:

• N: Card not enrolled.

• U: Unable to authenticate regardless of the


reason.

• Y: Card enrolled. Authentication available.

Visa Click to Pay | API Fields | 25


Response Fields (continued)
Field Description Data Type
& Length
vcReply_veresTimeStamp Decrypted time stamp for the verification String (no
response. Visa Click to Pay generates this value. maximum
Format: Unix time, which is also called epoch time. length)
vcReply_walletReferenc Decrypted order identifier. This value is generated String
eID by Visa Click to Pay. (100)
vcReply_xid Decrypted transaction identifier. Visa Click to Pay String (40)
generates this value.

Visa Click to Pay | API Fields | 26


Simple Order API Examples

Name-Value Pair Examples


Visa Click to Pay Data Request

getVisaCheckoutDataService_run=true
merchantID=Foster_City_Flowers
merchantReferenceCode=123456
paymentSolution=visacheckout
vc_orderID=335161017227386762

Visa Click to Pay Data Response

billTo_street1=100 Main Street


billTo_street2=Suite 1234
billTo_city=Foster City
billTo_country=US
billTo_state=CA
billTo_postalCode=94404
card_prefix=987654
card_suffix=1111
purchaseTotals_currency=USD
card_accountNumber=4111111111111111
card_expirationMonth=09
card_expirationYear=2018
billTo_name=Jane Smith
billTo_phoneNumber=6501234567
getVisaCheckoutDataReply_reasonCode=100
decision=ACCEPT
reasonCode=100
merchantReferenceCode=123456
requestID=4067382331040172491847
shipTo_addressVerificationStatus=VERIFIED
shipTo_street1=100 Main Street
shipTo_street2=Suite 1234
shipTo_city=Foster City
shipTo_country=US
shipTo_id=jz0l2LMWLobl8IEcNuSBj0J9uO2zSsNx1ETZGjPI
shipTo_name=Jane Smith
shipTo_phoneNumber=6501234567
shipTo_state=CA
shipTo_postalCode=94404

Visa Click to Pay | Simple Order API Examples | 27


[email protected]
vcReply_vcAccountEncryptedID=nIPl7vnm6EZj+n10rjEK5LiPMqn1DKX48B8GzXDY
vcReply_vcAccountFirstName=Jane
vcReply_vcAccountLastName=Smith
[email protected]
vcReply_alternateShippingAddressCountryCode=US
vcReply_alternateShippingAddressPostalCode=94404
vcReply_avsCodeRaw=Y
vcReply_cardArt_0_fileName=https://secure.checkout.visa.com/CardArt/uWO
vgFoQISxPh.png
vcReply_cardArt_0_width=164
vcReply_cardArt_0_height=105
vcReply_cardGroup=CREDIT
vcReply_cardType=VISA
vcReply_cardVerificationStatus=VERIFIED
vcReply_creationTimeStamp=1406568920102
vcReply_cvnCodeRaw=M
vcReply_discountAmount=1
vcReply_giftWrapAmount=2
vcReply_issuerID=null
vcReply_merchantReferenceID=Order12345
vcReply_nameOnCard=Jane Smith
vcReply_paymentInstrumentID=XNLbQ16j8hxholOVMq5skxNn6GUDPYDTqRgdWpb3kbk
vcReply_paymentInstrumentNickName=Business Credit Card
vcReply_promotionCode=SUMMER SALE 123
vcReply_riskAdvice=LOW
vcReply_riskScore=0
vcReply_shippingHandlingAmount=2
vcReply_subtotalAmount=10
vcReply_taxAmount=1
vcReply_totalPurchaseAmount=16
vcReply_uncategorizedAmount=2
vcReply_walletReferenceID=2kd94lcjksf04vcoqasdpde90trk

XML Examples
Visa Click to Pay Data Request

<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.105">
<merchantID>Foster_City_Flowers</merchantID>
<merchantReferenceCode>123456</merchantReferenceCode>
<paymentSolution>visacheckout</paymentSolution>
<vc>
<orderID>335161017227386762</orderID>

Visa Click to Pay | Simple Order API Examples | 28


</vc>
<getVisaCheckoutDataService run="true"/>
</requestMessage>

Visa Click to Pay Data Response

<c:replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.105">
<c:merchantReferenceCode>123456</c:merchantReferenceCode>
<c:requestID>4067382331040172491847</c:requestID>
<c:decision>ACCEPT</c:decision>
<c:reasonCode>100</c:reasonCode>
<c:purchaseTotals><c:currency>USD</c:currency></c:purchaseTotals>
<c:shipTo>
<c:street1>100 Main Street</c:street1>
<c:street2>Suite 1234</c:street2>
<c:city>Foster City</c:city>
<c:state>CA</c:state>
<c:postalCode>94404</c:postalCode>
<c:country>US</c:country>
<c:phoneNumber>6501234567</c:phoneNumber>
<c:name>Jane Smith</c:name>
<c:id>jz0l2LMWLobl8IEcNuSBj0J9uO2zSsNx1ETZGjPI</c:id>
<c:addressVerificationStatus>VERIFIED</c:addressVerificationStatus>
</c:shipTo>
<c:billTo>
<c:street1>100 Main Street</c:street1>
<c:street2>Suite 1234</c:street2>
<c:city>Foster City</c:city>
<c:state>CA</c:state>
<c:postalCode>94404</c:postalCode>
<c:country>US</c:country>
<c:phoneNumber>6501234567</c:phoneNumber>
<c:name>Jane Smith</c:name>
<c:/billTo>
<c:card>
<c:accountNumber>4111111111111111</c:accountNumber>
<c:expirationMonth>09</c:expirationMonth>
<c:expirationYear>2018</c:expirationYear>
<c:suffix>1111</c:suffix>
<c:prefix>987654</c:prefix>
</c:card>
<c:vcReply>
<c:creationTimeStamp>1406568920102<c:creationTimeStamp>

<c:alternateShippingAddressCountryCode>US</c:alternateShippingAddressCountryCode>

<c:alternateShippingAddressPostalCode>94404</c:alternateShippingAddressPostalCo
de>

Visa Click to Pay | Simple Order API Examples | 29


<c:vcAccountLoginName>[email protected]</c:vcAccountLoginName>
<c:vcAccountFirstName>Jane</c:vcAccountFirstName>
<c:vcAccountLastName>Smith</c:vcAccountLastName>

<c:vcAccountEncryptedID>nIPl7vnm6EZLiPMqn1DKX48B8GzXDY</c:vcAccountEncryptedID>
<c:vcAccountEmail>[email protected]</c:vcAccountEmail>
<c:merchantReferenceID>Order12345</c:merchantReferenceID>
<c:subtotalAmount>10</c:subtotalAmount>
<c:shippingHandlingAmount>2</c:shippingHandlingAmount>
<c:taxAmount>1</c:taxAmount>
<c:discountAmount>1</c:discountAmount>
<c:giftWrapAmount>2</c:giftWrapAmount>
<c:uncategorizedAmount>2</c:uncategorizedAmount>
<c:totalPurchaseAmount>16</c:totalPurchaseAmount>
<c:walletReferenceID>2kd94lcjksf04vcoqasdpde90trk</c:walletReferenceID>
<c:promotionCode>SUMMER SALE 123</c:promotionCode>

<c:paymentInstrumentID>XNLbQ16j8hxholOGUDPYDTqRgdWpb3kbk</c:paymentInstrumentID>
<c:cardVerificationStatus>VERIFIED</c:cardVerificationStatus>
<c:issuerID>null</c:issuerID>
<c:paymentInstrumentNickName>Business Credit
Card</c:paymentInstrumentNickName>
<c:nameOnCard>Jane Smith</c:nameOnCard>
<c:cardType>VISA</c:cardType>
<c:cardGroup>CREDIT</c:cardGroup>
<c:cardArt id="0">

<c:fileName>https://secure.checkout.com/CardArt/uWOvgFoQISxPh.png</c:fileName>
<c:height>105</c:height>
<c:width>164</c:width>
</c:cardArt>
<c:riskAdvice>LOW</c:riskAdvice>
<c:riskScore>0</c:riskScore>
<c:avsCodeRaw>Y</c:avsCodeRaw>
<c:cvnCodeRaw>M</c:cvnCodeRaw>
</c:vcReply>
<c:getVisaCheckoutDataReply>
<c:reasonCode>100</c:reasonCode>
</c:getVisaCheckoutDataReply>
</c:replyMessage>

Visa Click to Pay | Simple Order API Examples | 30


Reason Codes
Table 8 (on page 31) lists the reason codes returned by the Simple Order API for Visa Click to Pay.
See Getting Started with Cybersource Advanced for the Simple Order API for a discussion of replies,
decisions, and reason codes.

Important: Because Cybersource can add response fields and reason codes at any time:

• You must parse the response data according to the names of the fields instead of the
field order in the response. For more information about parsing response fields, see
the documentation for your client.

• Your error handler should be able to process new reason codes without problems.

• Your error handler should use the decision field to determine the result if it receives a
reason code that it does not recognize.

Reason Codes
Reason Description
Code
100 Successful transaction.
150 General system failure.

See the documentation for your Cybersource client for


information about handling retries in the case of system
errors.

Visa Click to Pay | Reason Codes | 31


Supported Countries, Regions, and Payment
Currencies
The following table identifies the countries, regions, and associated currencies from which payments
are accepted:

Country or Region Currency Code


Argentina Argentine peso ARS
Australia Australian dollar AUD
Canada Canadian dollar CAD
Chile Chilean peso CLP
China Mainland Chinese yuan renminbi CNY
Colombia Columbian peso COP
France Euro EUR
Hong Kong Hong Kong dollar HKD
India Indian rupee INR
Ireland Euro EUR
Kuwait Kuwaiti dinar KWD
Malaysia Malaysian ringgit MYR
Mexico Mexican peso MXN
New Zealand New Zealand dollar NZD
Peru Peruvian nuevo sol PEN
Poland Euro EUR
Qatar Qatari rial QAR
Saudi Arabia Saudi Arabian riyal SAR
Singapore Singapore dollar SGD
South Africa South African rand ZAR
Spain Euro EUR
Ukraine Ukrainian hryvnia UAH
United Arab Emirates United Arab Emirates AED
dirham
United Kingdom British pound sterling GBP

Visa Click to Pay | Supported Countries, Regions, and Payment Currencies | 32


Country or Region Currency Code
United States of United States dollar USD
America

Visa Click to Pay | Supported Countries, Regions, and Payment Currencies | 33

You might also like