Secure Acceptance SOP
Secure Acceptance SOP
October 2015
CyberSource Corporation HQ | P.O. Box 8999 | San Francisco, CA 94128-8999 | Phone: 800-530-9095
Copyright
2015 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
Conventions 9
Note, Important, and Warning Statements
Text and Command Conventions 9
Related Documents
Customer Support
Chapter 1
10
11
12
13
13
14
Subscription Payments
Level II and III Data
15
16
Chapter 2
16
17
22
24
Configuring Notifications 25
Configuring Merchant Notifications 25
Configuring Customer Notifications 26
Contents
28
29
Activating a Profile 31
Additional Options for a Profile
31
Chapter 3
Chapter 4
Chapter 5
35
37
39
Chapter 6
47
49
51
53
55
59
60
55
57
Chapter 8
45
47
Chapter 7
43
63
63
64
Contents
66
66
Request-Level Fields
67
89
113
Types of Notifications
116
119
120
120
121
REVISIONS
Release Date
Changes
October 2015
Updated the Important Note for PayPal Express Checkout. See page 22.
Added the Enabling PayPal Express Checkout section. See page 22.
September 2015
paypal_authorization_correlation_id
paypal_authorization_transaction_id
paypal_customer_email
paypal_do_capture_correlation_id
paypal_do_capture_transaction_id
paypal_ec_get_details_correlation_id
paypal_ec_get_details_request_id
paypal_ec_get_details_transaction_id
paypal_ec_order_setup_correlation_id
paypal_ec_order_setup_transaction_id
paypal_ec_set_request_id
paypal_fee_amount
paypal_order_request_id
paypal_payer_id
paypal_payer_status
paypal_pending_reason
paypal_pending_status
paypal_protection_eligibility
paypal_protection_eligibility_type
paypal_request_id
paypal_token
paypal_transaction_type
req_item_#_description
Release Date
Changes
August 2015
payer_authentication_pares_status
payer_authentication_reason_code
payer_authentication_validate_result
payer_authentication_validate_e_commerce_indicator
req_override_backoffice_post_url
July 2015
June 2015
May 2015
ABOUT GUIDE
Contain product pages in one of the supported scripting languages (see page 32).
The IT infrastructure must be Public Key Infrastructure (PKI) enabled to use SSLbased form POST submissions.
The IT infrastructure must be able to digitally sign customer data prior to submission to
Secure Acceptance.
Conventions
Note, Important, and Warning Statements
A Note contains helpful suggestions or references to material not contained in
the document.
Note
Warning
Usage
bold
monospace
token.
Related Documents
Refer to the Support Center for complete CyberSource technical documentation:
http://www.cybersource.com/support_center/support_documentation
Table 1
Related Documents
Subject
Description
Credit Card
Decision
Manager
eCheck
Credit Card Services Using the Simple Order API (PDF | HTML)
The following documents describes how to integrate and use the Decision
Manager services.
Decision Manager Developer Guide Using the SCMP API (PDF | HTML)
Decision Manager Developer Guide Using the Simple Order API (PDF |
HTML)
The following documents describe how to integrate and use the eCheck
services:
Electronic Check Services Using the Simple Order API (PDF | HTML)
Level II and Level III Processing Using Secure Acceptance (PDF | HTML)
describes each Level II and Level III API field and processing Level II and
Level III transactions using Secure Acceptance.
Payer
Authentication
The following documents describe how to integrate and use the payer
authentication services:
Payment Security
Standards
Payment Card Industry Data Security Standard (PCI DSS)web site offers
standards and supporting materials to enhance payment card data security.
Payment
Tokenization
The following documents describe how to create customer profiles and use
payment tokens for on-demand payments:
PayPal Express
Checkout
The following documents describes how to integrate and use the PayPal
Express Checkout services:
PayPal Express Checkout Services Using the SCMP API (PDF | HTML)
PayPal Express Checkout Services Using the Simple Order API (PDF |
HTML).
10
Table 1
Subject
Description
Recurring Billing
Reporting
Secure
Acceptance
Customer Support
For support information about any CyberSource service, visit the Support Center:
http://www.cybersource.com/support
11
CHAPTER
Warning
To create your customer checkout experience you will take these steps:
1
Update the code on your web site to POST payment data directly to CyberSource
from your secure payment form (see "Silent Order POST Sample Integration,"
page 32). CyberSource processes the transaction on your behalf by sending an
approval request to your payment processor in real time. See "Secure Acceptance
Transaction Flow," page 13.
12
Chapter 1
The customer clicks the Pay button, which sends a browser request to your web
server.
The payment form is created, which includes the Secure Acceptance request
message, the signature, and the signed data fields. The customer browser interprets
the code and renders the checkout page.
The customer enters and submits payment details (the unsigned data fields). The
transaction request message, the signature, and the signed and unsigned data fields
are sent directly from the customer browser to the CyberSource servers. The
unsigned data fields do not pass through your network and are captured by the
CyberSource front end systems.
13
Chapter 1
CyberSource reviews and validates the transaction request data to confirmit has not
been tampered with and that it contains valid authentication credentials.
CyberSource processes the transaction and creates and signs the reply message.
CyberSource redirects the customer back to the merchant web site. As part of this
redirect, the HTTPS POST data contains the transaction result in addition to the
masked payment data that was collected outside of your domain.
You validate the reply signature to confirm that the reply data has not been tampered
with. The reason code API field contains additional data regarding the decision
response of the transaction (see page 113). When the order is processed, it can be
viewed in the Business Center (see page 64). If the transaction type is sale, it is
immediately submitted for settlement. If the transaction type was authorization, you
must submit a separate request for settlement, such as when the goods are shipped.
Payment Tokens
Important
Payment tokens are unique identifiers that replace sensitive card information and that
cannot be mathematically reversed. CyberSource securely stores all the card information,
replacing it with the payment token. The token is also known as a subscription ID, which
you store on your server. The payment tokenization solution is compatible with the Visa
and MasterCard Account Updater service. All payment information stored with
CyberSource is automatically updated by participating banks, thereby reducing payment
failures. See the Account Updater User Guide (PDF | HTML).
The payment token identifies the card and retrieves the associated billing, shipping, and
card information. No sensitive card information is stored on your servers, thereby reducing
your PCI DSS obligations.
Table 2
Type
Description
22 digit
16 digit
Displays the last four digits of the primary account number (PAN) and
passes Luhn mod-10 checks.
16 digit
Displays 99 as the two leading digits and passes Luhn mod-10 checks. If
your business rules prohibit using 99 as the leading digits, you must modify
your system to accept the other 16-digit payment token.
14
Chapter 1
Subscription Payments
A customer subscription contains information that you store in the CyberSource database
and use for future billing. At any time, you can send a request to bill the customer for an
amount you specify, and CyberSource uses the payment token to retrieve the card, billing,
and shipping information to process the transaction. You can also view the customer
subscription in the CyberSource Business Center. See "Viewing Transactions in the
Business Center," page 64.
A customer subscription includes:
Customer payment information, such as card type, masked account number, and
expiration date.
Customer order information, such as the transaction reference number and merchantdefined data fields.
Table 3
Types of Subscriptions
Type of Subscription
Description
Recurring
A recurring billing service with no specific end date. You must specify
the amount and frequency of each payment and the start date for
processing the payments. CyberSource creates a schedule based on
this information and automatically bills the customer according to the
schedule. For example, you can offer an online service that the
customer subscribes to and can charge a monthly fee for this
service. See "Payment Token for Recurring Payments," page 43.
Installment
15
Chapter 1
When you are ready to implement Secure Acceptance in your live environment, you must
contact CyberSource Customer Support and request Go-Live. When all the banking
information has been received by CyberSource the Go-Live procedure may require three
days to complete. No Go-Live implementations take place on a Friday.
16
CHAPTER
Step 2
In the left navigation panel, choose Tools & Settings > Secure Acceptance > Profiles.
Step 3
Profile Details
Profile Detail
Description
Profile Name
Description
Integration Method
Company Name
Decision Manager
Check Enable Verbose Data. For more information, see page 37.
Generate Device
Fingerprint
17
Chapter 2
Step 4
Click Create. The Configuring Payment Settings page appears. See "Configuring
Payment Settings" for more information.
On the Profile Settings page, click Payment Settings. The Payment Settings page
appears. A payment method selection page is displayed when more than one payment
method is enabled for a profile. You can skip this page by specifying card or echeck as a
payment method in the request. During the checkout process customers have the option
to change the payment method
You must select the card types to offer to the customer as payment methods. For each
card type you select, you can also manage currencies and payer authentication options.
Select only the types of credit cards and currencies that your merchant account provider
authorizes.
Click Add/Edit Card Types. The Add/Edit Card Types window appears.
Step 2
Check each card type that you want to offer to the customer as a payment method. The
card types must be supported by your payment processor.
Step 3
Click Update.
Step 4
Click the pencil icon in the column for each card type. The Edit Card Settings page
appears.
Step 5
Click Update. The card types are added as an accepted payment type.
18
Chapter 2
Step 6
Click Save.
Important
Before you can use CyberSource Payer Authentication, you must contact
CyberSource Customer Support to provide information about your company
and your acquiring bank so that CyberSource can configure your account. Your
merchant ID must be enabled for payer authentication. For more information
about Payer Authentication, see "Related Documents," page 10.
Payer authentication enables you to add support for Verified by Visa, MasterCard
SecureCode, American Express SafeKey, and J/Secure by JCB without running additional
software on your own server. The payer authentication services deter unauthorized card
use and provide added protection from fraudulent chargeback activity.
For each transaction, you receive detailed information in the replies and in the transaction
details page of the Business Center. You can store this information for 12 months.
CyberSource recommends that you store the payer authentication data because you may
be required to display this information as enrollment verification for any payer
authentication transaction that you re-present because of a chargeback.
Your account provider may require that you provide all data in human-readable format.
Make sure that you can decode the PAReq and PARes.
Note
Click the pencil icon in the column for each card type. The Edit Card Settings page
appears.
Step 2
Check Payer Authentication for each card type that you want to offer to the customer as
a payment method. The card types that support payer authentication are:
Amex
JCB
MasterCard
Visa
19
Chapter 2
Step 3
Click Update.
Adding a Currency
Important
By default, all currencies are listed as disabled. You must select at least one
currency. Contact your merchant account provider for a list of supported
currencies. If you select the Elo or Hipercard card type, only the Brazilian Real
currency is supported.
Click the pencil icon in the column for each card type. The Edit Card Settings page
appears.
Step 2
Click Select All or select a currency and use the arrow to move it from the Disabled list to
the Enabled list.
Step 3
Click Update.
Check Fails AVS check. Authorization is automatically reversed on a transaction that fails
an AVS check.
Step 2
Step 3
Click Save.
Important
When the AVS and CVN options are disabled and the transaction fails an AVS
or CVN check, the customer is notified that the transaction was accepted. You
are notified to review the transaction details (see "Types of Notifications,"
page 116).
20
Chapter 2
Enabling eChecks
An eCheck is a payment made directly from your customer's U.S. or Canadian bank
account. As part of the checkout process, you must display a terms and conditions
statement for eChecks:
I authorize my payment to be processed as an electronic funds transfer or draft drawn
from my account. If the payment is returned unpaid, I authorize you or your service
provider to collect the payment and my state's return item fee by electronic funds
transfer(s) or draft(s) drawn from my account. Click here to view your state's returned
item fee. If this payment is from a corporate account, I make these authorizations as
an authorized corporate representative and agree that the entity will be bound by the
NACHA operating rules.
A customer must accept the terms and conditions before submitting an order. Within the
terms and conditions statement it is recommended to include a link to the table of returned
item fees. The table lists by state the amount that your customer has to pay when a check
is returned. Because the table is updated regularly, CyberSource recommends that you
create a link to it:
http://www.achex.com/html/NSF_pop.jsp
Step 2
Click the pencil icon in the currencies table. The Electronic Check Settings page appears.
Step 3
Click Select All or select a currency and use the arrow to move it from the Disabled list to
the Enabled list.
Step 4
Click Update.
Step 5
Click Save.
21
Chapter 2
Step 2
Allow customers to select or edit their shipping address within PayPalcheck this
option to allow customers to edit their shipping address details that were provided in the
transaction request to Secure Acceptance. Customers select a new address or edit the
address when they are logged in to their PayPal account.
Step 3
When the transaction type is authorization, check one of the following options:
Request a PayPal authorization and include the authorization reply values in the
responsecheck this option to create and authorize the PayPal order.
Important
Request a PayPal order setup and include the order setup reply values in the
responsecheck this option to create the PayPal order.
Important
Step 4
The customer funds are not captured using this option. You must request a
PayPal capture; see PayPal Express Checkout Services Using the SCMP
API (PDF | HTML) or PayPal Express Checkout Services Using the Simple
Order API (PDF | HTML). If the transaction type is sale, Secure
Acceptance authorizes and captures the customer funds.
The customer funds are not authorized or captured using this option. You
must request a PayPal authorization followed by a PayPal capture request;
see PayPal Express Checkout Services Using the SCMP API (PDF |
HTML) or PayPal Express Checkout Services Using the Simple Order API
(PDF | HTML). If the transaction type is sale, Secure Acceptance
authorizes and captures the customer funds.
Click Save.
22
Chapter 2
As part of the checkout process, you must display a terms and conditions statement for
the service fee. A customer must accept the terms and conditions before submitting an
order.
Check Service Fee applies on transactions using this profile. The service fee terms
and conditions URL and the service fee amount are added to the customer review page.
Transactions fail if you disable this feature. Do not disable this feature unless
instructed to do so by your account manager.
Warning
Step 2
Step 3
Click Save.
After you save the profile you cannot disable the service fee functionality for
that profile. All transactions using the profile will include the service fee amount.
Important
23
Chapter 2
You cannot use the same security key for both test and live transactions. You
must download a security key for both versions of Secure Acceptance:
Note
On the Profile Settings page, click Security. The Security Keys page appears. The
security script signs the request fields using the secret key and the HMAC SHA256
algorithm. To verify data, the security script generates a signature to compare with the
signature returned from the Secure Acceptance server. You must have an active security
key to activate a profile. A security key expires in two years and protects each transaction
from data tampering.
Click Create New Key. The Create New Key page appears.
Step 2
Step 3
Step 4
Step 5
Click Generate Key. The Create New Key window expands and displays the new access
key and secret key. This window closes after 30 seconds.
Step 6
Access key: Secure Sockets Layer (SSL) authentication with Secure Acceptance
Silent Order POST. You can have many access keys per profile. See page 32.
Secret key: signs the transaction data and is required for each transaction. Copy and
paste this secret key into your security script. See page 32.
Remember to delete the copied keys from your clipboard or cached
memory.
Important
24
Chapter 2
By default, the new security key is active. The other options for each security key are:
Note
Step 7
Click Return to Profile home. The Configuring Profile Settings page appears.
Configuring Notifications
On the Profile Settings page, click Notifications. The Notifications page appears. The
Secure Acceptance Silent Order POST sends merchant and customer notifications in
response to transactions.
Important
Check Merchant POST URL. Enter the HTTPS URL. CyberSource sends transaction
information to this URL. For more information, see "API Reply Fields," page 89.
Important
Only a HTTPS URL should be used for the merchant POST URL. Use ports
80, 443, or 8080 in the URL. Contact CyberSource Customer Support if
you encounter any problems.
25
Chapter 2
Important
Step 2
Step 3
Choose the card number digits that you want displayed in the merchant or customer
receipt:
Return credit card BIN: displays the cards Bank Identification Number (BIN), which is
the first six digits of the card number. All other digits are masked: 123456xxxxxxxxxx
Return last four digits of credit card number: displays the last four digits of the card
number. All other digits are masked: xxxxxxxxxxxx1234
Return BIN and last four digits of credit card number: displays the BIN and the last
four digits of the card number. All other digits are masked: 123456xxxxxx1234
Continue to configure the customer notifications (see page 26) or click Save. The Profile
Settings page appears.
Step 2
Enter the email address to be displayed on the customer receipt. The customer will reply
to this email with any queries.
Step 3
Step 4
Step 5
26
Chapter 2
Your copy of the customer receipt will contain additional transaction response
information.
Note
Step 6
Company Logo
To add a company logo to the customer receipt and email:
Step 1
Step 2
Step 3
Click Upload Company Logo. Find and upload the image that you want to display on the
customer receipt and email.
Important
Step 4
For preview, an image must not exceed 200 (w) x 60 (h) pixels. The image file
type must be GIF, JPEG, or PNG. The logo filename must not contain any
special characters, such as a hyphen (-).
Click Save.
Step 2
Standard email: this email is automatically translated based on the locale used for the
transaction.
Custom email: this email can be customized with text and data references. The email
body section containing the transaction detail appears between the header and footer.
Custom text is not translated when using different locales.
You can insert email smart tags to both the email header and footer sections to
include specific information.
Step 3
Select each specific smart tag from the drop-down list and click Insert.
27
Chapter 2
Step 4
Click Save.
On the Profile Settings page, click Customer Response Pages. The Customer Response
Pages page appears.
You must choose to display a response page to the customer at the end of the checkout
process. Enter a URL for your own customer response page. This page is displayed to the
customer after the transaction is processed. Review declined orders as soon as possible
because you may be able to correct problems related to address or card verification, or
you may be able to obtain a verbal authorization. You can also choose to display a web
page to the customer after the checkout process is completed.
Enter the URL for your customer response page. Use port 80, 443, or 8080 in the URL.
Note
Step 2
Only port 443 should be used with a HTTPS URL. Parse the results from the
URL according to the reason code, and redirect your customer to the
appropriate response page. For more information, see "Types of Notifications,"
page 116.
28
Chapter 2
Localization
Secure Acceptance supports 41 languages for localization purposes. The table below lists
all the supported languages and the locale code you must include in your payment form.
Step 2
Enter the locale code in the API field. See "Silent Order POST Sample Integration,"
page 32.
Example
American English
Table 5
Locale Codes
Language
Locale Code
Arabic
ar-xn
Cambodia
km-kh
ChineseHong Kong
zh-hk
ChineseMaco
zh-mo
ChineseMainland
zh-cn
ChineseSingapore
zh-sg
ChineseTaiwan
zh-tw
Czech
cz-cz
Danish
da-dk
Dutch
nl-nl
EnglishAmerican
en-us
EnglishAustralia
en-au
EnglishBritain
en-gb
EnglishCanada
en-ca
EnglishIreland
en-ie
EnglishNew Zealand
en-nz
French
fr-fr
FrenchCanada
fr-ca
German
de-de
GermanAustria
de-at
Hungary
hu-hu
Indonesian
id-id
29
Chapter 2
Table 5
Language
Locale Code
Italian
it-it
Japanese
ja-jp
Korean
ko-kr
lo-la
Malaysian Bahasa
ms-my
Norwegian (Bokmal)
nb-no
Philippines Tagalog
tl-ph
Polish
pl-pl
PortugueseBrazil
pt-br
Russian
ru-ru
Slovakian
sk-sk
Spanish
es-es
SpanishArgentina
es-ar
SpanishChile
es-cl
SpanishColombia
es-co
SpanishMexico
es-mx
SpanishPeru
es-pe
SpanishAmerican
es-us
Swedish
sv-se
Thai
th-th
Turkish
tr-tr
Vietnamese
vi-vn
30
Chapter 2
Activating a Profile
You must complete the required settings in each of these sections before
activating a profile:
Important
To activate a profile:
Step 1
On the Profile Settings page, click Promote to Active. The profile is now active and listed
as an active profile on the Manage Profiles page.
The All Profiles link appears on the Profile Settings page. Click All Profiles to
view the Manage Profiles list. See "Updating a Secure Acceptance Profile."
Note
Deactivatedeactivates the active profile. The profile is now listed in the inactive
profile list. This option is available only for an active profile.
Create Editable Versionduplicates the active profile and creates an editable version.
The editable version is listed in the inactive profile list. This option is available only for
an active profile.
Promote to Activeactivates the inactive profile. This option is available only for an
inactive profile.
31
Chapter 2
JSP
ASP.NET (C#)
Ruby
PHP
Perl
VB
The available downloads are sample scripts, and each one consists of:
File
Security script
3 The customer must enter their card type, card number and
card expiry date. Each of these fields must be included in the
unsigned_field_names field and will be POSTed directly to
the Secure Acceptance server along with the signed_field_
names field.
Change the endpoint for processing test or live transactions
(see "Endpoints and Transaction Types," page 33). The
default endpoint is for test transactions.
Receipt page
32
Chapter 2
https://testsecureacceptance.cybersource.com/silent/pay
Live Transactions
https://secureacceptance.cybersource.com/silent/pay
authorization
authorization,create_payment_token
authorization,update_payment_token
sale
sale,create_payment_token
sale,update_payment_token
https://testsecureacceptance.cybersource.com/silent/token/create
Live Transactions
https://secureacceptance.cybersource.com/silent/token/create
create_payment_token
https://testsecureacceptance.cybersource.com/silent/token/update
Live Transactions
https://secureacceptance.cybersource.com/silent/token/update
update_payment_token
33
Chapter 2
https://testsecureacceptance.cybersource.com/silent/embedded/
pay
Live Transactions
https://secureacceptance.cybersource.com/silent/embedded/pay
authorization
authorization,create_payment_token
authorization,update_payment_token
sale
sale,create_payment_token
sale,update_payment_token
https://testsecureacceptance.cybersource.com/silent/embedded/
token/create
Live Transactions
https://secureacceptance.cybersource.com/silent/embedded/
token/create
create_payment_token
https://testsecureacceptance.cybersource.com/silent/embedded/
token/update
Live Transactions
https://secureacceptance.cybersource.com/silent/embedded/
token/update
update_payment_token
34
CHAPTER
Updating a Secure
Acceptance Profile
Active: the live Silent Order POST profile. This is your current profile, and it is readonly. You can have more than one active profile.
Inactive: the version of a new profile before activation, or the editable version of an
active profile. Update and activate this profile to replace the current active profile.
If you have multiple profiles the Manage Profiles page appears by default
when you log in to the Business Center.
Important
To update a profile:
Step 1
Step 2
In the left navigation panel, choose Tools & Settings > Secure Acceptance > Profiles.
Step 3
Deactivate: deactivates the active profile. The profile is then listed in the inactive
profile list.
Edit: select edit and update the active profile. An editable version of the active profile
appears in the inactive profile list. To activate this inactive profile, click Promote to
Active.
Copy: duplicates the active profile. The duplicate profile (editable version) is listed in
the inactive profile list.
35
Chapter 3
Promote to Active: promotes the inactive profile to the active profile list. It replaces the
current active profile, and it is removed from the inactive profile list.
Copy: duplicates the inactive profile. The duplicate profile (editable version) is listed in
the inactive profile list.
You can also click the pencil icon to edit an inactive profile.
Note
Step 4
Step 5
Update the inactive profile (editable version). See "Updating a Secure Acceptance
Profile."
Step 6
Step 7
Click All Profiles to view the active and inactive profiles you have created.
Important
If you have multiple profiles the Manage Profiles page appears by default when
you log in to the Business Center and choose Tools & Settings > Secure
Acceptance > Profiles.
36
CHAPTER
Important
Decision Manager is a hosted fraud management tool that enables you to identify
legitimate orders quickly and that reduces the need to manually intervene in your order
review process. You can accurately identify and review potentially risky transactions while
minimizing the rejection of valid orders. With Secure Acceptance, you can use Decision
Manager to screen orders containing travel data. Include the complete route or the
individual legs of the trip, or both. If you include both, the value for the complete route is
used.
Decision Manager also obtains data about the geographical location of a customer by
linking the IP address extracted from the customers browser to the country and the credit
card. Add the customers IP address to the customer_ip_address field and include it in
the request.
Verbose mode returns detailed information about the order, and it returns the decision of
each rule that the order triggered. Rules that are evaluated as true are returned with the
appropriate results and field names, but rules that are evaluated as false are not returned.
The optional decision manager fields are:
consumer_id
complete_route
customer_cookies_accepted
customer_gift_wrap
customer_ip_address
departure_time
date_of_birth
journey_leg#_orig
journey_leg#_dest
journey_type
37
Chapter 4
merchant_defined_data#
passenger_firstname
passenger_email
passenger_id
passenger_lastname
passenger_status
passenger_type
returns_accepted
For detailed descriptions of all request fields, see page 67. For detailed descriptions of all
the Decision Manager reply fields, see Decision Manager Developer Guide Using the
SCMP API (PDF | HTML).
38
CHAPTER
Include the appropriate endpoint that supports create_payment_token. See page 33.
Step 2
Include the following fields in the request. For detailed descriptions of all request fields,
see page 67.
reference_number=123456789
transaction_type=create_payment_token
currency=usd
locale=en
access_key=e2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p3
profile_id=demoid
transaction_uuid=02815b4f08e56882751a043839b7b481
signed_date_time=2013-07-11T15:16:54Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
payment_method=card
card_type=001
card_number=4111111111111111
card_expiry_date=12-2022
card_cvn=005
bill_to_forename=Joe
bill_to_surname=Smith
[email protected]
bill_to_address_line1=1 My Apartment
bill_to_address_state=CA
bill_to_address_country=US
39
Chapter 5
Below is the transaction reply. It includes the new payment token value.
req_reference_number=123456789
req_transaction_type=create_payment_token
req_locale=en
req_payment_method=card
req_card_type=001
req_card_number=xxxxxxxxxxxx1111
req_card_expiry_date=12-2022
req_bill_to_forename=Joe
req_bill_to_surname=Smith
[email protected]
req_bill_to_address_line1=1 My Apartment
req_bill_to_address_state=CA
req_bill_to_address_country=US
req_access_key=e2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p3
req_profile_id=demoid
req_transaction_uuid=02815b4f08e56882751a043839b7b481
signed_date_time=2013-07-11T15:16:54Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
decision=ACCEPT
reason_code=100
transaction_id=3735553783662130706689
payment_token=3529893314302230706689
40
Chapter 5
Include the appropriate endpoint that supports create_payment_token. See page 33.
Step 2
Include the following fields in the request. For detailed descriptions of all request fields,
see page 67.
access_key=e2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p1
profile_id=demoid
transaction_type=create_payment_token
locale=en
reference_number=1730560013735542024294683
transaction_uuid=02815b4f08e56882751a043839b7b481
signed_date_time=2013-07-11T15:16:54Z
signature=WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
bill_to_forename=Joe
bill_to_surname=Smith
[email protected]
bill_to_address_line1=1 My Apartment
bill_to_address_state=CA
bill_to_address_country=US
payment_method=echeck
driver_license_state=NY
driver_license_number=34-78239-396
date_of_birth=19901001
echeck_account_type=c
company_tax_id=123456789
echeck_sec_code=WEB
echeck_account_number=452894100
echeck_routing_number=672302882
41
Chapter 5
42
Chapter 5
Important
Step 2
The amount field is an optional field that indicates the setup fee for
processing recurring payments. To charge this fee, include the amount field
and ensure that the transaction_type field is set to authorization,create_
payment_token or sale,create_payment_token.
Include the following required fields in the request. For detailed descriptions of all request
fields, see page 67.
access_key=a2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p2
profile_id=demoid
transaction_type=authorization,create_payment_token
locale=en
transaction_uuid=fcfc212e92d23be881d1299ef3c3b314
signed_date_time=2013-01-17T10:46:39Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
bill_to_forename=Joe
bill_to_surname=Smith
[email protected]
bill_to_address_line1=1 My Apartment
bill_to_address_state=CA
bill_to_address_country=US
card_type=001
card_number=4111111111111111
card_expiry_date=12-2022
card_cvn=005
recurring_frequency=monthly
recurring_amount=25.00
payment_method=card
43
Chapter 5
Below is the transaction reply. It includes the new payment token value.
transaction_id=3500311655560181552946
decision=ACCEPT
message=Request was processed successfully.
req_access_key=a2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p2
req_profile_id=demoid
req_transaction_uuid=55d895790bc4c8a0f4464f9426ba3b79
req_transaction_type=authorization,create_payment_token
req_reference_number=1350029885978
req_tax_amount=2.50
req_currency=USD
req_locale=en
req_payment_method=card
req_consumer_id=1239874561
req_recurring_frequency=monthly
req_recurring_amount=25.00
req_recurring_start_date=20130125
req_bill_to_forename=Joe
req_bill_to_surname=Smith
[email protected]
req_bill_to_address_line1=1 My Apartment
req_bill_to_address_state=CA
req_bill_to_address_country=US
req_card_number=xxxxxxxxxxxx1111
req_card_type=001
req_card_expiry_date=12-2022
reason_code=100
auth_avs_code=U
auth_avs_code_raw=00
auth_response=0
auth_amount=100.00
auth_time==2012-08-14T134608Z
payment_token=3427075830000181552556
signed_field_names=comma separated list of signed fields
signed_date_time=2012-10-12T08:39:25Z
signature=jMeHnWRKwU3xtT02j2ufRibfFpbdjUSiuWGT9hnNm00=
44
Chapter 5
Important
Step 2
The amount field is an optional field that indicates the setup fee for
processing recurring payments. To charge this fee, include the amount field
and ensure that the transaction_type field is set to authorization,create_
payment_token or sale,create_payment_token.
Include the following fields in the request. For detailed descriptions of all request fields,
see page 67.
access_key=a2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p2
profile_id=demoid
transaction_type=authorization,create_payment_token
locale=en
transaction_uuid=fcfc212e92d23be881d1299ef3c3b314
signed_date_time=2013-01-17T10:46:39Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
bill_to_forename=Joe
bill_to_surname=Smith
[email protected]
bill_to_address_line1=1 My Apartment
bill_to_address_state=CA
bill_to_address_country=US
card_type=001
card_number=4111111111111111
card_expiry_date=12-2022
card_cvn=005
recurring_frequency=monthly
recurring_number_of_installments=6
recurring_amount=25.00
amount=2.50
payment_method=card
45
Chapter 5
Below is the transaction reply. It includes the new payment token value.
transaction_id=3500311655560181552946
decision=ACCEPT
message=Request was processed successfully.
req_access_key=a2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p2
req_profile_id=demoid
req_transaction_uuid=55d895790bc4c8a0f4464f9426ba3b79
req_transaction_type=authorization,create_payment_token
req_reference_number=1350029885978
req_amount=2.5
req_currency=USD
req_locale=en
req_payment_method=card
req_consumer_id=1239874561
req_recurring_frequency=monthly
req_recurring_number_of_installments=6
req_recurring_amount=25.00
req_recurring_start_date=20130125
req_bill_to_forename=Joe
req_bill_to_surname=Smith
[email protected]
req_bill_to_address_line1=1 My Apartment
req_bill_to_address_state=CA
req_bill_to_address_country=US
req_card_number=xxxxxxxxxxxx1111
req_card_type=001
req_card_expiry_date=12-2022
reason_code=100
auth_avs_code=U
auth_avs_code_raw=00
auth_response=0
auth_amount=100.00
auth_time==2012-08-14T134608Z
payment_token=3427075830000181552556
signed_field_names=comma separated list of signed fields
signed_date_time=2012-10-12T08:39:25Z
signature=jMeHnWRKwU3xtT02j2ufRibfFpbdjUSiuWGT9hnNm00=
46
CHAPTER
Include the appropriate endpoint that supports update_payment_token (see page 33).
This transaction type updates the token without processing a transaction.
Or, include the appropriate endpoint that supports authorization,update_payment_
token (updates the token and authorizes the transaction) or sale,update_payment_
token (updates the token and processes the transaction). See page 33.
Step 2
Step 3
To update the billing and card information, include the following fields in the request. For
detailed descriptions of all request fields, see page 67.
access_key=a2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p2
profile_id=demoid
reference_number=1350029885978
payment_token=3427075830000181552556
amount=100.00
currency=USD
payment_method=card
card_type=001
card_number=4111111111111111
card_expiry_date=12-2022
card_cvn=005
bill_to_forename=Joe
bill_to_surname=Smith
[email protected]
bill_to_address_line1=1 My Apartment
bill_to_address_state=CA
bill_to_address_country=US
locale=en
transaction_uuid=fcfc212e92d23be881d1299ef3c3b314
signed_date_time=2013-01-17T10:46:39Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
47
Chapter 6
48
Chapter 6
Include the appropriate endpoint that supports update_payment_token (see page 33).
This transaction type updates the token without processing a transaction.
Or, include the appropriate endpoint that supports sale,update_payment_token (see
page 33). This transaction type updates the token and processes the transaction.
Step 2
To update the billing and echeck information, include the following fields in the request.
For detailed descriptions of all request fields, see page 67.
access_key=e2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p3
profile_id=ECP0003
reference_number=1845864013783060468573616
currency=USD
amount=100.00
locale=en
payment_token=3644783643210170561946
transaction_uuid=fcfc212e92d23be881d1299ef3c3b314
signed_date_time=2013-01-17T10:46:39Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=jMeHnWRKwU3xtT02j2ufRibfFpbdjUSiuWGT9hnNm00=
bill_to_forename=Joe
bill_to_surname=Smith
[email protected]
bill_to_address_line1=1 My Apartment
bill_to_address_state=CA
bill_to_address_country=US
payment_method=echeck
driver_license_state=NY
driver_license_number=34-78239-396
date_of_birth=19901001
echeck_account_type=c
company_tax_id=123456789
echeck_sec_code=WEB
echeck_account_number=452894100
echeck_routing_number=672302882
49
Chapter 6
50
Chapter 6
Include the appropriate endpoint that supports update_payment_token (see page 33).
This transaction type updates the token without processing a transaction.
Or, include the appropriate endpoint that supports authorization,update_payment_
token (updates the token and authorizes the transaction) or sale,update_payment_
token (updates the token and processes the transaction). See page 33.
Step 2
To update the billing and card information, include the following fields in the request. For
detailed descriptions of all request fields, see page 67.
access_key=a2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p2
profile_id=HPA0002
reference_number=1350029885978
payment_token=3427075830000181552556
amount=100.00
currency=USD
locale=en
transaction_uuid=fcfc212e92d23be881d1299ef3c3b314
signed_date_time=2013-01-17T10:46:39Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
payment_method=card
card_type=001
card_number=4111111111111111
card_expiry_date=12-2022
card_cvn=005
bill_to_forename=Joe
bill_to_surname=Smith
[email protected]
bill_to_address_line1=1 My Apartment
bill_to_address_state=CA
bill_to_address_country=US
51
Chapter 6
Below is the transaction reply. It includes the new payment token value.
transaction_id=3500311655560181552946
decision=ACCEPT
message=Request was processed successfully.
req_access_key=a2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p2
req_profile_id=demoid
req_transaction_uuid=55d895790bc4c8a0f4464f9426ba3b79
req_transaction_type=authorization,update_payment_token
req_reference_number=1350029885978
req_tax_amount=2.50
req_currency=USD
req_locale=en
req_payment_method=card
req_consumer_id=1239874561
req_recurring_frequency=monthly
req_recurring_amount=25.00
req_recurring_start_date=20130125
req_bill_to_forename=Joe
req_bill_to_surname=Smith
[email protected]
req_bill_to_address_line1=1 My Apartment
req_bill_to_address_state=CA
req_bill_to_address_country=US
req_card_number=xxxxxxxxxxxx1111
req_card_type=001
req_card_expiry_date=12-2022
reason_code=100
auth_avs_code=U
auth_avs_code_raw=00
auth_response=0
auth_amount=100.00
auth_time==2012-08-14T134608Z
payment_token=6739075830290181556723
signed_field_names=comma separated list of signed fields
signed_date_time=2012-10-12T08:39:25Z
signature=jMeHnWRKwU3xtT02j2ufRibfFpbdjUSiuWGT9hnNm00=
52
Chapter 6
Include the appropriate endpoint that supports update_payment_token (see page 33).
This transaction type updates the token without processing a transaction.
Or, include the appropriate endpoint that supports authorization,update_payment_
token (updates the token and authorizes the transaction) or sale,update_payment_
token (updates the token and processes the transaction). See page 33.
Step 2
To update the billing and card information, include the following fields in the request. For
detailed descriptions of all request fields, see page 67.
access_key=a2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p2
profile_id=HPA0002
reference_number=1350029885978
payment_token=3427075830000181552556
amount=100.00
currency=USD
locale=en
transaction_uuid=fcfc212e92d23be881d1299ef3c3b314
signed_date_time=2013-01-17T10:46:39Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
payment_method=card
card_type=001
card_number=4111111111111111
card_expiry_date=12-2022
card_cvn=005
bill_to_forename=Joe
bill_to_surname=Smith
[email protected]
bill_to_address_line1=1 My Apartment
bill_to_address_state=CA
bill_to_address_country=US
53
Chapter 6
Below is the transaction reply. It includes the new payment token value.
transaction_id=3500311655560181552946
decision=ACCEPT
message=Request was processed successfully.
req_access_key=a2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p2
req_profile_id=demoid
req_transaction_uuid=55d895790bc4c8a0f4464f9426ba3b79
req_transaction_type=authorization,update_payment_token
req_reference_number=1350029885978
req_tax_amount=15.00
req_currency=USD
req_locale=en
req_payment_method=card
req_payment_token_comments=These are my token comments
req_payment_token_title=This is my payment token title
req_consumer_id=1239874561
req_recurring_frequency=monthly
req_recurring_amount=25.00
req_recurring_start_date=20130125
req_recurring_number_of_installments=6
req_bill_to_forename=Joe
req_bill_to_surname=Smith
[email protected]
req_bill_to_address_line1=1 My Apartment
req_bill_to_address_state=CA
req_bill_to_address_country=US
req_card_number=xxxxxxxxxxxx1111
req_card_type=001
req_card_expiry_date=12-2022
reason_code=100
auth_avs_code=U
auth_avs_code_raw=00
auth_response=0
auth_amount=100.00
auth_time==2012-08-14T134608Z
payment_token=6739075830290181556723
signed_field_names=comma separated list of signed fields
signed_date_time=2012-10-12T08:39:25Z
signature=jMeHnWRKwU3xtT02j2ufRibfFpbdjUSiuWGT9hnNm00
54
CHAPTER
Processing On-Demand
Transactions Using a
Payment Token
Include the appropriate endpoint that supports authorization or sale (authorization and
capture combined). See page 33.
Step 2
Include the following required fields in the request. For detailed descriptions of all request
fields, see page 67.
When the payment_token field is included in the request, the card data, and
billing and shipping information are optional.
Note
access_key=a2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p2
profile_id=HPA0002
reference_number=1350029885978
payment_token=3427075830000181552556
transaction_type=authorization
amount=100.00
currency=USD
locale=en
transaction_uuid=fcfc212e92d23be881d1299ef3c3b314
signed_date_time=2013-01-17T10:46:39Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
55
Chapter 7
56
Chapter 7
reason_code=100
auth_avs_code=U
auth_avs_code_raw=00
auth_response=0
auth_amount=100.00
auth_time==2012-08-14T134608Z
payment_token=3427075830000181552556
signed_field_names=comma separated list of signed fields
signed_date_time=2012-10-12T08:39:25Z
signature=jMeHnWRKwU3xtT02j2ufRibfFpbdjUSiuWGT9hnNm00=
Include the appropriate endpoint that supports sale (authorization and capture combined).
See page 33.
Step 2
Include the following required fields in the request. For detailed descriptions of all request
fields, see page 67.
When the payment_token field is included in the request, the billing and
shipping information are optional.
Note
access_key=e2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p3
profile_id=ECP0003
reference_number=1845864013783060468573616
transaction_type=sale
currency=USD
amount=100.00
locale=en
payment_token=3644783643210170561946
transaction_uuid=fcfc212e92d23be881d1299ef3c3b314
signed_date_time=2013-01-17T10:46:39Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=jMeHnWRKwU3xtT02j2ufRibfFpbdjUSiuWGT9hnNm00=
57
Chapter 7
58
Chapter 7
Include the appropriate endpoint that supports authorization or sale (authorization and
capture combined). See page 33.
Step 2
Include the following required fields in the request. For detailed descriptions of all request
fields, see page 67.
When the payment_token field is included in the request, the card data, and
billing and shipping information are optional.
Note
access_key=a2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p2
profile_id=HPA0002
reference_number=1350029885978
payment_token=3427075830000181552556
transaction_type=authorization
amount=100.00
currency=USD
locale=en
transaction_uuid=fcfc212e92d23be881d1299ef3c3b314
signed_date_time=2013-01-17T10:46:39Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
59
Chapter 7
req_amount=100
req_recurring_start_date=20130125
req_bill_to_forename=Joe
req_bill_to_surname=Smith
[email protected]
req_bill_to_address_line1=1 My Apartment
req_bill_to_address_state=CA
req_bill_to_address_country=US
req_card_number=xxxxxxxxxxxx4242
req_card_type=001
req_card_expiry_date=11-2020
reason_code=100
auth_avs_code=U
auth_avs_code_raw=00
auth_response=0
auth_amount=100.00
auth_time==2012-08-14T134608Z
payment_token=3427075830000181552556
signed_field_names=comma separated list of signed fields
signed_date_time=2012-10-12T08:39:25Z
signature=jMeHnWRKwU3xtT02j2ufRibfFpbdjUSiuWGT9hnNm00=
Include the appropriate endpoint that supports authorization or sale (authorization and
capture combined). See page 33.
Step 2
Include the following required fields in the request. For detailed descriptions of all request
fields, see page 67.
When the payment_token field is included in the request, the card data, and
billing and shipping information are optional.
Note
60
Chapter 7
access_key=a2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p2
profile_id=demoid
reference_number=1350029885978
payment_token=3427075830000181552556
transaction_type=authorization
amount=100.00
currency=USD
locale=en
transaction_uuid=fcfc212e92d23be881d1299ef3c3b314
signed_date_time=2013-01-17T10:46:39Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
61
Chapter 7
auth_amount=100.00
auth_time==2012-08-14T134608Z
payment_token=3427075830000181552556
signed_field_names=comma separated list of signed fields
signed_date_time=2012-10-12T08:39:25Z
signature=jMeHnWRKwU3xtT02j2ufRibfFpbdjUSiuWGT9hnNm00=
62
CHAPTER
Important
You must create a profile in both the test and live versions of Secure
Acceptance Silent Order POST. You cannot copy a profile from the test version
to the live version. You must recreate the profile.
Testing Transactions
To test Secure Acceptance Silent Order POST transactions:
Step 1
Step 2
Create a Secure Acceptance Silent Order POST profile. See page 17.
Step 3
Integrate with Secure Acceptance Silent Order POST. See page 32.
Include the test transactions endpoint in your HTML form. See page 33.
Important
Step 4
You may use the following test credit card numbers for transactions:
Credit Card Type
Visa
4111111111111111
MasterCard
5555555555554444
American Express
378282246310005
Discover
6011111111111117
JCB
3566111111111113
Diners Club
38000000000006
6000340000009859
6759180000005546
63
Chapter 8
Step 2
In the left navigation panel, choose Transaction Search > Secure Acceptance Search.
The Secure Acceptance Search page appears. The search options are:
Account suffix
Cardholders surname
Request ID
Step 3
Select the date range for your search. The dates can range from the current day to a
maximum of 6 months past.
Step 4
Select the number of results to be displayed, from 10 to 100 transactions per page.
Step 5
Click Search. The Secure Acceptance Transaction Search Results page appears.
If a transaction has missing or invalid data, it is displayed in the Secure
Acceptance Transaction Search Results page without a request ID link.
Important
Step 6
Click the request ID link of the transaction. The Transaction Search Details page
appears.
64
Chapter 8
Click the magnifying glass icon in the Log column for each transaction. The Secure
Acceptance Transaction Search Details page appears. The search results are:
Summary informationincludes the merchant ID, request ID, profile ID, the
transaction decision, and the message for the transaction.
Request logincludes all the request API fields for the transaction.
Reply logincludes all the reply API fields for the transaction.
65
APPENDIX
API Fields
Alpha
AlphaNumeric
AlphaNumericPunctuation
Amount
ASCIIAlphaNumericPunctuation
Date (a)
MM-YYYY
Date (b)
YYYYMMDD
Date (c)
yyyy-MM-dd HH:mm z
yyyy-MM-dd hh:mm a z
yyyy-MM-dd hh:mma z
Enumerated String
IP
Valid IP address.
2013-09-17T08:17:07Z
Locale
Numeric
0123456789
Phone
(),+-.*#xX1234567890
URL
66
Appendix A
API Fields
Request-Level Fields
Important
bill_to_forename=john
bill_to_surname =doe
signed_field_names=bill_to_forename,bill_to_email,bill_to_surname
For data type definitions and permitted characters, see page 66.
Note
Table 6
Field Name
Description
access_key
Alphanumeric
update_payment_token (R)
Enumerated String
allow_payment_
token_update
String (32)
String (5)
67
Appendix A
Table 6
API Fields
Field Name
Description
amount
create_payment_token (R)
Amount
String (15)
authorization,create_
payment_token (R)
sale,create_payment_token
(R)
update_payment_token (O)
bill_payment
bill_to_address_
city
bill_to_address_
country
bill_to_address_
line1
Enumerated String
String (5)
create_payment_token (R)
AlphaNumericPunctuation
authorization,create_
payment_token (R)
sale,create_payment_token
(R)
update_payment_token (O)
create_payment_token (R)
Alpha
String (2)
authorization,create_
payment_token (R)
sale,create_payment_token
(R)
update_payment_token (O)
create_payment_token (R)
AlphaNumericPunctuation
authorization,create_
payment_token (R)
CyberSource through
VisaNet: String (40)
sale,create_payment_token
(R)
update_payment_token (O)
68
Appendix A
Table 6
API Fields
Field Name
Description
bill_to_address_
line2
AlphaNumericPunctuation
Atos: String (29)
CyberSource through
VisaNet: String (40)
Litle: String (35)
Moneris: String (50)
All other processors:
String (60)
bill_to_address_
postal_code
bill_to_address_
state
create_payment_token (R)
AlphaNumericPunctuation
authorization,create_
payment_token (R)
CyberSource through
VisaNet: String (9)
sale,create_payment_token
(R)
update_payment_token (O)
See description.
AlphaNumericPunctuation
String (2 for U.S. and
Canada, otherwise 60)
bill_to_email
bill_to_forename
AlphaNumericPunctuation
String (40)
create_payment_token (R)
String (255)
authorization,create_
payment_token (R)
sale,create_payment_token
(R)
update_payment_token (O)
create_payment_token (R)
AlphaNumericPunctuation
String (60)
authorization,create_
payment_token (R)
sale,create_payment_token
(R)
update_payment_token (O)
69
Appendix A
Table 6
API Fields
Field Name
Description
bill_to_phone
See description.
Phone
String (15)
String (10) if using
Telecheck for echeck
payments.
card_cvn
create_payment_token (R)
AlphaNumericPunctuation
String (60)
authorization,create_
payment_token (R)
sale,create_payment_token
(R)
update_payment_token (O)
See description.
String (4)
card_number
Numeric
create_payment_token (R)
Date (a)
Format: MM-YYYY
String (7)
authorization,create_
payment_token (R)
sale,create_payment_token
(R)
update_payment_token (O)
Card number.
create_payment_token (R)
Numeric
String (20)
authorization,create_
payment_token (R)
sale,create_payment_token
(R)
update_payment_token (O)
70
Appendix A
Table 6
API Fields
Field Name
Description
card_type
create_payment_token (R)
Enumerated String
String (3)
authorization,create_
payment_token (R)
sale,create_payment_token
(R)
update_payment_token (O)
AlphaNumericPunctuation
create_payment_token (See
description)
String (9)
sale,create_payment_token
(See description)
update_payment_token (See
description)
001: Visa
002: MasterCard
003: American Express
004: Discover
005: Diners Club
71
Appendix A
Table 6
API Fields
Field Name
Description
complete_route
AlphaNumericPunctuation
String (255)
SFO-JFK:JFK-LHR:LHR-CDG.
For a complete list of airport codes,
see IATAs City Code Directory.
In your request, send either the
complete route or the individual
legs (journey_leg#_orig and
journey_leg#_dest). If you send all
the fields, the value of complete_
route takes precedence over that
of the journey_leg# fields.
conditions_
accepted
Possible values:
consumer_id
currency
customer_
cookies_accepted
Enumerated String
String (5)
create_payment_token (O)
AlphaNumericPunctuation
authorization,create_
payment_token (O)
String (50)
sale,create_payment_token
(O)
update_payment_token (O)
create_payment_token (R)
Alpha
String (3)
authorization,create_
payment_token (R)
sale,create_payment_token
(R)
update_payment_token (O)
Enumerated String
String (5)
72
Appendix A
Table 6
API Fields
Field Name
Description
customer_gift_
wrap
Enumerated String
String (5)
customer_ip_
address
IP
String (15)
date_of_birth
Date (b)
String (8)
Enumerated String
debt_indicator
departure_time
String (5)
Date (c)
DateTime (29)
yyyy-MM-dd HH:mm z
(2014-01-20 11:30 GMT)
yyyy-MM-dd hh:mm a z
(2014-01-20 11:30 PM GMT)
yyyy-MM-dd hh:mma z
(2014-01-20 11:30pm GMT)
HH = 24-hour format
hh = 12-hour format
a = am or pm (case insensitive)
z = time zone of the departing flight.
73
Appendix A
Table 6
API Fields
Field Name
Description
device_fingerprint_
id
AlphaNumericPunctuation
String (88)
AlphaNumeric
create_payment_token (See
description)
String (30)
sale,create_payment_token
(See description)
update_payment_token (See
description)
Alpha
create_payment_token (See
description)
String (2)
sale,create_payment_token
(See description)
update_payment_token (See
description)
authorization (See
description)
e_commerce_
indicator
String (13)
Value: install
74
Appendix A
Table 6
API Fields
Field Name
Description
echeck_account_
number
Account number.
sale (R)
Numeric
create_payment_token (R)
sale,create_payment_token
(R)
update_payment_token (O)
sale (R)
Enumerated String
String (1)
echeck_account_
type
echeck_check_
number
echeck_effective_
date
C: checking
create_payment_token (R)
sale,create_payment_token
(R)
update_payment_token (O)
Check number.
Numeric
create_payment_token (See
description)
Integer (8)
sale,create_payment_token
(See description)
update_payment_token (See
description)
sale (O)
Date (b)
sale,create_payment_token
(O)
String (8)
sale (R)
Numeric
create_payment_token (R)
sale,create_payment_token
(R)
update_payment_token (O)
echeck_routing_
number
75
Appendix A
Table 6
API Fields
Field Name
Description
echeck_sec_code
Enumerated String
create_payment_token (See
description)
String (3)
sale,create_payment_token
(See description)
update_payment_token (See
description)
Possible values:
CCD: Corporate cash
disbursementcharge or credit
against a business checking
account. You can use one-time or
recurring CCD transactions to
transfer funds to or from a
corporate entity. A standing
authorization is required for
recurring transactions.
76
Appendix A
Table 6
API Fields
Field Name
Description
ignore_avs
Enumerated String
true
false
String (5)
true
false
Enumerated String
String (5)
Amount (12)
AlphaNumeric (2)
B: Biweekly
M: Monthly
W: Weekly
77
Appendix A
Table 6
API Fields
Field Name
Description
installment_plan_
type
CyberSource Latin
American Processing:
1: Merchant-funded installment
plan
String (1)
CyberSource through
VisaNet:
String (2)
installment_
sequence
Integer (2)
Amount (12)
78
Appendix A
Table 6
API Fields
Field Name
Description
installment_total_
count
Numeric
String (2)
Possible values: 1 to 99
item_#_name
AlphaNumericPunctuation
String (255)
See description.
AlphaNumericPunctuation
String (255)
See description.
Numeric
String (10)
adult_content
coupon
electronic_good
electronic_software
gift_certificate
service
subscription
79
Appendix A
Table 6
API Fields
Field Name
Description
item_#_sku
See description.
AlphaNumericPunctuation
String (255)
adult_content
coupon
electronic_good
electronic_software
gift_certificate
service
subscription
Amount
String (15)
item_#_unit_price
See description.
Amount
String (15)
Alpha
String (3)
80
Appendix A
Table 6
API Fields
Field Name
Description
journey_leg#_orig
Alpha
String (3)
AlphaNumericPunctuation
String (32)
Numeric
Locale
line_item_count
locale
String (2)
String (5)
81
Appendix A
Table 6
API Fields
Field Name
Description
merchant_defined_
data#
AlphaNumericPunctuation
String (100)
82
Appendix A
Table 6
API Fields
Field Name
Description
merchant_secure_
data4
AlphaNumericPunctuation
merchant_secure_
data1
override_
backoffice_post_
url
override_custom_
cancel_page
override_custom_
receipt_page
merchant_secure_
data2
String (2000)
AlphaNumericPunctuation
String (100)
merchant_secure_
data3
URL
String (255)
URL
String (255)
URL
String (255)
Important CyberSource
recommends signing this field.
override_paypal_
order_setup
passenger_email
exclude_authorization: the
paypal order is created but not
authorized.
String (21)
String (255)
passenger_id
passenger_
lastname
String (60)
String (32)
83
Appendix A
Table 6
API Fields
Field Name
Description
passenger_phone
String (15)
passenger_status
passenger_type
payment_method
payment_token
ADT: Adult
CNN: Child
INF: Infant
YTH: Youth
STU: Student
MIL: Military
card
echeck
String (32)
Enumerated String
String (30)
Numeric
authorization,update_
payment_token (R)
String (26)
sale,update_payment_token
(R)
update_payment_token (R)
AlphaNumericPunctuation
String (255)
84
Appendix A
Table 6
API Fields
Field Name
Description
payment_token_
title
AlphaNumericPunctuation
profile_id
String (60)
ASCIIAlphaNumericPunct
uation
String (36)
recurring_amount
recurring_
automatic_renew
recurring_
frequency
monthly
quarterly
annually
create_payment_token (R)
Amount
authorization,create_
payment_token (R)
String (15)
sale,create_payment_token
(R)
update_payment_token (O)
create_payment_token (O)
Enumerated String
authorization,create_
payment_token (O)
String (5)
sale,create_payment_token
(O)
update_payment_token (O)
create_payment_token (R)
Enumerated String
authorization,create_
payment_token (R)
String (20)
sale,create_payment_token
(R)
update_payment_token (O)
85
Appendix A
Table 6
API Fields
Field Name
Description
recurring_number_
of_installments
create_payment_token (R)
Numeric
authorization,create_
payment_token (R)
String (3)
sale,create_payment_token
(R)
update_payment_token (O)
create_payment_token (O)
Date (b)
authorization,create_
payment_token (O)
String (8)
sale,create_payment_token
(O)
update_payment_token (O)
recurring_start_
date
reference_number
156: weekly
130: bi-weekly
65: quad-weekly
60: monthly
24: semi-monthly
20: quarterly
10: semi-annually
5: annually
AlphaNumericPunctuation
Asia, Middle East, and
Africa Gateway: String
(40)
Atos: String (32)
All other processors:
String (50)
returns_accepted
true
false
Enumerated String
String (5)
AlphaNumericPunctuation
ship_to_address_
city
ship_to_address_
country
ship_to_address_
line1
ship_to_address_
line2
String (50)
Alpha
String (2)
AlphaNumericPunctuation
String (60)
AlphaNumericPunctuation
String (60)
86
Appendix A
Table 6
API Fields
Field Name
Description
ship_to_address_
postal_code
AlphaNumericPunctuation
ship_to_address_
state
String (10)
AlphaNumericPunctuation
String (2)
ship_to_forename
ship_to_phone
ship_to_surname
shipping_method
signature
Merchant-generated Base64
signature. This is generated using
the signing method for the access_
key field supplied.
AlphaNumericPunctuation
String (40)
AlphaNumericPunctuation
String (60)
Phone
String (15)
AlphaNumericPunctuation
String (60)
Enumerated String
String (10)
AlphaNumericPunctuation
87
Appendix A
Table 6
API Fields
Field Name
Description
signed_date_time
AlphaNumericPunctuation
Enumerated String
String (20)
Variable
tax_amount
false
String (5)
Amount
String (15)
88
Appendix A
Table 6
API Fields
Field Name
Description
transaction_type
Enumerated String
Unique merchant-generated
identifier. Include with the access_
key field for each transaction. This
identifier must be unique for each
transaction. This field is used to
check for duplicate transaction
attempts.
ASCIIAlphaNumericPunct
uation
transaction_uuid
unsigned_field_
names
authorization
authorization,create_payment_
token
authorization,update_payment_
token
sale
sale,create_payment_token
sale,update_payment_token
create_payment_token
update_payment_token
String (60)
String (50)
AlphaNumericPunctuation
Variable
POSTed to the URL specified in the Transaction or Custom Cancel Response page
(see page 28)
Notification methods are enabled on the Notifications and Customer Response pages of
your Secure Acceptance profile.
To ensure the integrity of the reply fields, a signature is included in the response. This
signature is generated using the same secret_key value that was used to generate the
request signature.
89
Appendix A
API Fields
To verify that the reply fields have not been tampered with, create a signature using the
fields listed in the signed_field_names reply field. This signature must be the same value
that is included in the signature response field. Refer to the receipt page that is included in
the sample scripts (see page 32).
Because CyberSource may add reply fields and reason codes at any time,
proceed as follows:
Important
Note
Parse the reply data according to the names of the fields instead of their
order in the reply. For more information on parsing reply fields, see the
documentation for your scripting language.
The signature that you generate must be the same value that is included in
the signature response field.
Your error handler should use the decision field to determine the
transaction result if it receives a reason code that it does not recognize.
If configured, these API reply fields are sent back to your Merchant POST URL
or email. See page 25. Your error handler should use the decision field to
obtain the transaction result if it receives a reason code that it does not
recognize.
90
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
auth_amount
String (15)
auth_avs_code
String (1)
auth_avs_code_raw
String (10)
auth_card_payroll
String (1)
Possible values:
Y: Yes
N: No
String (1)
Possible values:
Y: Yes
N: No
String (1)
Possible values:
Y: Yes
N: No
91
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
auth_card_regulated
String (1)
Possible values:
String (1)
Possible values:
Y: Yes
N: No
String (7)
auth_cv_result
String (1)
auth_cv_result_raw
String (10)
auth_response
String (10)
auth_time
String (20)
auth_trans_ref_no
String (60)
92
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
bill_trans_ref_no
String (60)
decision
String (7)
ACCEPT
DECLINE
REVIEW
ERROR
CANCEL
echeck_debit_ref_no
String (60)
echeck_debit_submit_time
invalid_fields
Variable
message
String (255)
payer_authentication_cavv
String (50)
payer_authentication_eci
String (3)
Enrollment Service:
Validation Service:
93
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
payer_authentication_enroll_e_
commerce_indicator
String (255)
payer_authentication_pares_status
String (255)
94
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
payer_authentication_proof_xml
String (1024)
String (5)
String (32)
payer_authentication_uci
String (1)
95
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
payer_authentication_validate_e_
commerce_indicator
String (255)
spa_failure: MasterCard
SecureCode failed authentication.
96
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
payer_authentication_validate_
result
String (255)
0: Successful validation.
payer_authentication_xid
String (28)
payment_token
String (26)
97
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
paypal_address_status
String (12)
None
Confirmed
Unconfirmed
paypal_authorization_correlation_id
String (20)
paypal_authorization_transaction_id
String (17)
paypal_customer_email
String (127)
paypal_do_capture_correlation_id
String (20)
paypal_do_capture_transaction_id
String (17)
paypal_ec_get_details_correlation_
id
String (20)
paypal_ec_get_details_request_id
String (26)
paypal_ec_get_details_transaction_
id
String (17)
paypal_ec_order_setup_
correlation_id
String (20)
paypal_ec_order_setup_
transaction_id
String (17)
paypal_ec_set_request_id
String (26)
paypal_fee_amount
String (9)
paypal_order_request_id
String (26)
paypal_payer_id
Alphanumeric
String (13)
98
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
paypal_payer_status
String (10)
verified
unverified
99
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
paypal_pending_reason
String (14)
100
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
paypal_pending_status
String (20)
Canceled-Reversal: PayPal
canceled the reversal, which
happens when you win a dispute
and the funds for the reversal are
returned to you.
None: No status.
ReasonCode
101
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
paypal_protection_eligibility
String (17)
paypal_protection_eligibility_type
UnauthorizedPaymentEligible: You
are protected by the PayPal Seller
Protection Policy for unauthorized
payment.
String (32)
String (26)
paypal_token
String (20)
102
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
paypal_transaction_type
String (16)
String (5)
req_access_key
String (32)
req_amount
String (15)
req_bill_payment
String (1)
req_bill_to_address_city
String (50)
req_bill_to_address_country
String (2)
req_bill_to_address_line1
String (60)
req_bill_to_address_line2
String (60)
req_bill_to_address_postal_code
String (10)
String (2 for
U.S. and
Canada,
otherwise 60)
String (40)
req_bill_to_email
String (255)
req_bill_to_forename
String (60)
req_bill_to_phone
String (15)
req_bill_to_surname
String (60)
req_card_expiry_date
String (7)
req_card_number
String (20)
103
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
req_card_type
Type of card.
String (3)
req_company_tax_id
String (9)
req_complete_route
String (255)
SFO-JFK:JFK-LHR:LHR-CDG.
For a complete list of airport codes,
see IATAs City Code Directory.
In your request, send either the
complete route field or the individual
legs (journey_leg#_orig and
journey_leg#_dest). If you send all
the fields, the value of complete_
route takes precedence over that of
the journey_leg# fields.
req_consumer_id
String (50)
req_currency
String (3)
req_customer_cookies_accepted
String (5)
req_customer_gift_wrap
req_customer_ip_address
req_date_of_birth
String (5)
String (8)
104
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
req_debt_indicator
String (5)
req_departure_time
String (29)
yyyy-MM-dd HH:mm z
yyyy-MM-dd hh:mm a z
yyyy-MM-dd hh:mma z
HH = 24-hour format
hh = 12-hour format
a = am or pm (case insensitive)
z = time zone of the departing flight.
req_device_fingerprint_id
String (88)
String (30)
req_driver_license_state
String (2)
105
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
req_e_commerce_indicator
String (13)
Value: install
Non-negative
integer (17)
req_echeck_account_type
String (1)
C: checking
req_echeck_check_number
Check number.
Integer (8)
req_echeck_routing_number
Non-negative
integer (9)
req_echeck_sec_code
String (3)
req_ignore_avs
req_ignore_cvn
req_installment_total_amount
CCD
PPD
TEL
WEB
true
false
true
false
String (5)
String (5)
Amount (12)
106
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
req_installment_total_count
Numeric
String (2)
Possible values: 1 to 99
String (255)
req_item_#_description
String (255)
req_item_#_name
String (255)
req_item_#_quantity
String (10)
req_item_#_sku
String (255)
req_item_#_tax_amount
String (15)
req_item_#_unit_price
String (15)
req_journey_leg#_dest
String (3)
107
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
req_journey_leg#_orig
String (3)
String (32)
req_line_item_count
String (2)
req_locale
String (5)
108
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
req_merchant_defined_data#
String (100)
String (100)
109
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
req_merchant_secure_data4
String (2000)
req_override_backoffice_post_url
URL (255)
req_override_custom_cancel_page
URL (255)
req_override_custom_receipt_page
URL (255)
req_payment_method
String (30)
req_payment_token
card
echeck
String (26)
String (255)
req_payment_token_title
String (60)
req_profile_id
String (36)
req_recurring_amount
String (15)
req_recurring_automatic_renew
Enumerated
String
req_recurring_frequency
String (5)
String (20)
110
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
req_recurring_number_of_
installments
String (3)
req_recurring_start_date
String (8)
req_reference_number
String (50)
req_returns_accepted
String (5)
true
false
req_ship_to_address_city
String (50)
req_ship_to_address_country
String (2)
req_ship_to_address_line1
String (60)
req_ship_to_address_line2
String (60)
req_ship_to_address_postal_code
String (10)
req_ship_to_address_state
String (2)
req_ship_to_company_name
String (40)
req_ship_to_forename
String (60)
req_ship_to_phone
String (15)
req_ship_to_surname
String (60)
111
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
req_shipping_method
String (10)
req_skip_decision_manager
true
false
String (5)
req_tax_amount
String (15)
req_transaction_type
String (60)
req_transaction_uuid
Unique merchant-generated
identifier.
String (50)
Variable
service_fee_amount
String (15)
service_fee_return_url
signature
String (44)
signed_date_time
String (20)
2011-12-31T11:59:59Z
112
Appendix A
Table 7
API Fields
Field Name
Description
Data Type
and Length
signed_field_names
Variable
transaction_id
String (26)
Reason Codes
The reasonCode field contains additional data regarding the decision response of the
transaction. Depending on the decision of a transaction request, CyberSources default
receipt page or your receipt page is displayed to the customer. Both you and your
customer may also receive an email receipt. See "Configuring Notifications," page 25.
Table 8
Reason Codes
Reason
Code
Description
100
Successful transaction.
102
104
The access_key and transaction_uuid fields for this authorization request match
the access_key and transaction_uuid fields of another authorization request that
you sent within the past 15 minutes.
Possible action: resend the request with a unique access_key field and
transaction_uuid field.
110
150
151
The request was received but there was a server timeout. This error does not
include timeouts between the client and the server.
Possible action: wait a few minutes and resend the request.
152
113
Appendix A
Table 8
API Fields
Reason
Code
Description
200
The authorization request was approved by the issuing bank but declined by
CyberSource because it did not pass the Address Verification System (AVS)
check.
Possible action: you can capture the authorization, but consider reviewing the
order for fraud.
201
The issuing bank has questions about the request. You do not receive an
authorization code programmatically, but you might receive one verbally by calling
the processor.
Possible action: call your processor to possibly receive a verbal authorization. For
contact phone numbers, refer to your merchant bank information.
202
Expired card. You might also receive this value if the expiration date you provided
does not match the date the issuing bank has on file.
Possible action: request a different card or other form of payment.
203
General decline of the card. No other information was provided by the issuing
bank.
Possible action: request a different card or other form of payment.
204
205
207
208
210
211
Invalid CVN.
Possible action: request a different card or other form of payment.
221
222
Account frozen.
230
The authorization request was approved by the issuing bank but declined by
CyberSource because it did not pass the CVN check.
Possible action: you can capture the authorization, but consider reviewing the
order for the possibility of fraud.
231
114
Appendix A
Table 8
API Fields
Reason
Code
Description
232
233
234
236
Processor failure.
Possible action: wait a few minutes and resend the request.
240
The card type sent is invalid or does not correlate with the credit card number.
Possible action: confirm that the card type correlates with the credit card number
specified in the request; then resend the request.
475
476
520
The authorization request was approved by the issuing bank but declined by
CyberSource based on your Decision Manager settings.
Possible action: review the authorization request.
115
Appendix A
API Fields
Types of Notifications
Table 9
Types of Notifications
Decision
Description
Type of Notification
ACCEPT
Successful transaction.
520.
REVIEW
DECLINE
ERROR
If the retry limit is set to 0, the customer receives the decline message, Your order was declined. Please verify
your information. before the merchant receives it. The decline message relates to either the processor
declining the transaction or a payment processing error, or the customer entered their 3D Secure credentials
incorrectly.
AVS Codes
An issuing bank uses the AVS code to confirm that your customer is providing the correct
billing address. If the customer provides incorrect information, the transaction might be
fraudulent. The international and U.S. domestic Address Verification Service (AVS) codes
are the Visa standard AVS codes, except for codes 1 and 2, which are CyberSource AVS
codes. The standard AVS return codes for other types of credit cards (including American
Express cards) are mapped to the Visa standard codes. You receive the code in the auth_
avs_code reply field. See "API Reply Fields," page 89.
116
Appendix A
Important
API Fields
When you populate billing street address 1 and billing street address 2,
CyberSource through VisaNet concatenates the two values. If the
concatenated value exceeds 40 characters, CyberSource through VisaNet
truncates the value at 40 characters before sending it to Visa and the issuing
bank. Truncating this value affects AVS results and therefore might impact risk
decisions and chargebacks.
Code
Response
Description
Partial match
No match
D&M
Match
No match
Partial match
Code
Response
Description
Partial match
Partial match
No match
D&M
Match
Invalid
AVS data is invalid or AVS is not allowed for this card type.
Partial match
Card members name does not match, but billing postal code
matches. Returned only for the American Express card type.
Not supported.
Partial match
Card members name does not match, but street address and
postal code match. Returned only for the American Express
card type.
No match
117
Appendix A
Table 11
API Fields
Code
Response
Description
Match
Partial match
Partial match
Card members name and billing postal code match, but billing
address does not match. Returned only for the American
Express card type.
Match
No match
Partial match
Partial match
Match
System unavailable
System unavailable.
Not supported
Partial match
System unavailable
Match
Partial match
Match
Match
Partial match
Street address does not match, but 5-digit postal code matches.
118
Appendix A
Table 11
API Fields
Code
Response
Description
Not supported
Unrecognized
Match
No match
CVN Codes
Table 12
CVN Codes
Code
Description
The CVN was not processed by the processor for an unspecified reason.
The CVN is on the card but was not included in the request.
An unrecognized result code was returned by the processor for the card
verification response.
119
APPENDIX
iFrame Implementation
Important
Clickjacking Prevention
Clickjacking (also known as user-interface redress attack and iframe overlay) is used by
attackers to trick users into clicking on a transparent layer (with malicious code) above
legitimate buttons or clickable content for a site. To prevent clickjacking, you must prevent
third-party sites from including your web site within an iFrame.
While no security remediation can prevent every clickjacking, these are the minimum
measures you must use for modern web browsers:
Provide frame-busting scripts to ensure your page is always the top level window or
disabling code for older browsers that do not support X-FRAME_OPTIONS.
You are required to implement the recommended prevention techniques in your web site.
See the OWASP clickjacking page and the Cross-site scripting page for current
information.
120
Appendix B
iFrame Implementation
Web application protections for Cross-site Scripting (XSS), Cross-site Request Forgery
(CSRF), etc. must also be incorporated.
For XSS protection, you need to implement comprehensive input validation and the
OWASP recommended security encoding library to do output encoding on your
website.
For CSRF protection, you are strongly encouraged to use a synchronized token
pattern. This measure requires generating a randomized token associated with the
user session. The token will be inserted whenever a HTTP request is sent to the
server. Your server application will verify that the token from the request is the same
as the one associated with the user session.
121
The 'locale' field in Secure Acceptance transactions is crucial for determining the language used for customer-facing content. This field enhances the user experience by aligning the transaction process with the customer's language preferences, thus facilitating smoother communication and reducing the potential for errors during the transaction. It is also a required field in the Secure Acceptance application to specify and display local language content, supporting various languages with specific locale codes . By including the locale field, merchants can offer personalized experiences tailored to different geographic locations, ensuring the transaction page is presented in the customer's preferred language .
To enable automatic renewal of payment schedules for subscriptions within Secure Acceptance, the 'recurring_automatic_renew' field must be set to 'true'. This option allows the payment schedule to renew automatically without the need for manual intervention. Additionally, the subscription must be set as a recurring type, where this field is employed (e.g., 'create_payment_token', 'authorization,create_payment_token', 'sale,create_payment_token', 'update_payment_token').
Secure Acceptance ensures the security and integrity of transaction data during POST requests by using a combination of HTTPS for secure data transmission and HMAC-SHA256 signature method for request and response authentication. During the transaction, the security script signs the request fields using the secret key, and generates a signature with HMAC-SHA256, which is compared to a corresponding signature on the Secure Acceptance server, thus validating data integrity and authenticity . Additionally, the data is transmitted directly from the customer's browser to CyberSource servers, ensuring that sensitive data does not pass through the merchant's servers, thereby reducing the risk of data exposure .
To create a payment token for installment payments using Secure Acceptance, start by including the appropriate endpoint that supports either `authorization,create_payment_token` or `sale,create_payment_token` . Then include the necessary request fields such as `access_key`, `profile_id`, `transaction_type`, `locale`, `transaction_uuid`, and the signed details including `signed_date_time` and `signature` . Specify card details such as `card_type`, `card_number`, `card_expiry_date`, and `card_cvn` . Also include billing information such as `bill_to_forename`, `bill_to_surname`, `bill_to_email`, `bill_to_address_line1`, `bill_to_address_state`, and `bill_to_address_country` . Define the installment specifics with fields like `recurring_frequency`, `recurring_number_of_installments`, `recurring_amount`, and optionally, `amount` to indicate any setup fee . The response will include a new payment token that can be used for subsequent transactions .
When setting up recurring payments, it's crucial to consider both the frequency and the total number of installments. The frequency can be specified as weekly, bi-weekly, quad-weekly, monthly, semi-monthly, quarterly, semi-annually, or annually. Each frequency type has a maximum number of allowable installments, such as 156 for weekly or 5 for annually. These parameters must be chosen to align with the customer's payment capability and the service's financial requirements, ensuring feasible and consistent payment cycles .
Signing all request fields in Secure Acceptance transactions ensures the integrity of the data and prevents tampering. This process uses a security key to generate a signature, creating a secure environment for payment processing . Certain fields are not signed because they are not sensitive to tampering, thus balancing security needs with practical requirements for transaction processing . Including unsigned fields like card number and expiry details separately is essential as these details go straight from the customer's browser to CyberSource, bypassing the merchant's server and minimizing security risks .
The use of 'consumer_id' is not explicitly detailed in the provided sources. However, it can be understood that identifiers like payment tokens are key in managing subscriptions. Payment tokens, often referred to as subscription IDs, securely store card information and allow the retrieval of associated billing and shipping details, ensuring precise subscription management without handling sensitive card details directly. This aids in maintaining security compliance and managing subscription billing effectively . Furthermore, merchant-defined data fields are linked with the payment token, facilitating subsequent token-based transactions, which can improve subscription management .
To update payment token details for a credit card customer in Secure Acceptance, follow these steps: 1. Include the appropriate endpoint that supports `update_payment_token` or `authorization,update_payment_token` to update the token without or with transaction processing, respectively . 2. Include the `allow_payment_token_update` field set to true in your request . 3. Update the billing and card information by including fields such as `access_key`, `profile_id`, `reference_number`, `payment_token`, `amount`, `currency`, `payment_method`, `card_type`, `card_number`, `card_expiry_date`, `card_cvn`, and billing details like `bill_to_forename`, `bill_to_surname`, `bill_to_email`, `bill_to_address_line1`, `bill_to_address_state`, and `bill_to_address_country` in the request . 4. After making the token update request, validate the transaction response to ensure the update was processed successfully .
The shipping method field is optional when specifying the method of shipment for a product. Possible values for this field include 'sameday', 'oneday', 'twoday', 'threeday', 'lowcost', 'pickup', 'other', and 'none' .
The 'reason_code' in a transaction reply within Secure Acceptance contains additional data regarding the decision response of the transaction. It provides specific numeric values that indicate the outcome of various stages in the transaction process, such as successful transactions, invalid data fields, system failures, or issues like declined cards due to expired status or insufficient funds. Handling the 'reason_code' is essential for understanding the transaction's status and determining necessary actions, such as resubmitting requests or handling declines appropriately .