CyberSource Storefront Reference Architecture LINK Cartridge 3DS2
CyberSource Storefront Reference Architecture LINK Cartridge 3DS2
1
Table of Contents
1. CyberSource Cartridge Overview....................................................................................................................2
2. Installation Guide.............................................................................................................................................2
3. Payer Authentication.......................................................................................................................................2
4. Change Logs....................................................................................................................................................5
5. Support French Processor................................................................................................................................9
1) A core cartridge (int_cybersource) that contains core API integrations, this includes:
i) The building and handling of API requests,
ii) Parsing responses into objects usable by the storefront.
3) From Version 18.1 and higher of the CyberSource cartridge package adds a fourth cartridge
(int_cybersource_sfra/ LINK_cybersource). This combines a modified version of the core code that
exists in the int_cybersource, along with the necessary hooks, extensions, and wrappers to connect this
code to the SFRA storefront. When integrating CyberSource with SFRA, you should only upload the
LINK_cybersource cartridge to your workspace and storefront. The remaining three cartridges are not
utilized in this integration and can be ignored. The following pages describe the high-level architecture
of the SFRA CS Architecture, along with details regarding specific Integrations.
2. Installation Guide
Refer Cartridge Integration guide (Cybersource Cartridge Integration SFRA vxx_x_x.docx) included in
the cartridge for the detail steps to install the cartridge.
3. Payer Authentication
Integration Overview
2
The CyberSource LINK Cartridge 19.3.0 provides support for the latest 3D Secure 2.x specification.
Upgrading your Payer Authentication integration from the legacy 3D Secure 1.0 specification to 2.x will
allow for better authentication rates from issuers and meet PSD2 regulatory requirements for Strong
Customer Authentication (SCA) in Europe.
The following is a high-level architectural diagram of how the Payer Authentication integration works:
3
Implementation for upgrade to 3DS2.x
To enable Payer Authentication services on SFRA, ensure you have followed all steps in the "
Cybersource Cartridge Integration SFRA vXX_X_X" guide.
Prerequisite Please contact your Cybersource Representative to sign up and receive your Payer
Authentication credentials.
Step 3. On the same page, select 'Credit/Debit cards' and check the payer authentication checkbox on
any credit card types you want to support Payer Authentication.
4
Step 4. Go to 'Merchant Tools > Custom Preferences > CyberSource Core in Business Manager, fill
following Preferences.
Step 5. Go to 'Merchant Tools > Custom Preferences > CruiseCredentials in Business Manager, fill
following Preferences.
4. Change Logs
6
int_cybersource_sfra/cartridges/LINK_cybersource/
A cartridge/scripts/common/FindDeviceAgent.js script file added to return device type
1. getPartnerSolutionID changed to return
new one
2. methods added to get custompreference
values required for creating JWT Token
3. addPayerAuthEnrollInfo method modified
to add extra payerAuthEnrollService input
parameters
referenceID,mobilePhone,transactionMode.
4. addPayerAuthValidateInfo method
modified to add extra
payerAuthValidateService input parameter
authenticationTransactionID.
5. addPayerAuthReplyInfo method modified
to add paSpecificationVersion ,
directoryServerTransactionID input
parameters to ccAuthService request.
6. getTransactionMode method added to
int_cybersource_sfra/cartridges/LINK_cybersource/ return transactionmode value based on
M cartridge/scripts/cybersource/libCybersource.js device type.
1. CCAuthRequest method modified to pass
missing parameters required for
ccAuthService to addPayerAuthReplyInfo
method.
2. PayerAuthEnrollCheck modified to pass
phone number required for
payerauthenrollservice to
addPayerAuthEnrollInfo method and new
output parameters from
payerAuthEnrollReply
(authenticationTransactionID,specificationVer
sion,directoryServerTransactionID,CAVV,UCA
FAuthenticationData) response are set to
responseObject.
3. In PayerAuthValidation method, null check
is added for PaRes value and new output
parameters from payerAuthValidateReply
response
int_cybersource_sfra/cartridges/LINK_cybersource/ (specificationVersion,directoryServerTransacti
M cartridge/scripts/façade/CardFacade.ds onID) are set to responseObject.
addOrUpdateToken method added to call
addorupdatetoken service which is inluded in
int_cybersource_sfra/cartridges/LINK_cybersource/ CardResponse method replacing existing code
M cartridge/scripts/helper/CardHelper.js which calls addorupdatetoken service
M int_cybersource_sfra/cartridges/LINK_cybersource/ methods added to get transaction mode and
cartridge/scripts/helper/CommonHelper.js payment class added to submit-order button
7
in review page
int_cybersource_sfra/cartridges/LINK_cybersource/ SilentPostAuthorize method added to
cartridge/scripts/hooks/payment/processor/ cybersource_credit payment processor for
M cybersource_credit.js Authorization of the cards.
In SilentPostResponse method 3DS updates
int_cybersource_sfra/cartridges/LINK_cybersource/ are added which includes setting orderNo to
cartridge/scripts/secureacceptance/adapter/ session.privacy.orderId and redirection to
M SecureAcceptanceAdapter.js CheckoutServices-InitPayerAuth service.
1. In CreateRequestData method
payment_token is added to
signed_field_names.
2. In AuthorizeCreditCard method,
authenticationTransactionID from payer
enroll service
int_cybersource_sfra/cartridges/LINK_cybersource/ session.privacy.process3DRequestParent set
cartridge/scripts/secureacceptance/helper/ to true are forwarded for 3DS 2.0
M SecureAcceptnaceHelper.js Redirection .
1. In PayerAuthEnrollCCAuthRequest method
authenticationTransactionID from
payerAuthEnrollReply response is set to
responseObject required for cardinal script
continue function and transaction mode,
phone number are passed to
int_cybersource_sfra/cartridges/LINK_cybersource/ addPayerAuthEnrollInfo method.
cartridge/scripts/visacheckout/façade/ 2. Null check added for PaRes value in
M VisaCheckoutFacade.js PayerAuthValidationCCAuthRequest method.
authenticationTransactionID from
payerAuthEnrollservice is set to
int_cybersource_sfra/cartridges/LINK_cybersource/ session.privacy.authenticationTransactionID
cartridge/scripts/visacheckout/helper/ which is sent to cardinal commerce script for
M VisaCheckoutHelper.js initialization.
int_cybersource_sfra/cartridges/LINK_cybersource/
M cartridge/scripts/Cybersource.js empty check added for PAXID
int_cybersource_sfra/cartridges/LINK_cybersource/
cartridge/static/default/custom/js/cybersource- added onclick event listeners for all the
M custom.js payments configured to place an order.
int_cybersource_sfra/cartridges/LINK_cybersource/ changes done in client/default/js/checkout.js
M cartridge/static/default/js/checkout.js are reflected in this file after npm build
This isml contains script and required html
dom elements and cardinal events
int_cybersource_sfra/cartridges/LINK_cybersource/ configured for initialising the cardinal script
cartridge/templates/default/cart/ and cardinal continue function to start a
A cardinalpayerauthentication.isml transaction.
int_cybersource_sfra/cartridges/LINK_cybersource/
cartridge/templates/default/checkout/billing/
M paymentOptions/creditCardTab.isml empty line deleted
8
adding class to submit-order button based on
int_cybersource_sfra/cartridges/LINK_cybersource/ the payment choosen and removed existing
M cartridge/templates/default/checkout/checkout.isml class place-order
int_cybersource_sfra/cartridges/LINK_cybersource/ This isml contains script and required html
cartridge/templates/default/payerauthentication/ dom elements and cardinal events
A songbird.isml configured for initialising the cardinal script.
int_cybersource_sfra/cartridges/LINK_cybersource/
cartridge/webreferences/ wsdl properties modified for updating the
M CyberSourceTransaction.wsdl cybersource endpoint.
int_cybersource_sfra/cartridges/LINK_cybersource/
cartridge/webreferences/ new XSD file for updated cybersource
A CyberSourceTransaction_1.155.xsd endpoint
A configuration/PayerAuth-Meta.xml