PDF - MasterCard Developer Zone

Transcription

PDF - MasterCard Developer Zone
™
MasterPass Service Provider Onboarding & Integration
Guide—File- and API-Based Merchant Onboarding
MASTERPASS™ SERVICE PROVIDER
ONBOARDING & INTEGRATION GUIDE—FILEAND API-BASED MERCHANT ONBOARDING
VERSION 6.5, AS OF 25 JUNE 2015
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Notices
Proprietary Rights
The information contained in this document is proprietary and confidential to MasterCard International
Incorporated, one or more of its affiliated entities (collectively “MasterCard”), or both. This material may not
be duplicated, published, or disclosed, in whole or in part, without the prior written permission of
MasterCard.
Trademarks
Trademark notices and symbols used in this document reflect the registration status of MasterCard
trademarks in the United States. Please consult with the Customer Operations Services team or the
MasterCard Law Department for the registration status of particular product, program, or service names
outside the United States. All third-party product and service names are trademarks or registered
trademarks of their respective owners.
Translation
A translation of any MasterCard manual, bulletin, release, or other MasterCard document into a language
other than English is intended solely as a convenience to MasterCard members and other customers.
MasterCard provides any translated document to its members and other customers “AS IS” and makes no
representations or warranties of any kind with respect to the translated document, including, but not limited
to, its accuracy or reliability. In no event shall MasterCard be liable for any damages resulting from
members’ and other customers’ reliance on any translated document. The English version of any
MasterCard document will take precedence over any translated version in any legal proceeding.
Content Disclaimer
No assurances are given that the information provided herein is error-free. You acknowledge and agree that
inaccuracies and inconsistencies may be present. The information is provided to you on an "AS IS" basis for
use at your own risk. MasterCard will not be responsible for any action you take as a result of this document,
or any inaccuracies, inconsistencies, formatting errors, or omissions.
Publication Code
MWMI
2
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Table of Contents
Notices ........................................................................................................................................................... 2
Proprietary Rights ......................................................................................................................................... 2
Trademarks .................................................................................................................................................... 2
Translation ..................................................................................................................................................... 2
Content Disclaimer........................................................................................................................................ 2
Publication Code ........................................................................................................................................... 2
Document Version Notes.............................................................................................................................. 6
Overview ........................................................................................................................................................ 9
MasterPass File-Based Onboarding ............................................................................................................ 9
MasterPass API-Based Onboarding ............................................................................................................ 9
How does MasterPass work? ....................................................................................................................... 9
MasterPass User Interface ........................................................................................................................... 9
Standard “Lightbox Display” (desktop and laptop) ...................................................................................... 9
Standard Mobile Display (.mobi) ............................................................................................................... 10
Standard Full Screen Display.................................................................................................................... 11
MasterPass Checkout Experiences ........................................................................................................... 12
Overview ...................................................................................................................................................... 12
MasterPass Merchant Standard Checkout Process Flow ........................................................................ 13
Standard Checkout Flow: .......................................................................................................................... 19
Service Provider File- and API-Based Onboarding Model ....................................................................... 20
Incorporating MasterPass into Your Site or App...................................................................................... 20
File-Based Onboarding ............................................................................................................................. 20
API-Based Onboarding ............................................................................................................................. 20
Service Providers NEW to MasterPass should start here: .............................................................................. 20
Service Providers with an EXISTING MasterPass Relationship ........................................................................ 21
Single-Merchant API Service ....................................................................................................................... 22
Open Feed Checkout Project .................................................................................................................... 22
Service Provider File- and API-Based Onboarding—Steps ..................................................................... 24
1. Service Provider Registration and Setup—Service Provider Activity ................................................ 24
Auto Approval ........................................................................................................................................... 26
2. Add Developer to Service Provider Profile—Service Provider Activity.............................................. 27
3. Developer Registration—Developer Activity ........................................................................................ 28
MasterPass Developer Account ................................................................................................................ 28
MasterCard Developer Zone Account ....................................................................................................... 28
Generate MasterCard Developer Zone Developer API Keys .................................................................... 29
Initiate Development ................................................................................................................................. 32
4. Request Sandbox Credentials—Developer Activity ............................................................................. 32
Create Checkout Project ........................................................................................................................... 33
File-Based Onboarding ............................................................................................................................. 34
Generate Merchant Files........................................................................................................................... 35
Validate Merchant Files in the Merchant Portal prior to Upload ................................................................ 35
Validate, Select, Upload, and Review ....................................................................................................... 35
Submit Checkout Project for Sandbox Approval ....................................................................................... 41
5. Review Integration Project & Sandbox Approval—Service Provider Activity.................................... 42
6. Access Sandbox Credentials, Complete Development and Test—Developer Activity ..................... 43
3
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Access Sandbox Details ........................................................................................................................... 43
7. Request Production Credentials—Developer Activity ......................................................................... 43
8. Review Integration Project & Production Approval– Service Provider Activity ................................ 44
9. Deploy application using Production Credentials—Developer Activity ............................................. 45
Follow Steps 10–12 to setup Single-Merchant API................................................................................... 45
10. Set Auto-Approval—Service Provider Activity ................................................................................... 45
11. Use Open Feed to Production Checkout Project—Service Provider Activity .................................. 46
12. Upload Merchant Record to Open Feed Checkout Project—System Activity ................................. 47
Integration Process ..................................................................................................................................... 49
Lightbox Integration.................................................................................................................................... 49
Standard Checkout ..................................................................................................................................... 49
Invoke MasterPass UI (Lightbox) .............................................................................................................. 49
Lightbox parameter details can be found here. ........................................................................................ 50
Standard Checkout Callback..................................................................................................................... 50
a.
Redirect to Merchant Callback URL Example ................................................................................. 50
b.
Checkout Callback method Example .............................................................................................. 50
Service Descriptions:.................................................................................................................................. 50
Request Token Service ............................................................................................................................... 50
Sandbox and Production Endpoints .......................................................................................................... 51
Shopping Cart Service ................................................................................................................................ 51
Sandbox and Production Endpoints .......................................................................................................... 51
Merchant Initialization Service ................................................................................................................... 51
Access Token Service ................................................................................................................................ 52
Sandbox and Production Endpoints .......................................................................................................... 52
Retrieve Payment, Shipping Data, Rewards and 3DS Details ................................................................. 52
Postback Service......................................................................................................................................... 53
Sandbox and Production Endpoints .......................................................................................................... 54
Android and iOS App Integration............................................................................................................... 54
MasterPass - Branding ............................................................................................................................... 56
Displaying “Buy with MasterPass” Button and Acceptance Marks........................................................ 56
MasterPass “Learn More” page ................................................................................................................. 57
Testing ......................................................................................................................................................... 59
MasterPass Sandbox Testing .................................................................................................................... 59
3DS Test Cases ........................................................................................................................................... 60
Q/A Checklist ............................................................................................................................................... 64
Asset Placement ....................................................................................................................................... 64
In-Wallet Experience ................................................................................................................................. 64
Post Wallet Experience ............................................................................................................................. 64
Postback ................................................................................................................................................... 65
General ..................................................................................................................................................... 65
Troubleshooting .......................................................................................................................................... 65
Troubleshooting .......................................................................................................................................... 65
Support ........................................................................................................................................................ 66
Appendix ...................................................................................................................................................... 67
Merchant Initialization Service .................................................................................................................. 70
Shopping Cart Service .............................................................................................................................. 74
Access Token Service .............................................................................................................................. 78
Postback Service ...................................................................................................................................... 90
File-Based Merchant Onboarding .............................................................................................................. 95
4
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Merchant Upload Schema......................................................................................................................... 95
Merchant Upload Schema Details............................................................................................................. 95
Merchant Upload Sample—Create ........................................................................................................... 98
Merchant Upload Sample—Create with Advanced Authentication Settings (3DS) for MasterCard .......... 99
Merchant Upload Sample—Create with Advanced Authentication Settings (3DS) for Visa .................... 100
Merchant Upload Sample—Update ........................................................................................................ 101
Merchant Upload Sample—Update ........................................................................................................ 101
Merchant Upload Sample with Advanced Authentication Settings (3DS)—Update ................................ 102
Merchant Upload Sample—Delete.......................................................................................................... 104
Merchant Upload Sample—Delete.......................................................................................................... 104
Merchant Upload Sample with Advanced Authentication Settings (3DS)—Delete.................................. 104
Merchant Upload Validate Response Schema Details ............................................................................ 106
Merchant Download Schema .................................................................................................................. 106
Merchant Download Schema Details ...................................................................................................... 106
Merchant Download Sample ................................................................................................................... 107
Single-Merchant API Service .................................................................................................................... 109
Single-Merchant API ............................................................................................................................... 109
Single-Merchant API Validation Service ................................................................................................. 112
3DS Status ................................................................................................................................................. 114
Developer Zone Key Renewal Process ................................................................................................... 116
Developer Zone Key Tool Utility .............................................................................................................. 118
3DS Overview ............................................................................................................................................ 119
Service Description ................................................................................................................................. 119
General Overview of Transaction Authentication .................................................................................... 120
Important Merchant Information .............................................................................................................. 121
Validation Error Messages ....................................................................................................................... 121
5
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Document Version Notes
Document
Version
6.5
6.4
6.3
Date
Updates
06/25/2015
Added note to the "Submit Checkout Project for Sandbox Approval" section to indicate
that once a checkout project is submitted/approved, it cannot be deleted. (p 41)
Added note to the "Lightbox Integration" section indicating that those invoking the
Lightbox from an iFrame must include the listed scripts on the parent (outer) frame in
addition to the iFrame source that is invoking MasterPass Lightbox. (p 49)
Updated the Sandbox Consumer Account table in the "MasterPass Sandbox Testing"
section to indicate that the security question and answer are "Pet's Name" and "fido,"
respectively, for the 3DS Test accounts. (p 59)
Replaced the "merchant-initialization—XML Schema Request." (p 71)
Replaced the "URL: https://api.mastercard.com/masterpass/v6/merchant-initialization —
Sample Request." (p 72)
Replace the "Shopping Cart V6—XML Schema." (p 75)
Replaced the "Shopping Cart Request XML with Optional SecondaryOriginUrl Field—
Sample." (p 77)
05/28/2015
Updated the document to reflect new branding for the services. The old BMU API has
been rebranded as “Single-Merchant API.” The file-based BMU has been rebranded
as “File-Based Onboarding.” Collectively, they are named “File- and API-Based
Onboarding,” as reflected in the new title of the document. (throughout document)
Added sample Download and Upload files for Create, Update, and Delete Actions with
Advanced Authentication Settings (3DS). (throughout the document where applicable)
Updated the "Are you registering as a Merchant or Service Provider?" screenshot in the
"Service Provider Registration and Setup—Service Provider Activity" section. (p 22)
Introduced a new section titled "Validate Merchant Files prior to Upload." (p 33)
Added a list of information that merchants should email to
[email protected] if they don't have an implementation
manager assigned to them. (p 66)
Introduced a new section in the appendix titled "Validation Error Messages." (p 97)
05/05/2015
Replaced references to the [email protected] email address.
(throughout document)
Updated the "Standard Checkout User Flow" screenshots to reflect the online interface
rather than the mobile interface. (p 11)
Added statement to the "Service Provider Registration and Setup—Service Provider
Activity" section to indicate that, before registering with MasterPass, the service
provider must request an invitation code from their MasterCard representative. (p 21)
Updated verbiage in the "Service Provider Registration and Setup—Service Provider
Activity" section to clarify that once Auto Approval has been enabled for a developer,
subsequent projects that they submit using the same credentials do not need
business owner approval prior to sandbox and production deployment, and any
changes made to the project are effective immediately. (p 23)
Added verbiage to the "Select, Upload, and Review" subsection of the "Request Sandbox
Credentials—Developer Activity" section to indicate that service providers may submit
corrections to the merchant files they upload under the same checkout project as the
original upload if the checkout project has not already been approved. (p 33)
Updated the note in the "Submit Checkout Project for Sandbox Approval" subsection of
the "Request Sandbox Credentials—Developer Activity" section to clarify that once
Auto Approval has been enabled for a developer, subsequent projects that they
submit using the same credentials do not need business owner approval prior to
sandbox and production deployment, and any changes made to the project are
effective immediately. (p 34)
Added verbiage to the "Shopping Cart Service" section about the new SecondaryOriginUrl
6
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
field. (p 41)
Added instruction to the "Android and iOS App Integration" section to set the
android:targetSdkVersion value in your application to 19 or higher if you are
integrating MasterPass for Android devices. (p 44)
Added verbiage to the note in the "Create Production Key" subsection of the "Developer
Registration—Developer Activity" section indicating that the initial files for the key
creation are needed to renew a production API key. (p 49)
Added item to the "Post Wallet Experience" Q/A checklist indicating that the user must
verify that the card PAN has not been provided to any entity that does not have the
appropriate security in place for storage and transmission of card data (per PCI
guidelines). (p 52)
Added the new SecondaryOriginUrl element to the Merchant-initialization—XML Schema
Request XML sample. (p 58)
Added the new SecondaryOriginUrl element to the "MerchantInitializationRequest XML
Details" table. (p 60)
Added the new SecondaryOriginUrl element to the "Shopping Cart V6-XML Schema". (p
62)
Added the new SecondaryOriginUrl element to the "Shopping Cart V6 XML Details" table.
(p 62)
Added the "Shopping Cart Request XML with Optional SecondaryOriginUrl Field—
Sample" (p 63)
Added a note to the "MerchantTransactions Request—Schema" subsection stating that
BMU service providers may ignore the optional PreCheckoutTransactionId and
ExpressCheckoutIndicator elements. (p 77)
Added a note to the "Merchant Upload Sample—Update" section to indicate that if the
Checkout ID is not included in the Checkout Brand element, then MasterPass will
produce a unique checkout ID for merchant record. (p 86)
6.2
6.1
6.0
03/03/2015
Updated screenshots. (throughout document)
Removed note about the activation delay that service providers might experience
following the initial checkout. (p 15)
Added verbiage about the Auto Approval feature, which merchants may use to approve
checkout projects. (p 40)
Removed caveat stating that JCB is supported in select markets only. (p 49)
Added information about a new email element to the “Merchant Upload Schema Details”
table. (p 77)
12/01/2014
Removed the Connected checkout table (p 10)
Added user flows for Standard, Paired, and Returned Checkout (p 13, 16, 17, 19)
Updated information about unpairing (p 20)
Added further information about OAuth (p 32)
Added note about key renewal requirements (p 40)
Clarified production deployment instructions (p 35)
Added note about new SDK/sample code availability (p 44)
Clarified checkout resource URL information (p 52 & 79)
Added note about liability shift and Advanced Checkout (p 57)
Added sandbox JavaScript URL (p 43)
Updated ECI Values (p 86)
Updated XML schema-MerchantAquirerBrand (p 102)
Added note about currency being required field for 3DS (p 105)
Noted inclusion of JCB as an allowed card type (p 62)
9/19/2014
Added Lightbox UI experience (p 7)
Added New Checkout experience: Connected checkout details (p 13)
Merchant Initialization Service - version V6 (p 48)
Shopping Cart Service - version V6 (p47, 66)
Checkout version - version V6 (p 42, 43, 45, 46)
Precheckout Service - version v6 (p48, 82)
Postback Service - version V6 (p50, 94)
Updated QA Checklist (p 56)
7
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Lightbox Parameters (p59)
SINGLE-MERCHANT API Service (p18, 19, 38, 39, 104)
10/26/2013
Checkout project auto approval (p 12)
3DS “No Authentication” value (p 30)
High resolution image links (p 35)
MasterPass ‘Learn More’ link (p 35)
Checkout version v5 schema and xml (p 51-55)
Updated result file schema (p 69)
Instructions to use Developer Zone Key Tool Utility (p 71)
8
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Overview
This guide is intended for service providers that would like to use one of the following mechanisms:
•
•
MasterPass File-Based Onboarding
MasterPass API-Based Onboarding
MasterPass File-Based Onboarding
Under this onboarding method, service providers upload a file with merchant records through the
MasterPass Merchant and Service Provider portal. Service providers can use this onboarding mechanism to
add merchants, update merchants, or delete merchant records on the MasterPass platform. Upon
successful processing of the file by MasterPass, a results file is available for the service provider to
download.
MasterPass API-Based Onboarding
At this time, a Single-Merchant API is available for merchant onboarding.
This onboarding mechanism may be used to onboard a single merchants to MasterPass in real time. This
API may be used to (a) add an individual merchant to MasterPass, (b) update an individual, existing
MasterPass merchant record, or (c) delete an individual merchant record from MasterPass. MasterPass
then provides a real-time response to the API.
How does MasterPass work?
MasterPass is a service that enables consumers to store, manage and securely share their payment,
shipping and rewards information with the websites and mobile apps with which they transact. MasterPass
™
™
supports checkout on full and mobile websites, as well as in-app purchases on Android and iOS apps.
Shop on
merchant
site
Click Buy with
MasterPass
at checkout
Sign into
MasterPass
-enabled
Wallet
Select card,
shipping
address
and loyalty
Select
shipping
method
Review and
confirm
transaction
MasterPass User Interface
The MasterPass user interface, or Lightbox, floats the MasterPass wallet interface on top of the Merchant’s
web page through illuminated overlays, and backgrounds dimmed to 0.7 opacity. This modern method
allows a consumer to interact with their MasterPass digital wallet without having to leave the merchant’s
page. MasterPass Lightbox is built in a responsive design style allowing it to respond dynamically to the
various screen sizes and orientations.
MasterPass supports the following displays:
•
•
Standard Lightbox display
Standard full screen display
Standard “Lightbox Display” (desktop and laptop)
At full screen, where the browser is set to 100% height and width, the overall Lightbox dimensions are 740
pixels (height) by 700 pixels (width). This is inclusive of the Lightbox header and footer. The interior Lightbox
dimensions are 590 pixels (height) by 680 pixels (width).
9
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
If the height of the browser is reduced so that the entire Lightbox has a height of 740 pixels and the width is
maintained, the content container has the following dimensions: 530 pixels (height) by 680 pixels (width).
If the browser is set to 100% maximum width, but is less than 530 pixels in height (for the content container),
vertical scrolling will appear.
If the browser is set to less than 680 pixels in width, the Lightbox layout will change to accommodate small
screen formats (as in, phones and smaller tablets). There is a 320 pixel width threshold for the content
container.
Standard Mobile Display (.mobi)
Within the .mobi experience, the header and footer are approximately 70 pixels high except for the iPhone
5/5S, which has a header and footer which are approximately 30 pixels high. The interior content area for
mobile devices is content dependent. The initial view of content is based on the overall screen sizes.
Content that does not fit within the initial view of content can be accessed by scrolling. There will not be a
landscape view for mobile; only portrait will be supported.
10
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Standard Full Screen Display
Under certain conditions, such as when the consumer’s browser does not support the Lightbox display
(older browser), or if the merchant has not yet made coding changes to invoke the Lightbox display, or if the
URL requesting the Lightbox display is different from the merchant specified origin URL, then MasterPass
will render the wallet experience in full screen. This full screen wallet experience supports all functionality
and design as that of the Lightbox display.
11
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
MasterPass Checkout Experiences
Overview
The following table depicts the steps of involved in the standard MasterPass checkout experience.
Merchant
Experience
Standard
Checkout
Merchant
identifies
consumer
MasterPass
Merchant
Consumer
Clicks
Signs
into
Wallet
Finalizes
Payment
Method/
Address
Reviews/
Submits
Order
Confirms
Order
Receipt/
Thank
You
Page
Buy with
MasterPass
X
X
X
X
X
12
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
MasterPass Merchant Standard Checkout Process Flow
The flows below depict the Standard MasterPass Checkout flow with the Lightbox MasterPass UI.
Standard Checkout User Flow
1) The consumer clicks the Buy with MasterPass button.
13
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
2) The consumer logs in to their wallet.
14
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
3) The consumer selects their payment method and shipping address.
15
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
4) The consumer reviews and submits the order.
16
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
5) The merchant confirms the order.
17
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
18
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Standard Checkout Flow:
19
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Service Provider File- and API-Based Onboarding Model
Incorporating MasterPass into Your Site or App
Enabling checkout with MasterPass on-behalf of your merchant site or mobile app is straightforward—here
are the required activities for service providers that would like to use the File- or API-based methods for
onboarding merchants.
File-Based Onboarding
Under this onboarding method, service providers upload a file with merchant profile records through the
MasterPass Merchant Portal.
Service Providers can onboard merchants by uploading file(s) containing multiple merchant records. Service
Providers will access the MasterPass Merchant Portal to enroll and provision their merchants to
MasterPass. The File-Based Onboarding method should be used by Service Providers who will be
onboarding a large number of merchants and can generate XML formatted files(s) with the required
information for multiple merchants. This process allows multiple merchant profiles to be set up at the same
time rather than manually creating a MasterPass account for each merchant. No Merchant interaction with
MasterPass is required in this onboarding method. Service Provider developers will create checkout projects
and the Service Provider will approve the checkout projects. Service Provides can also enable [Auto
Approval] (insert hyperlink to auto approve section) for each developer to avoid having to approve each and
every checkout project by that developer.
Service providers can use File-Based Onboarding to add merchants, update merchants, or delete merchant
records on the MasterPass platform. Upon successful processing of the file by MasterPass, a results file is
available for the service provider to download.
API-Based Onboarding
At this time, a Single-Merchant API is available for merchant onboarding.
This Single-Merchant API may be used by Service Providers to onboard merchant records one at a time and
in real time to MasterPass. This method is best suited for Service Providers that want to onboard merchants
in real time from their system to MasterPass without any manual intervention. No Merchant interaction with
MasterPass is required in this onboarding method. By using the API, service provider developers do not
have to create multiple checkout projects for onboarding merchants. An Open Feed checkout project is
available for service providers using the API that can be used for ongoing submission of merchant records to
MasterPass.
This API may be used to add, update, or delete merchants one at a time to MasterPass.
provides a real time response to the API.
MasterPass
Service Providers NEW to MasterPass should start here:
All new service providers that have not onboarded merchants, whether using file- or API-based onboarding,
must complete steps 1–9 that are summarized in the table below.
By completing steps 1–9, you will have created your relationship to MasterPass and onboarded an initial set
of merchants. Detailed instructions for steps 1–9 can be found here, or click on the links within the table
below.
At the successful completion of step 9, you will have a Checkout Project that has been approved for
production and at least one merchant in the MasterPass system. At this point, the Service Provider will be
considered existing in the MasterPass system.
20
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Activity
1. Service Provider
Registration and
Setup
2. Add Developer to
Service Provider
Profile
3. Developer
Registration
Actor
Steps
Service
Provider
Create Service Provider account and create shipping
profile
MasterPass
Merchant Portal
Service
Provider
Add Developer to Service Provider Profile
MasterPass
Merchant Portal
Create MasterPass Developer account
MasterPass
Merchant Portal
Developer
Create Developer Zone account
Generate developer’s sandbox and production keys
Review sample code/SDK and design services
integration
Create Checkout Project
Obtain details for merchant(s) and generate merchant
upload file(s).
4. Request Sandbox
Credentials
5. Review Integration
Project & Approval
Environment
Developer
Service
Provider
Business
Owner
Select merchant file(s), Upload and Review results
from the Download Merchant File.
MasterCard
Developer Zone
MasterPass
Merchant Portal
Service Provider
Engineering
Environment
MasterPass
Merchant Portal
Submit Checkout Project for sandbox approval.
MasterPass
Merchant Portal
Approve sandbox credentials.
MasterPass
Merchant Portal
Obtain checkout IDs for each successfully
provisioned merchant. Map each checkout Id to the
correct merchant.
MasterPass
Merchant Portal
6. Access Sandbox
Credentials
Developer
7. Request Production
Credentials
Developer
Submit Checkout Project for production approval
8. Review Integration
Project & Approval
Service
Provider
Business
Owner
Approve production credentials
MasterPass
Merchant Portal
9. Production Migration
Developer
Update MasterPass API endpoints, Consumer key,
Callback URL and Private Key (p12), if different than
Sandbox.
Service Provider
Production
Environment
Test against MasterPass sandbox environment
Service Provider
Engineering
Environment
MasterPass
Merchant Portal
Service Providers with an EXISTING MasterPass Relationship
Existing Service Providers that are using the File-Based Onboarding method and would like to use the
Single-Merchant API can skip down [here] (insert link Single API section)
Existing Service Providers have two options for adding, updating, and deleting merchants in the MasterPass
system:
•
Use File-Based Onboarding via the MasterPass Merchant and Service Portal User Interface to
upload XML file(s). In other words, you can always choose to simply follow steps 4-9 in the table
above to add, update, or delete merchants.
21
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
•
Use the Single-Merchant API Service to upload the XML file containing a single merchant record,
which is explained in the section below. Follow Steps 10-12 below to setup the Single-Merchant
API Service for your account.
Single-Merchant API Service
Once a service provider has at least one checkout project approved all the way through to production (Step
8) that service provider can then choose to activate the Single-Merchant API Service. Interfacing with the
Single-Merchant API Service will require coding on the Service Provider side.
Service Providers using the API can use the Open Feed Checkout Project to submit merchant records to
MasterPass.
Open Feed Checkout Project
The Open Feed to Production Checkout Project has the advantage over a standard checkout project in
that it allows continuous sumbissions of merchant records for the desired action (add/update/delete) directly
to the production environment.
To create the Open Feed to Production Checkout Project, complete the following steps:
10. Set Auto Approval
11. Use Open Feed to
Production Checkout
Project
12. Send XML to Open
Feed Project
Service
Provider
Business
Owner
Service
Provider
Business
Owner
Developer
Check Enable Auto Approval Checkbox
Check Use Open Feed to Production Checkout
Project (Auto Approval must be enabled, step 10)
Send a single merchant record in XML format via
the Single-Merchant API service using the
Checkout Project ID of the Open Feed Project and
the production consumer key, which can be
obtained from one of the previous production
approved checkout projects on the Merchant
Portal.
XML flows automatically to Approved for
Production, step 9.
MasterPass
Merchant Portal
MasterPass
Merchant Portal
Upload XML via
API
Service Provider
Production
Environment
The following accounts will be created during this onboarding process. Use the following table to record the
account information for future reference.
Account Type
Merchant Portal –
Service Provider
account
Merchant Portal Developer Account(s)
Details
Created by Service Provider business owner. This id should be
used to login at https://masterpass.com/SP/Merchant/Home
Account Info
Userid: __________
Email: ___________
Go here to create Service Provider account, invite developers, create
shipping profiles, approve checkout projects etc.
Created when a Service Provider invites a developer. It’s a system
generated user id. This id should be used to login at
https://masterpass.com/SP/Merchant/Home
Userid: __________
Email: ___________
Go here to create checkout project, upload merchant files, get checkout
22
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
project details etc.
Developer Zone Developer Account(s)
Created by developer and is used for key exchange. This id should be
used to login at https://developer.mastercard.com
Userid: __________
Email: ___________
Go here to perform key exchange, download SDKs and Sample
Application, Integration Guides and to access FAQs, etc.
By the end of the integration, your site or mobile app should be able to:
1. Display the Buy with MasterPass button and the Learn More link at the start of the checkout
experience.
2. Invoke and display the MasterPass Lightbox.
3. Relay MasterPass checkout requests to the MasterPass service.
4. Receive consumer’s billing, shipping address, and rewards data from MasterPass service.
5. Process card, shipping and rewards information using existing process.
Note that your implementation must satisfy all criteria in the Q/A checklist.
23
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Service Provider File- and API-Based Onboarding—Steps
1. Service Provider Registration and Setup—Service Provider Activity
Before beginning this process, request an invitation code from your MasterCard representative; this will
grant you access and allow you to register as a service provider within the merchant portal.
From the MasterPass Merchant Portal, select the country – language from the dropdown and click the
Create an Account button to start the registration process. You will be presented with a modal window, into
which you will enter the invitation code. After entering the invitation code, you will be presented with the
option to select the registration type. Select Service Provider to continue with the registration process as
shown in the screen shots below. If you need to register as a Merchant, please access Merchant Integration
Guide.
Create an Account
Enter Invitation Code
Select Service Provider
24
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
25
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
After your account has been created, select Shipping Locations to manage shipping for your merchants.
You can have multiple shipping profiles that you can use with multiple merchants, or you may set a preferred
shipping profile if most of your merchants use it.
Auto Approval
The Service Provider business owner has an option to Enable Auto Approval of checkout projects. This
feature allows Service Providers to determine if they wish to have a checkpoint/audit step prior to having
merchants setup in sandbox and production or not. Once enabled, subsequent projects submitted by the
developer—using the same credentials—do not need business owner approval prior to sandbox and
production deployment. Any changes made to the project are effective immediately. To enable Auto
Approval, click Account Settings from the top navigation bar and click on the Enable Auto Approval check
box.
26
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
2. Add Developer to Service Provider Profile—Service Provider Activity
The next step is to add developers who will integrate MasterPass into the checkout flow. From the landing
page, you will add developers to the Service Provider profile. These developers will handle the technical
implementation of MasterPass. Click on Manage Setup and add developers to your Service Provider
account. To get started, click the Start This Step button from the MasterPass Setup page.
You will need to indicate who will perform the technical integration. Service Providers who have an internal
or contracted engineering team should select An internal or contracted developer, and provide contact
information for each developer he/she wishes to invite.
27
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
MasterPass will send two separate emails to each newly added developer indicating that he/she has been
invited to handle the technical integration of MasterPass on-behalf of your company. These emails will
contain the username and password to log in to the MasterPass Merchant Portal. Invitation emails sent to
the developer will contain links to the MasterPass integration guides that developers can use to get started
with MasterPass integration.
3. Developer Registration—Developer Activity
Developers invited to integrate MasterPass on behalf of a service provider will manage their integration
activities through two portals:
•
MasterPass Merchant Portal (https://masterpass.com/SP/Merchant/Home)
•
MasterCard Developer Zone (http://developer.mastercard.com)
NOTE: These are two different websites that use different login credentials. If you are a new developer for
MasterPass, you must sign up for a new account on Developer Zone.
MasterPass Developer Account
Developers will use the MasterPass Merchant Portal to request, and access merchant-specific integration
credentials, which will be used when interacting with the MasterPass web services. After the service
provider invites you as a developer, you should have received your MasterPass Developer credentials
in two emails from MasterPass. Follow the instructions in the emails to create your developer account.
You will find links to the MasterPass integration documentation in the invitation emails you receive from
MasterPass and on the landing page once you sign in to your Developer account on the MasterPass
Merchant Portal.
You do not need a Developer Zone account to access and view this documentation.
MasterCard Developer Zone Account
Developers invited to integrate MasterPass on behalf of a service provider will use MasterCard Developer
Zone to view integration documentation and generate developer keys. To create a Developer Zone account,
visit Developer Zone and click Create account. After submitting the form, be sure to activate the account
using the confirmation email.
28
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Generate MasterCard Developer Zone Developer API Keys
After creating your account, you will need to generate two API keys: one for the sandbox environment and
one for the production environment. To make keys easy to distinguish, it’s recommended to prefix sandbox
keys with "SBX_" and production keys with "PRD_".
29
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Create Sandbox Key
To create a Sandbox key, click My Account, then My Dashboard.
On the My Dashboard page, click on the My Keys tab and the Add a Key button.
In order to get an API Key, you need to supply a PEM encoded Certificate Request File. You may use a tool
of your choice, such as "openssl" or Java's "keytool" to generate this CSR, or you may use the CSR
generation tool on the developer zone portal. Click here to see instructions for using CSR generation tool.
Complete the form, select Sandbox for Environment, and click Submit.
30
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
You will have Sandbox Key ID at this point.
Create Production Key
To create a Production API key, return to My Dashboard and click on My Keys. Then click on Add a Key
and make sure you select Production environment. Complete the form and click Submit.
At this point, developers will have a Sandbox Key ID and a Production Key ID, which will be used when
creating a checkout project in the MasterPass Merchant Portal.
31
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
NOTE: Keys expire after one year before which they should be renewed by initiating the Developer Zone
Key Renewal process. The Certificate Request File initially submitted for the key creation will be needed to
renew the key. Notifications at 30, 15, and 1 day prior to key expiration will be sent to the email address
associated with the Developer Zone account.
When the keys expire, the checkout project will not work and the MasterPass transactions will fail.
Therefore the keys need to be renewed prior to expiration.
Initiate Development
At this point, developers should begin developing their own implementation. Sample Applications for C#
.NET, Java, PHP, and Ruby will be made available for download from the Sample Code tab in the Developer
Zone. Contact MasterPass Support if the sample applications are not available in the language you need.
MasterPass follows the OAuth 1.0a specification. Any merchant or Service Provider integrating with
MasterPass must strictly adhere to the OAuth specs for interacting with MasterPass through Open API
Gateway. Failure to implement OAuth correctly may impact your integration and transactions with
MasterPass.
Further information can be found here:
https://developer.mastercard.com/portal/display/api/Authentication
4. Request Sandbox Credentials—Developer Activity
Prior to allowing the developer’s code to interact with the MasterPass the project must be approved by the
Service Provider Business Owner. The developer will make two separate approval requests. The first
request is to grant the developer access to credentials that will enable his/her code to transact with the
MasterPass sandbox environment on-behalf of the merchant. The sandbox environment does not contain
real consumer data. The second is for production credentials, which will enable real transactions.
Developers will use MasterPass Merchant Portal to request, and access merchant-specific integration
credentials, which will be used when interacting with the MasterPass services. The credentials are
requested by submitting a checkout project.
32
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Create Checkout Project
To get started, sign into the MasterPass Merchant Portal. Under Manage Development, click Checkout
Projects → Create New Project, and complete the New Project creation wizard.
Enter the Project Name and Project Description. Enter the sandbox and production Key IDs that were
created from MasterCard Developer Zone.
If you are a Service Provider developer uploading files containing several merchant records, choose the
Bulk Merchant Upload Implementation option in the Create Checkout Project window.
33
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Create Checkout Project
Developer Zone – Production Key ID
Developer Zone – Sandbox Key ID
File-Based Onboarding
Service Providers can associate multiple merchant profiles to a checkout project all at once using a
merchant upload file. The first step in this process is to obtain the merchant upload file template referenced
in the appendix. Service Providers should gather the details for each merchant.
34
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Generate Merchant Files
Once the merchant details are available, developer should create the file(s) to upload. Upload file size
cannot be more than 10 MB. For best results, try not to exceed 1000 merchant records in a file. If you want
to upload more than 1000 merchants, consider creating multiple files to upload at the same time or as part of
a new checkout project.
Validate Merchant Files in the Merchant Portal prior to Upload
This feature enables service providers to optionally check or validate their file containing merchant records
and ensure that it meets the schema and business rules requirements before submitting the file for
processing to MasterPass.
To begin the validation process, click the Validate File button on the Checkout Projects page.
Click Choose File and select a file to validate. Initiate the file validation by clicking Validate Now. Once the
validation is complete, the system will display an error message if the file is invalid. Any schema errors must
be corrected before the file can be submitted for validation against business rules. Once validation is
complete, a success or failure result is displayed in the UI, and details of errors are provided in the results
file.Refer to the “Validation Error Messages” section of the Appendix for a list and descriptions of the
validation error messages. The results of the validation are not stored by MasterPass and, hence, will not
available to service providers when they return. Service providers must use the “download” capability to take
note of the validation results, which can be used to correct any errors in the file.
Once the service provider has corrected the XML errors, validate the file again. If there are no errors in the
file, the system will display a “Validation complete, no errors found” message. There are no limits on the
number of times a file or record can be validated.
The validation feature supports the same file sizes as can be used with File-Based Onboarding.
Validate, Select, Upload, and Review
To verify your file submission for schema and business rules validation before uploading, go to the
Checkout Projects page and click the Validate File button.
35
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Click the Choose File button.
Select the file you want to validate and click the Validate Now button.
36
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
The system will first validate the XML schema of your file. If your file does not meet the XML schema rules,
you will receive an error message (as in the screenshot below) and must repair the error.
If your files meets the XML schema rules, the system will then validate against the business rules. If your file
does not meet the business rules, you will receive an error message (as in the screenshot below) and must
repair the error.
37
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
To see the cause of the validation error, click the Download Result File button.
Once your file meets both the XML schema and business rules, you (a) will receive a result file with an
ErrorText status of “Successful” (as in the following screenshot) and (b) are ready to upload the file to
MasterPass.
38
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Once the merchant files have been generated and the merchant is ready to upload files to MasterPass, click
Upload to select the merchant files and initiate the File-Based Onboarding process.
39
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
40
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
A message will display indicating the processing has finished and the number of records processed—
successes and failures. The service provider account owner will still need to approve the successfully
processed merchants before they will be able to process transactions. You will also get an email when the
file processing is complete.
Once the processing is complete, click Download Result File to view the results of the Upload process. Any
merchant records which fail processing will need to be reviewed, corrected and submitted for processing. A
sample Download Result File is available in the appendix.
Corrections can be uploaded under the same checkout project, provided that the checkout project has not
already been approved via manual or auto approval. To check on the 3DS status of a successfully uploaded
merchant, refer to the "3DS Status" section.
Submit Checkout Project for Sandbox Approval
After creating the checkout project but before submission, the developer may modify previously entered
information. To submit the project for sandbox approval, click Submit. Clicking Submit will kick-off the
Checkout Project Approval Process.
NOTE: Once the checkout project is submitted/approved, it cannot be deleted.
41
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
NOTE: If Auto Approval has been enabled by the merchant or service-provider business owner for a
developer, sandbox and production credentials will be generated at this time and steps 5-8 will be skipped.
Once Auto Approval has been enabled for a developer, subsequent projects that they submit using the
same credentials do not need business owner approval prior to sandbox and production deployment. Any
changes made to the project are effective immediately.
5. Review Integration Project & Sandbox Approval—Service Provider
Activity
NOTE: Skip if Auto Approval is enabled.
After the Developer submits the request for sandbox credentials, the Service Provider Business Owner will
get an email notification. The Service Provider Business Owner will log on to the MasterPass Merchant and
Service Provider Portal, review, and provide approval.
After clicking Approval Requests on the navigation bar, the user will see a list of open requests. The user
will be presented with the option to either Approve or Reject the project. Users can also view processing
results by clicking on ‘Download Result File’ button or download the uploaded file by clicking on
‘Download Merchant File’. If rejected, a reason must be provided, and the developer will be allowed to
modify the entry and resubmit.
Upon approval, the developer will receive an email containing the Consumer Key for the sandbox
environment. The developer will be able to sign into the MasterPass Merchant Portal and access credentials
necessary to develop and test his/her MasterPass implementation in the sandbox environment.
42
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
6. Access Sandbox Credentials, Complete Development and Test—
Developer Activity
NOTE: Skip if Auto Approval is enabled.
Access Sandbox Details
After signing into the portal, the developer will click the Action Required button associated with the entry,
and note the Sandbox Consumer Key. For each successfully uploaded merchant, Developers will obtain the
checkout identifiers from the result file and map to the correct merchant. These will be used in the code to
call MasterPass web services. Please refer to MasterCard Developer Zone for sample code and SDKs
7. Request Production Credentials—Developer Activity
NOTE: Skip if Auto Approval is enabled.
Once the application has been tested against sandbox, the Developer will request the production
credential. This is done by submitting the checkout project created in Step 4 and submitting it again for
approval.
43
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
8. Review Integration Project & Production Approval– Service Provider
Activity
NOTE: Skip if Auto Approval is enabled.
After the Developer submits request for production credentials, the Service Provider Business Owner will get
an email notification. The business owner will log on to the MasterPass Merchant Portal, review and provide
approval (similar to step 5). The user will be presented with the option to either Approve or Reject the
project. Users can also view processing results by clicking on ‘Download Result File’ button. If rejected, a
reason must be provided, and the developer will be allowed to modify the entry and resubmit.
44
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
9. Deploy application using Production Credentials—Developer Activity
Once the application has been approved, the Developer will receive an email containing the production
Consumer Key and will enable the Service Provider platform to transact with the MasterPass Services onbehalf of the Merchant. Prior to production deployment:
-
Ensure that you have implemented the MasterPass button on merchant’s site or app
Your sandbox implementation passes all items in the QA checklist
To move your code to production, update your code with the MasterPass API Production endpoints,
Consumer Key, Checkout Identifier and the private key if different than Sandbox. The last step is to
deploy your code to production. You’re all done!
Follow Steps 10–12 to setup Single-Merchant API
10. Set Auto-Approval—Service Provider Activity
Once the first checkout project has been completely approved for production, the Enable Auto Approval
checkbox will be available in the Account Settings.
The Service Provider business owner has an option to enable auto approval of checkout projects, which
must be done to use the API-Based Onboarding method. This feature allows Service Providers to determine
if they wish to have a checkpoint/audit step prior to having merchants setup in sandbox and production or
not. When auto approval is enabled, the system will automatically approve any submitted merchant profiles
for both Sandbox and Production credentials. This is applicable to all developers associated with the
account, and changes are effective immediately. To enable auto approval, click Account Settings from the
top navigation bar and click on the Enable Auto Approval check box. Click Agree when prompted.
45
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
When the Enable Auto Approval checkbox is checked, the checkbox Use Open Feed to Production
Checkout Project will be available.
11. Use Open Feed to Production Checkout Project—Service Provider
Activity
Service Providers that want to use the Single-Merchant API Service, will need to create the Open Feed to
Production Checkout Project. It is created when the Use Open Feed to Production Checkout Project
checkbox is checked for the first time. To create, click Account Settings from the top navigation bar and
click on Use Open Feed to Production Checkout Project checkbox. To view the newly created Open
Feed to Production project, click Checkout Projects.
46
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
When the Use Open Feed to Production Checkout Project checkbox is unchecked, the Open Feed to
Production project will be hidden in the UI from the user, and any calls made to that project will be rejected.
Checking the Use Open Feed to Production Checkout Project checkbox again will unhide the Open Feed
to Production project.
12. Upload Merchant Record to Open Feed Checkout Project—System
Activity
The Open Feed to Production Project can only be used for onboarding via the API.
NOTE: The Single-Merchant API is limited to a file size of less than 399K (409600 bytes) and must be used
for one merchant record at a time.
The Service Provider system must be designed to send the XML containing details for a single merchant
record, the Checkout Project ID and approved consumer key*, to the Open Feed to Production project
through the Single-Merchant API service call. This will auto-submit and push merchant adds/updates/deletes
directly to Production.” See Appendix for SINGLE-MERCHANT API Upload parameter details.
*If you are a new service provider, then you will first need to get a project approved all the way to
production (steps 1–8 in the Onboarding table) and you can use consumer keys of the first
production approved checkout project. If you are an existing Service provider, that has used the
File-Based Onboarding, you can use the consumer key that associated with any checkout project
approved all the way to production that you have used onboard merchants using the File-Based
Onboarding method
The API call to upload each merchant must be made using a production consumer key and the associated
production developer Key ID credentials. The checkout project ID of the Open feed project needs to be used
in the API request URL.
NOTE: Once MasterPass successfully processes the merchant record, the API will provide a response with
the checkout identifier for the merchant.
Validate Merchant API Service
Service providers may use an API service to verify their submission for schema and business rules
validation before uploading merchant records to MasterPass via the onboarding API.
To begin the validation process via the Validation API service, the developer must call the API and send the
XML containing the merchant record.
•
If there are schema errors errors, the system will indicate that and the errors must be corrected
before the xml can be validated against the business rules. Once validation is complete if there are
47
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
•
•
•
any errors, the API response will indicate that, and if the XML contains no errors the API will
provide a success response.
The results of the validation are not stored by MasterPass and available to service providers when
they return, so they must save the results of the API response on their end which can be used to
correct any errors with their submission.
There are no limits on the number of times the validation API can be called for validating an XML.
The validation API supports the same size of the onboarding API (399 KB) and only one merchant
record may be submitted at a time via the validation API.
The Validation API system will display an error message if the file is invalid.
Refer to the “Validation Error Messages” section of the Appendix for a list and descriptions of the validation
error messages. If the XML file is valid, the Validation API system will send a confirmation response
indicating that the XML file was loaded successfully.
48
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Integration Process
For a step by step guide through integration and illustration of the various calls to MasterPass,
you can download the example of our code available in various languages such as Java, C#,
PHP, and Ruby. You can also access the sample code for correct implementation of signature
base string and exchanges with MasterPass at the following link.
https://developer.mastercard.com/portal/display/api/MasterPass+-+Merchant+Checkout+-+Sample+Code
Lightbox Integration
Lightbox integration is required to launch the MasterPass user interface for consumer wallets. In order to
invoke the Lightbox, merchants will need to include the following scripts on the page they implement the
Buy with MasterPass button:
1. https://www.masterpass.com/lightbox/Switch/assets/js/jquery-1.10.2.min.js
» It is recommended to pull the jQuery file from the public jQuery repository
https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
2. MasterPass Script
NOTE: Those invoking the Lightbox from an iFrame must include the following scripts on the parent
(outer) frame in addition to the iFrame source that is invoking MasterPass Lightbox:
a. Production - https://www.masterpass.com/lightbox/Switch/integration/MasterPass.client.js
b. Sandbox https://sandbox.masterpass.com/lightbox/Switch/integration/MasterPass.client.js
Standard Checkout
The following steps are necessary to integrate a standard MasterPass checkout. For further information,
click on each step of the process.
1.
2.
3.
4.
5.
6.
7.
8.
9.
Request Token Service
Shopping Cart Service
Merchant Initialization Service (Optional based on Shopping Cart parameters.)
Invoke MasterPass UI(Lightbox) for checkout
Standard Callback method or Redirect to callback URL
Access Token Service
Retrieve Payment, Shipping Data, Rewards and 3DS Details
Authorize Payment through payment processor
Postback Service
Invoke MasterPass UI (Lightbox)
Within a script tag the merchant must invoke the checkout method with the required parameters. Here is an
example
<script type="text/javascript" language="Javascript">
MasterPass.client.checkout({
"requestToken":"insert_request_token_here",
"callbackUrl":"http://www.somemerchant.com/checkoutcomplete.htm",
"merchantCheckoutId":"insert_checkout_id_here",
"allowedCardTypes":["master,amex,diners,discover,maestro,visa"],
"version":"v6"
});
49
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
</script>
Required parameters are:
»
»
»
»
»
requestToken—The merchants request token from OpenAPI.
callbackUrl—A URL to redirect the browser to when checkout is complete. Required unless you use
the callback method.
merchantCheckoutId—The merchant’s unique checkout identifier from the MasterPass Merchant
Portal
allowedCardTypes—Card types accepted by merchant
version—checkout version (v6)
Lightbox parameter details can be found here.
Standard Checkout Callback
Once a checkout is completed, MasterPass will return context to the merchant. This can be done via one of
the following options:
a.
b.
A callback URL—MasterPass uses the callback URL (oauth_callback) from the request token call
to direct back to the merchant site when Lightbox is rendered in full screen mode.
A javascript callback method—Use “failureCallback” and “successCallback” to give control back to
the page that initiated the Lightbox without any redirects. These parameters must be set when
invoking MasterPass Lightbox UI.
It is recommended that your code takes care of both scenarios.
a.
Redirect to Merchant Callback URL Example
http://www.somemerchant.com/checkoutcomplete.htm?status=success&checkout_res
ource_url=https%3A%2F%2Fstage.api.mastercard.com%2Fmasterpass%2Fv6%2Fcheckou
t%2F10189977%3Fwallet%3Dphw&oauth_verifier=6c50838e31b7441e6eafa222938545288
9255b13&oauth_token=d6fa60984308aebb6183d44fb9688fb9dc8332dc
b.
Checkout Callback method Example
function onSuccessfulCheckout(data)
{
document.getElementById('oauthToken').value=data.oauth_token;
document.getElementById('oauthVerifer').value=data.oauth_verifier;
document.getElementById('checkoutUrl').value=data.checkout_resource
_url;
}
Service Descriptions:
Request Token Service
This should be executed when a consumer clicks the Buy with MasterPass button.
Request and response parameter details can be found here.
50
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Sandbox and Production Endpoints
» https://sandbox.api.mastercard.com/oauth/consumer/v1/request_token
» https://api.mastercard.com/oauth/consumer/v1/request_token
Shopping Cart Service
Merchants must call the Shopping Cart service before invoking the MasterPass UI for checkout. This
enables shopping cart data to be displayed to users as they proceed through the MasterPass login and
checkout.
Shopping cart request has an optional OriginUrl field, which—if the merchant sets it—will remove the need
to call the merchant initialization service before displaying the Lightbox. Request and response parameter
details can be found here.
Shopping cart request has an optional SecondaryOriginUrl field, which—if the merchant sets it—should
only be used when the Lightbox will be invoked from a frame that’s on a merchant site and when that frame
is of a different domain than that of the merchant site, like for a service provider.
NOTE: The product description needs to be HTML-encoded and has a character limit of 100 characters.
Sandbox and Production Endpoints
» https://sandbox.api.mastercard.com/masterpass/v6/shopping-cart
» https://api.mastercard.com/masterpass/v6/shopping-cart
Merchant Initialization Service
This service is used to secure Lightbox connections between merchant and MasterPass. This service
requires a request token (OAuthToken). This service call should be used when shopping cart service is not
called.
Request and response parameter details can be found here.
51
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
https://sandbox.api.mastercard.com/masterpass/v6/merchant-initialization
https://api.mastercard.com/masterpass/v6/merchant-initialization
Access Token Service
Next step is to exchange a Request token for an Access token from the MasterPass service. You will use
the Request Token (oauth_token) and Verifier (oauth_verifier) from the merchant callback to get an access
token. Request and response parameter details can be found here.
Sandbox and Production Endpoints
» https://sandbox.api.mastercard.com/oauth/consumer/v1/access_token
» https://api.mastercard.com/oauth/consumer/v1/access_token
Retrieve Payment, Shipping Data, Rewards and 3DS Details
Now you will use the Checkout Resource URL request parameter (checkout_resource_url) received from the
callback URL to retrieve consumer’s payment, shipping address, reward and 3DS information from
MasterPass.
The checkout resource url supplied by MasterPass should be decoded and consumed by the
merchant or Service Provider as provided by MasterPass. MasterPass may add or delete parameters
in future.
Example:
Below are two example callback urls with the checkout_resource_url parameter highlighted:
1)
https://AnyMerchant.com/CheckoutCallback?mpstatus=success&checkout_resource_url=https%3A%2F
%2Fapi.mastercard.com%2Fmasterpass%2Fv6%2Fcheckout%2F11318523&oauth_verifier=aa2ff8e8f11
44f45c3b8fdc3d42398913a49e387&oauth_token=b8361ad151af35f71df7b395e083befcaf8192dd
Decoded checkout url:
checkout_resource_url=https://api.mastercard.com/masterpass/v6/checkout/11318523
2)
https://AnyMerchant.com/CheckoutCallback?checkout_resource_url=https%3A%2F%2Fapi.mastercard.
com%2Fmasterpass%2Fv6%2Fcheckout%2F11318500&checkoutId=11318500&oauth_verifier=aa2ff8e
8f1144f45c3b8fdc3d42398913a49e387&oauth_token=b8361ad151af35f71df7b395e083befcaf8192dd
Decoded checkout url:
checkout_resource_url=https://api.mastercard.com/masterpass/v6/checkout/11318500&checkoutId=11318500
Request and response parameter details can be found here.
Please note that MasterPass performs a CVC/CVV check at card enrollment. However, in accordance with
PCI standards, CVC2/CVV2 data is not persisted, and will not be provided to the merchant. As the card data
has been validated and securely stored by MasterPass, merchants must not require CVC/CVV entry
from a consumer checking out with MasterPass.
NOTE: In cases where, prior to submitting their order, the cardholder chooses to replace the payment details
provided by MasterPass with different, manually entered payment details, Merchants should ask the
cardholder to enter CVV2/CVC2/CID as they would in the normal course and should not pass the wallet
indicator flag to the acquirer. In this case, the transaction is no longer considered to be a MasterPass
52
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
transaction. Checkout Postback is still required. It is recommended not to allow consumers to change their
card details after returning from MasterPass.
A three-byte wallet Indicator (WID) Flag (WalletID xml element in the checkout xml) will be part of the output
returned by this request. This value must be passed to your acquiring bank, and will indicate that the
customer’s payment details were provided by the MasterPass, rather than being manually entered. You may
need to work with your payment provider (acquirer, payment gateway, etc.) to understand how best to
handle this data element. In the event, your acquirer has not completed implementation of this element, your
transactions will continue to process as is. Contact Customer Support if you have questions.
The following message elements in the Dual Message System (Authorization and Clearing) and Single
Message System carry this WID Flag:
•
•
•
Dual Message System (Authorization)—Data element (DE) 48 (Additional Data—Private Data),
subelement 26 (Wallet Program Data), subfield 1 (Wallet Identifier)
Dual Message System (Clearing)—PDS 0207 (Wallet Identifier)
Single Message System—DE 48 (Additional Data), subelement 26 (Wallet Program Data), subfield
1 (Wallet Identifier)
Postback Service
NOTE: This is a mandatory step.
The final step of a MasterPass transaction is a service call from the merchant to MasterPass,
communicating the result of the transaction (success or failure). Abandoned transactions do not need to be
reported. Please note that the <TransactionId> value should be the value from the <TransactionId> element
of the Checkout XML returned in the Checkout request.
Request and response parameter details can be found here.
The following fields are passed in the postback service call:
•
ConsumerKey: Consumer key from checkout project
53
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
•
•
•
•
•
•
Currency: Currency for the transaction e.g. USD
OrderAmount: Transaction Order Amount e.g., 1500 (for $15 transaction amount)
PurchaseDate: Date of Purchase
ApprovalCode: 6-digit approval code returned by payment API.
TransactionId: Transaction ID from TransactionId element of the Checkout XML from the retrieve
payment, shipping, rewards and 3DS data service call for example, “35201”
TransactionStatus: Status of transaction. Valid values are
o SUCCESS: For approved transaction
o FAILURE: For declined transaction
Sandbox and Production Endpoints
https://sandbox.api.mastercard.com/masterpass/v6/transaction
https://api.mastercard.com/masterpass/v6/transaction
Android and iOS App Integration
Your Android or iOS application should invoke a backend service to initiate the OAuth authorization. On the
native application side, most of the work involves connecting to your backend services.
If you are integrating MasterPass for Android devices, set the android:targetSdkVersion value in your
application to 19 or higher. There will be significant MasterPass User Interface usability issues for users with
the latest devices and Android releases if this version is not declared. For more information on Android SDK
targets, refer to the <uses-sdk> page on the Android Developers site. To maintain your application along
with each Android release, you should increase the value of this attribute to match the latest API level.
The basic process for integrating the Android or iOS application is as follows:
1.
Perform a POST to ${server}/appToWallet/initialize with the shopping cart data in the POST
message
a.
The server will request the Request Token, post the shopping cart data to MasterPass
services and generate the Redirect URL.
b.
The server will pass the Redirect URL and the Callback URL back to the mobile
application.
2.
On a 200 response, save the Callback URL, and use the user Redirect URL to open a Web View
3.
Watch the Web View for navigation to the Callback URL.
4.
On navigation to the Callback URL,
a.
If the query parameter section of the Callback URL only contains the oauth_token, the
user did not complete selection in MasterPass. Return the user to the cart view, or
wherever your particular requirements dictate.
b.
If the query parameter of the Callback URL section contains information, parse out the
oauth_token, oauth_verifier, and checkout_resource parameter values, perform a string
replacement on the checkout_resource value to replace ‘/’ with ‘.’ and use these to
perform a GET
to${server}/appToWallet/checkoutInformation/${oauth_token}/${oauth_verifier}/${checkout
_resource}
c.
NOTE: Do not send the full PAN to the mobile device. This information should be stored
on the server similarly to the server/browser implementation.
54
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
5.
On a 200 response, use the returned information to produce a summary view for the user to give
final approval to the transaction (pursuant to your specific requirements.)
6.
After the consumer completes the transaction, the server should submit postback to MasterPass.
55
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
MasterPass - Branding
Displaying “Buy with MasterPass” Button and Acceptance Marks
The MasterPass acceptance mark and checkout button image URLs can be found below. To ensure the
best consumer experience, the checkout button should be placed at the earliest possible entrypoint, prior to
the collection of shipping and billing information.
To minimize the impact of future branding updates, please use the country specific link to the images on the
checkout page rather than downloading them and hosting the images locally. In order to successfully
integrate with MasterPass and enable successful checkout by an end-user consumer via the service, the
“Buy with MasterPass” checkout button must be integrated on the merchant website and displayed as noted
in the MasterPass Branding Requirements document available on MasterCard developer zone.
For all production button URLs and "Learn More" links, refer to the MasterPass™ Digital Assets – Buttons
and Learn More Links document.
The URL naming convention uses the base URL, Language Code (ISO 639-1), Country Code (ISO 3166and Button as shown below: Base URL/Language/Country/Image File Name
Base URL: https://www.mastercard.com/mc_us/wallet/img/
NOTE: The list of language/country folders can be found at
https://developer.mastercard.com/portal/display/api/MasterPass+-+Merchant+Checkout+-+FAQs under the
question, “Which countries and locales are currently supported to link 'Buy with MasterPass' images?”
Buy with MasterPass button Example:
Below is an example of how a Merchant can include the checkout button.
<div class="MasterPassBtnExample">
<a href="/exampleRedirect">
<img
src="https://www.mastercard.com/mc_us/wallet/img/en/US/mcpp_wllt_btn_chk_147x
034px.png" alt="Checkout with MasterPass Button Example" />
</a>
</div>
MasterPass Checkout Images
PNG Checkout Buttons
/mcpp_wllt_btn_chk_147x034px.png
/mcpp_wllt_btn_chk_160x037px.png
/mcpp_wllt_btn_chk_166x038px.png
/mcpp_wllt_btn_chk_180x042px.png
56
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
GIF Checkout Buttons
/mcpp_wllt_btn_chk_147x034px.gif
/mcpp_wllt_btn_chk_160x037px.gif
/mcpp_wllt_btn_chk_166x038px.gif
/mcpp_wllt_btn_chk_180x042px.gif
GIF Acceptance Marks
/mp_mc_acc_023px_gif.gif
/mp_mc_acc_030px_gif.gif
/mp_mc_acc_034px_gif.gif
/mp_mc_acc_038px_gif.gif
/mp_mc_acc_050px_gif.gif
/mp_mc_acc_065px_gif.gif
/mp_mc_acc_113px_gif.gif
PNG Checkout Buttons – High Resolution
/mcpp_wllt_btn_chk_290x068px.png
/mcpp_wllt_btn_chk_317x074px.png
/mcpp_wllt_btn_chk_326x076px.png
/mcpp_wllt_btn_chk_360x084px.png
GIF Checkout Buttons – High Resolution
/mcpp_wllt_btn_chk_290x068px.gif
/mcpp_wllt_btn_chk_317x074px.gif
/mcpp_wllt_btn_chk_326x076px.gif
/mcpp_wllt_btn_chk_360x084px.gif
GIF Acceptance Marks – High Resolution
/mp_acc_046px_gif.gif
/mp_acc_060px_gif.gif
/mp_acc_068px_gif.gif
/mp_acc_076px_gif.gif
/mp_acc_100px_gif.gif
/mp_acc_130px_gif.gif
/mp_acc_226px_gif.gif
Here are a few examples
U.S. English URL:
https://www.mastercard.com/mc_us/wallet/img/en/US/mcpp_wllt_btn_chk_147x034px.png
Canada French URL:
https://www.mastercard.com/mc_us/wallet/img/fr/CA/mcpp_wllt_btn_chk_147x034px.png
MasterPass “Learn More” page
In addition to the MasterPass checkout button and acceptance mark, MasterPass also requires merchants
to provide a link to “Learn More” page which can be used by the consumers to get additional information
about MasterPass. It is recommended that you place the link in close proximity to the “Buy with
MasterPass” button.
57
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
The “Learn More” page is available in multiple languages and can be accessed from the following link. For
the list of all available languages, refer to the MasterPass™ Digital Assets – Buttons and Learn More Links
document.
The following URLs contain examples of the “Learn More” page in various languages:
English - http://www.mastercard.com/mc_us/wallet/learnmore/en
Swedish - http://www.mastercard.com/mc_us/wallet/learnmore/se
French - http://www.mastercard.com/mc_us/wallet/learnmore/fr
Italian - http://www.mastercard.com/mc_us/wallet/learnmore/it
Spanish - http://www.mastercard.com/mc_us/wallet/learnmore/es
58
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Testing
MasterPass Sandbox Testing
Testing can be conducted in the sandbox environment, using the test consumer account. Your code must
gracefully handle the error states and scenarios listed below.
NOTE: You cannot add cards to a sandbox account. Only shipping addresses can be added to sandbox
accounts.
The accounts in the following table are shared by many sandbox testers. If you experience difficulty using
these accounts, wait at least 30 minutes and try again.
Sandbox Consumer
Account
Test Account 1
Login Email
Password
Security Question
Security Answer
[email protected]
abc123
Pet’s Name
fido
Test Account 2
[email protected]
abc123
Pet’s Name
fido
3DS Test - MasterCard
SecureCode
[email protected]
tester123
Pet’s Name
fido
3DS Test - Visa Verified
by Visa
[email protected]
tester123
Pet’s Name
fido
Use the “remember me” and “remember this device” options when testing so that you don’t have to rekey
the entire test account information every time you login to MasterPass.
Once you are redirected to the sandbox environment, select MasterPass wallet to sign-in to Sandbox
Consumer Wallet Account. Below is a quick walkthrough of the Wallet experience.
(Select) MasterPass Wallet
59
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Sign-in & Verify Your ID (Login email for Sandbox)
Select Payment & Shipping
3DS Test Cases
MasterCard SecureCode
Use the “3DS Test - MasterCard SecureCode” from the Sandbox Consumer Account table above to test
MasterCard and Maestro SecureCode 3DS functionality. The following table provides the expected outputs
for each of the Test Cases for MasterCard SecureCode.
60
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Once you have logged into the “3DS Test - MasterCard SecureCode” account, choose the Test Case Card
nickname that corresponds to the Test Case number from the table above for the Test Case that you would
like to test. For example, use the below Test Case 1 card to test TC# 1 from the MasterCard and Maestro
Test Cases table above.
61
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Verified by Visa
Use the “3DS Test - Visa Verified by Visa” Sandbox Consumer Account from the table above to test Visa’s
Verified by Visa 3DS functionality. The following table provides the expected outputs for each of the Test
Cases for Verified by Visa.
62
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Once you have logged into the “3DS Test - Visa Verified by Visa” account, choose the Test Case Card
nickname that corresponds to the Test Case number from the table above for the Test Case that you would
like to test. For example, use the below Test Case 1 card to test TC# 1 from the Visa Test table above.
63
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Q/A Checklist
Asset Placement
»
»
Verify your adherence to the MasterPass Branding Requirements document.
Verify that you are linking to (versus hosting your own) MasterPass visual assets
In-Wallet Experience
»
»
»
Verify that the consumer can only select card/addresses/rewards that are supported by the merchant
Verify shopping cart information is sent to MasterPass and is displayed.
Merchants requesting liability shift for MasterPass transactions should use Advanced Checkout within
MasterPass
Post Wallet Experience
»
»
After clicking the “Finish Shopping” button, verify the consumer is taken to a valid page.
Verify that MasterPass acceptance mark is displayed for all MasterPass transactions.
64
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
»
Verify that your code handles the return of a consumer with an expired request token. NOTE: The
Request Token is valid for 15 minutes therefore if the process is not completed within the timeout, the
request token will expire and the checkout will need to be restarted.
Ensure you are decoding and consuming the checkout_resource_url as provided by MasterPass
Verify that your code is able to parse and ingest the returned data.
Verify that any post-Wallet page has a clear call to action (e.g. select preferred shipping method),
versus simply having the consumer review the data they just selected in the Wallet.
Verify that consumer is not required to enter CVC/CVV in order to complete the transaction.
Verify that the card PAN has not been provided to any entity that does not have the appropriate security
in place for storage and transmission of card data (per PCI guidelines).
Verify that if merchants are provided with the PAN, this value is not displayed on-screen.
Verify that your system can handle the PostalCode element of up to nine characters; this element is
sent by MasterPass as part of the BillingAddress and the ShippingAddress elements in checkout XML.
»
»
»
»
»
»
»
Postback
»
Verify that the transaction id submitted as part of a postback was sourced from the associated
MasterPass transaction.
Verify that the transaction result (Postback) is reported immediately after card authorization.
»
General
» Ensure you are coding to DNS and not to IP addresses for our urls or endpoints.
Troubleshooting
Troubleshooting
If you get “Error 400” when calling MasterPass web services
»
»
Verify Authorization header is not missing from the request
Verify Authorization header has the following:
–
–
–
–
–
–
–
–
Signature
Consumer Key (exists and correct length)
Nonce
Signature Method
Timestamp
Callback URL (Request Token call only)
oauth_verifier (Access Token call only)
oauth_token (Access Token call only)
If you get “Error 401” when calling MasterPass web services
»
Verify that you are passing the Access Token in the get CheckoutXML call.
If you get “Error 403 - Forbidden” when calling MasterPass services
»
»
Verify correct credentials or correct environment (i.e., sandbox credentials with the prod URL)
Verify timestamp
If you get “Error 500” when calling MasterPass web services
65
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
»
»
»
»
Verify oauth_body_hash exists and is correct (Post Transaction call only)
Verify Content-Type HTTP header is being sent
Verify correct private key
Verify signature is readable (example, encoded incorrectly)
Support
Please refer to the FAQs at https://developer.mastercard.com/portal/display/api/MasterPass++Merchant+Checkout+-+FAQs.
If you have any questions or comments relating to MasterPass merchant testing, contact the implementation
manager assigned to work with you on this implementation. If you don’t have an assigned implementation
manager, send an email—with the following information (as applicable)—to
[email protected]:
•
•
•
•
•
•
•
•
•
•
•
•
Merchant/Service Provider Name
Email Address
Country/Region
Onboarding Model (Direct Merchant, Service Provider Merchant-by-Merchant or Service Provider
File and API Onboarding)
Environment of Integration (Sandbox or Production)
Checkout Version and Checkout Identifier
Consumer Key
Postback Details (Amount, Date and Time of recent Checkout)
Detailed description of the issue, including expected and actual test results (if applicable)
Error Message(s)
Screenshot(s)
Exact Timestamp
66
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Appendix
Lightbox Parameters
Lightbox Parameters invoked on clicking Buy with MasterPass or Connect with MasterPass button.
Parameter name
allowedCardTypes
string[]
O
Connect
Checkout
Card security
Data type
O = Optional; R = Required; A = Automatically populated
Description
This parameter restricts the payment
methods that may be selected based on
card brand. Omit this parameter to
allow all payment methods. Here are the
valid values for different card types
MasterCard: master
Maestro: maestro
American Express: amex
Discover: discover
Diners: diners
Visa: visa
JCB: jcb
loyaltyEnabled
bool
O
This parameter defines if the merchant
is requesting consumer’s loyalty details
from MasterPass for the transaction.
Valid values are true / false
shippingLocationProfile
string[]
O
This parameter defines Merchant’s
Shipping Profile(s) for the transaction
that they set in their account.
callbackUrl
string
O O O This defines the base URL to which the
browser is redirected to upon successful
or failed completion of the flow if there
is no appropriate callback function
available.
67
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
failureCallback
function
O O O This defines the function to be called
when the flow ends in failure.
merchantCheckoutId
string
R
requestToken
suppressShippingAddressEnable
string
Bool
successCallback
function
Refer to the SDK for more examples
This is the checkout identifier which is
used to identify the merchant and their
checkout branding.
R R R This is an OAuth token.
O
When set to “true,” the consumer
placing the order through MasterPass
Wallet will not provide a shipping
address (for example, when the
consumer purchases digital goods).
When set to “false,” the consumer
placing the order through MasterPass
Wallet must provide a shipping address.
O O O This defines the function to be called
when the flow ends in success.
R
R
OAuth Samples
Request Token
Request Token Parameters
request_token
Request
oauth_callback
X
oauth_signature
X
oauth_version
X
oauth_nonce
X
oauth_signature_method
X
oauth_consumer_key
X
oauth_timestamp
X
realm
X
request_token
Response
oauth_token
X
oauth_callback_confirmed
X
oauth_expires_in
X
oauth_token_secret
X
68
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
X
xoauth_request_auth_url
Request Parameter Details
Request Token—Request
Signature Base String
Authorization Header
Description
oauth_callback
Endpoint that will handle the transition from
the wallet site to the merchant checkout
page
Variable
oauth_signature
RSA/SHA1 signature generated from the
signature base string
Variable
oauth_version
oAuth version
1.0
oauth_nonce
Unique alphanumeric string generated from
code
Variable
oauth_signature_method
oAuth signature method.
RSASHA1
oauth_consumer_key
Consumer Key generated when creating a
checkout project on MasterPass Merchant
portal
Variable
oauth_timestamp
Current timestamp
Variable
realm
Used to differentiate between our mobile
and full site. Currently not used.
eWallet
Request Token—Response
Oauth Token
oauth_token
Description
oauth_token is sent in the signature base
string, authorization header and redirect
URL
Possible
Values
Variable
Variable
oauth_callback_confirmed
Request Token
Possible
Values
oauth_expires_in
Time the Request Token expires in seconds
Variable
oauth_token_secret
Oauth Secret
Variable
xoauth_request_auth_url
Authorize URL
Variable
Signature Base String Example
POST&https%3A%2F%2Fsandbox.api.mastercard.com%2Foauth%2Fconsumer%2Fv1%2Freque
st_token&oauth_callback%3Dhttp%253A%252F%252Fprojectabc.com%252Fmerchant%252F
Callback.jsp%26oauth_consumer_key%3DZGho8Df8vqWIpGCIu559HYriL093IBXdJeKavp4dce9db2a%25216464586653467358724b616c744754454433
49466a413d3d%26oauth_nonce%3D1143452272881219%26oauth_signature_method%3DRSASHA1%26oauth_timestamp%3D1339612030%26oauth_version%3D1.0
HTTP Request Example
POST /oauth/consumer/v1/request_token HTTP/1.1
Authorization: OAuth
oauth_callback="http%3A%2F%2Fprojectabc.com%2Fmerchant%2FCallback.jsp",oauth_
signature="pzNogGtgShe16%2FwhP4CsTRXkgJ1mv%2FKm6do5ZVi6doKzAJZ0m8QqhiERi5lRup
hdyUkhW8LKdUL1TetPdxm32Vtr%2BQGF6n6IBjr8dGcyYmfaLyAYVhF%2Fx5oQhUDVpdXIc10dJ0m
iUwZPbJ1QopN3ibeOzvgNxhEiHYKVnpvYEhc%3D",oauth_version="1.0",oauth_nonce="114
3452272881219",oauth_signature_method="RSASHA1",oauth_consumer_key="ZGho8Df8vqWIpGCIu559HYriL093IBXdJeKavp4dce9db2a%216464586653467358724b616c74475445443349
466a413d3d",oauth_timestamp="1339612030",realm="eWallet"
69
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
HTTP Response Example
oauth_callback_confirmed=true&oauth_expires_in=900&oauth_token=a02c5c5c1a128c2
cebc650ea9aa3dfb7&oauth_token_secret=c2daaf0888779d82bd63524159bee91f&xoauth_r
equest_auth_url=https%3A%2F%2Fsandbox.masterpass.com%2Fonline%2FCheckout%2FAut
horize
Merchant Initialization Service
Merchant Initialization Parameters
Merchant
Initialization
resource
Request
oauth_signature
X
oauth_version
X
oauth_nonce
X
oauth_signature_method
X
oauth_consumer_key
X
oauth_timestamp
X
realm
X
oauth_body_hash
X
oauth_token
X
Merchant Initialization Request
XML
Merchant Initialization Response
XML
X
Merchant
Initialization
Resource
Response
X
Merchant Initialization Request Parameter Details
Merchant Initialization Resource—Request
Signature Base String
Description
Possible
Values
oauth_signature
RSA/SHA1 signature generated from the
signature base string
Variable
oauth_version
Oauth version.
1.0
oauth_nonce
Unique alphanumeric string generated from
code
Variable
oauth_signature_method
oauth signature method.
RSASHA1
oauth_consumer_key
Consumer Key generated when creating a
checkout project on MasterPass Merchant
portal
Variable
oauth_timestamp
Current timestamp
Variable
oauth_token
Request token
Variable
Authorization Header
70
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Merchant Initialization
Request XML
MerchantInitializationRequest
XML
Merchant Initialization Resource—Response
Oauth Token
oauth_token
Merchant Initialization details
Description
oauth_token is sent in the request
Possible
Values
Variable
Signature Base String Example
POST&https%3A%2F%2Fsandbox.api.mastercard.com%2Fmasterpass%2Fv6%merchantinitial
ization&oauth_body_hash%3D8K9uhveZjVdZW8AIYiXpR70KCtk%253D%26oauth_consumer_key
%3DcLb0tKkEJhGTITp_6ltDIibO5Wgbx4rIldeXM_jRd4b0476c%2521414f4859446c4a366c726a3
27474695545332b353049303d%26oauth_nonce%3DDEAEB1CD-CA03-405D-A7B4B4263CB5A305%26oauth_signature_method%3DRSASHA1%26oauth_timestamp%3D1380049711%26oauth_version%3D1.0
HTTP Request Example
POST /masterpass/v6/merchant-initialization HTTP/1.1
Authorization: OAuth
realm="eWallet",oauth_consumer_key="cLb0tKkEJhGTITp_6ltDIibO5Wgbx4rIldeXM_jRd4b
0476c%21414f4859446c4a366c726a327474695545332b353049303d",oauth_signature_metho
d="RSA-SHA1",oauth_nonce="DEAEB1CD-CA03-405D-A7B4B4263CB5A305",oauth_timestamp="1380049711",oauth_version="1.0",oauth_body_hash=
"8K9uhveZjVdZW8AIYiXpR70KCtk%3D",oauth_signature="IdV4%2FREyJ7nAXK%2FYvuJ2BtO4C
8t6PlW8xTrDob0WzWJ5%2FRBOPDj534Sm7oPdojivWTGOLAcZq3kbVF6rwrsjGFWlNJITXt3HT3zrav
b02oqTrVQH3Zlx5fi4o0u2xxqrDwHZvbhjPgwByBRmE%2FoTw2l9H%2FznSn45xcS1eJPa%2FGI%3D"
XML
V6/merchant-initialization—XML Schema Request
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="MerchantInitializationRequest"
type="MerchantInitializationRequest"/>
<xs:complexType name="MerchantInitializationRequest">
<xs:sequence>
<xs:element name="OAuthToken" type="xs:string"/>
<xs:element name="PreCheckoutTransactionId" type="xs:string"
maxOccurs="1" minOccurs="0"/>
<xs:element name="OriginUrl" type="xs:string" />
<xs:element name="ExtensionPoint"
type="MerchantInitializationExtension" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="MerchantInitializationExtension"
type="MerchantInitializationExtension"/>
<xs:complexType name="MerchantInitializationExtension">
<xs:sequence>
<xs:element name="SecondaryOriginUrl" type="xs:string"
minOccurs="0"/>
71
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
</xs:sequence>
</xs:complexType>
URL: https://api.mastercard.com/masterpass/v6/merchant-initialization — Sample Request
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantInitializationRequest>
<OAuthToken>oauth_demo_token4sj4x6f1eqka2ib2f1nzd1ib2ivvjx16a</OAuthToken>
<OriginUrl>http://localhost:8080</OriginUrl>
<ExtensionPoint>
<SecondaryOriginUrl>http://localhost:8080</SecondaryOriginUrl>
</ExtensionPoint>
</MerchantInitializationRequest>
V6/merchant-initialization -XML Schema Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="MerchantInitializationResponse"
type="MerchantInitializationResponse"/>
<xs:complexType name="MerchantInitializationResponse">
<xs:sequence>
<xs:element name="OAuthToken" type="xs:string"/>
<xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ExtensionPoint">
<xs:sequence>
<xs:any maxOccurs="unbounded" processContents="lax" namespace="##any" />
</xs:sequence>
<xs:anyAttribute />
</xs:complexType>
</xs:schema>
V6/ MerchantInitialization -Sample Response
<MerchantInitializationResponse>
<OAuthToken>4c7b34cc63a68282bba77a4b34f0192fcb2268fb</OAuthToken>
</MerchantInitializationResponse>
V6 - MerchantInitializationRequest XML Details
MerchantInitializationRequest
XML
MerchantInitializationRequest
Element
Description
MerchantInitializationRequest
Root Element
OAuthToken
Request Token (oauth_token)
returned by call to the
request_token API
Type
Min–
Max
XML
-
72
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
MerchantInitializationRequest
XML
ExtensionPoint
MerchantInitializationResponse
XML
Description
Type
Min–
Max
PreCheckoutTransactionID
Identifies pre-checkout
transaction. Returned from get
pre-checkout data call;
Optional
string
NA
OriginUrl
Identifies the URL of the page
that will initialize the Lightbox.
string
NA
ExtensionPoint
Reserved for future
enhancement. Optional
Any
SecondaryOriginUrl
Identifies the domain URL of
the outer/parent web page.
This optional field should only
be used when the Lightbox will
be invoked from a frame that’s
on a merchant site, and when
that frame is of a different
domain than that of the
merchant site, like for a
service provider.
string
NA
Description
Type
Min–
Max
OAuthToken
Request Token (oauth_token)
returned by call to the
request_token API
XML
-
ExtensionPoint
Reserved for future
enhancement. Optional
Any
-
Element
Element
ExtensionPoint Elements
Starting with API v6, all schema container elements contain a new optional element named
“ExtensionPoint”. These elements are intended to provide expandability of the API without requiring a new
major version. These elements are defined to contain a sequence of “xs:any”, meaning that any XML
content can be contained within the element. In order to ensure future expandability, all integrators must not
perform any validation of elements received inside an ExtensionPoint element, beyond any that may be
defined by MasterPass in the future with a separate schema. Any such extensions will be optional. Further,
only authorized schemas will be allowed inside ExtensionPoint elements, and any unknown elements will be
dropped by MasterPass.
ExtensionPoint — Sample
<ExtensionPoint>
<s:SampleExtension
xmlns:s=”https://www.masterpass.com/location/of/example/ns”>
<s:SampleField>Sample Value</s:SampleField>
</s:SampleExtension>
<f:AnotherExampleExtension
xmlns:f=”https://www.masterpass.com/location/of/example2/ns>
<f:SampleContainer>
<f:AnotherSampleField>Sample
73
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Value</f:AnotherSampleField>
</f:SampleContainer>
</f:AnotherExampleExtension>
</ExtensionPoint>
Shopping Cart Service
Shopping Cart Parameters
Shopping
Cart
Request
oauth_signature
X
oauth_version
X
oauth_nonce
X
oauth_signature_method
X
oauth_consumer_key
X
oauth_timestamp
X
oauth_body_hash
oauth_token
Shopping Cart Request XML
X
X
X
Shopping
Cart
Response
Shopping Cart Response XML
X
X
Shopping Cart Parameter Details
Shopping Cart—Request
Signature Base String
Authorization Header
Description
Possible
Values
oauth_signature
RSA/SHA1 signature generated from the
signature base string
Variable
oauth_version
Oauth version
1.0
oauth_nonce
Unique alphanumeric string generated
from code
Variable
oauth_signature_method
oauth signature method
RSASHA1
oauth_consumer_key
Consumer Key generated when creating a
checkout project on MasterPass Merchant
portal
Variable
oauth_timestamp
Current timestamp
Variable
oauth_body_hash
SHA1 hash of the message body
Variable
Oauth Token
oauth_token
oauth_token is sent in the signature base
string, authorization header and redirect
URL
Variable
Transfer XML Strings
Shopping Cart Request XML
Merchant Shopping Cart details
Shopping Cart—Response
Oauth Token
oauth_token
Transfer XML Strings
Shopping Cart Response XML
Description
oauth_token is sent in the signature base
string, authorization header and redirect
URL
Possible
Values
Variable
74
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Signature Base String Example
POST&https%3A%2F%2Fsandbox.api.mastercard.com%2Fmasterpass%2Fv6%2Fshopping-cart
&oauth_body_hash%3D8K9uhveZjVdZW8AIYiXpR70KCtk%253D%26oauth_consumer_key%3DcLb0
tKkEJhGTITp_6ltDIibO5Wgbx4rIldeXM_jRd4b0476c%2521414f4859446c4a366c726a32747469
5545332b353049303d%26oauth_nonce%3DDEAEB1CD-CA03-405D-A7B4B4263CB5A305%26oauth_signature_method%3DRSASHA1%26oauth_timestamp%3D1380049711%26oauth_version%3D1.0
HTTP Request Example
POST /masterpass/v6/shopping-cart HTTP/1.1
Authorization: OAuth
realm="eWallet",oauth_consumer_key="cLb0tKkEJhGTITp_6ltDIibO5Wgbx4rIldeXM_jRd4b
0476c%21414f4859446c4a366c726a327474695545332b353049303d",oauth_signature_metho
d="RSA-SHA1",oauth_nonce="DEAEB1CD-CA03-405D-A7B4B4263CB5A305",oauth_timestamp="1380049711",oauth_version="1.0",oauth_body_hash=
"8K9uhveZjVdZW8AIYiXpR70KCtk%3D",oauth_signature="IdV4%2FREyJ7nAXK%2FYvuJ2BtO4C
8t6PlW8xTrDob0WzWJ5%2FRBOPDj534Sm7oPdojivWTGOLAcZq3kbVF6rwrsjGFWlNJITXt3HT3zrav
b02oqTrVQH3Zlx5fi4o0u2xxqrDwHZvbhjPgwByBRmE%2FoTw2l9H%2FznSn45xcS1eJPa%2FGI%3D"
Shopping Cart V6—XML Schema
<xs:complexType name="ShoppingCart">
<xs:sequence>
<xs:element name="CurrencyCode" type="xs:string"/>
<xs:element name="Subtotal" type="xs:long"/>
<xs:element name="ShoppingCartItem" type="ShoppingCartItem" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ShoppingCartItem">
<xs:sequence>
<xs:element name="Description" type="xs:string"/>
<xs:element name="Quantity" type="xs:long"/>
<xs:element name="Value" type="xs:long"/>
<xs:element name="ImageURL" type="xs:string" minOccurs="0"/>
<xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ShoppingCartRequest">
<xs:sequence>
<xs:element name="OAuthToken" type="xs:string"/>
<xs:element name="ShoppingCart" type="ShoppingCart"/>
<xs:element name="OriginUrl" type="xs:string" minOccurs="0"/>
<xs:element name="ExtensionPoint" type="ShoppingCartRequestExtensionPoint"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="ShoppingCartRequestExtensionPoint" type="ShoppingCartRequestExtensionPoint"/>
<xs:complexType name="ShoppingCartRequestExtensionPoint">
<xs:sequence>
<xs:element name="SecondaryOriginUrl" type="xs:string" minOccurs="0"/>
75
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
</xs:sequence>
<xs:anyAttribute/>
</xs:complexType>
<xs:element name="ExtensionPoint" type="ExtensionPoint"/>
<xs:complexType name="ExtensionPoint">
<xs:sequence>
<xs:any maxOccurs="unbounded" processContents="lax" namespace="##any"/>
</xs:sequence>
<xs:anyAttribute/>
</xs:complexType>
Shopping Cart V6 XML Details
ShoppingCartRequest
ExtensionPoint
Element
Description
Type
Min–
Max
OAuthToken
Request Token (oauth_token) returned by
call to the request_token API
String
Variable
ShoppingCart
Merchant Shopping Cart details.
XML
-
OriginUrl
Identifies the URL of the page that will
initialize the lightbox.
String
Variable
ExtensionPoint
Reserved for future enhancement. Optional
Any
-
String
NA
CurrencyCode
Defined by ISO 4217 to be exactly three
characters, such as, USD for US Dollars. All
MonetaryValues will be modified by the
CurrencyCode
Alpha
3
SecondaryOriginUrl
Identifies the domain URL of the
outer/parent web page. This optional field
should only be used when the Lightbox will
be invoked from a frame that’s on a
merchant site, and when that frame is of a
different domain than that of the merchant
site, like for a service provider.
Subtotal
Total sum of all the items in the cart
excluding shipping, handling and tax. Integer
without the decimal e.g. $119.00 USD will
be 11900.
Integer
1-12
ShoppingCart
ShoppingCartItem
Details of a single shopping cart item.
XML
-
ShoppingCartItem
Description
Describes a single shopping cart item.
String
1-100
Quantity
Number of a single shopping cart item.
Integer
1-12
Value
Price or monetary value of a single shopping
cart item. Cost * Quantity. Integer without
decimal e.g., $100.00 is 10000.
Integer
1-12
ImageURL
Link to shopping cart item image. URLs
must be HTTPS, and not HTTP.
String
0-2000
ExtensionPoint
Reserved for future enhancement. Optional
Any
-
ShoppingCartResponse
Element
Description
Type
Min–
Max
OAuthToken
Request Token (oauth_token) returned by
call to the request_token API
String
Variable
ExtensionPoint
Reserved for future enhancement. Optional
Any
-
Shopping Cart Request XML—Sample
<?xml version="1.0" ?>
<ShoppingCartRequest>
76
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<OAuthToken>f7f16d8462a9424365498afade20caaa</OAuthToken>
<ShoppingCart>
<CurrencyCode>USD</CurrencyCode>
<Subtotal>11900</Subtotal>
<ShoppingCartItem>
<Description>This is one item</Description>
<Quantity>1</Quantity>
<Value>1900</Value>
</ShoppingCartItem>
<ShoppingCartItem>
<Description>Five items</Description>
<Quantity>5</Quantity>
<Value>10000</Value>
<ImageURL>https://somemerchant.com/someimage</ImageURL>
</ShoppingCartItem>
</ShoppingCart>
<OriginUrl>https://somemerchant.com</OriginUrl>
</ShoppingCartRequest>
Shopping Cart Request XML with Optional SecondaryOriginUrl Field—Sample
<?xml version="1.0" ?>
<ShoppingCartRequest>
<OAuthToken>oauth_demo_token4sj4x6f1eqka2ib2f1nzd1ib2imvce151</OAuthTo
ken>
<ShoppingCart>
<CurrencyCode>USD</CurrencyCode>
<Subtotal>2500</Subtotal>
<ShoppingCartItem>
<Description>Apple MacBook Pro MD101LL/A 13.3-Inch
Laptop</Description>
<Quantity>1</Quantity>
<Value>2500</Value>
<ImageURL>http://ecx.imagesamazon.com/images/I/41t0EjbJXYL._SL500_SS100_.jpg</ImageU
Im>
</ShoppingCartItem>
</ShoppingCart>
<OriginUrl>http://localhost:8080</OriginUrl>
<ExtensionPoint>
<SecondaryOriginUrl>http://localhost:8080</SecondaryOriginUrl>
</ExtensionPoint>
</ShoppingCartRequest>
Shopping Cart Response XML—Sample
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ShoppingCartResponse>
<OAuthToken>a747f7e7c2e0c3048843f640b92806c8</OAuthToken>
77
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
</ShoppingCartResponse>
Shopping Cart-XML Response Schema
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="ShoppingCartResponse" type="ShoppingCartResponse"/>
<xs:complexType name="ShoppingCartResponse">
<xs:sequence>
<xs:element name="OAuthToken" type="xs:string" />
<xs:element name="ExtensionPoint" type="ExtensionPoint"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ExtensionPoint">
<xs:sequence>
<xs:any maxOccurs="unbounded" processContents="lax"
namespace="##any" />
</xs:sequence>
<xs:anyAttribute />
</xs:complexType>
</xs:schema>
HTTP Response Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ShoppingCartResponse>
<OAuthToken>93dcec2e58e1bee050301bb2ee7d9331</OAuthToken>
</ShoppingCartResponse>
Access Token Service
Access Token Parameters
access_token
Request
oauth_signature
X
oauth_version
X
oauth_nonce
X
oauth_signature_method
X
oauth_consumer_key
X
oauth_timestamp
X
realm
X
oauth_token
X
oauth_expires_in
access_token
Response
X
X
78
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
oauth_token_secret
X
xoauth_request_auth_url
X
X
oauth_verifier
Access Token Parameter Details
Access Token—Request
oauth_signature
Signature Base String
Authorization Header
oauth_version
oauth_nonce
oauth_signature_method
oauth_consumer_key
oauth_timestamp
realm
oauth_verifier
oauth_token
Description
RSA/SHA1 signature generated from the
signature base string
Oauth version.
Unique alphanumeric string generated
from code
oauth signature method
Consumer Key generated when creating a
checkout project on MasterPass Merchant
portal
Current timestamp
Used to differentiate between our mobile
and full site. Currently not used.
Verifier is returned on the callback and
used in the access token request
oAuth token obtained from request token
call
Access Token—Response
Oauth Token
Request Token
oauth_token
oauth_expires_in
oauth_token_secret
Description
oauth_token is sent in the signature base
string, authorization header and redirect
URL
Time the Request Token expires in
seconds
Oauth Secret
Possible
Values
Variable
1.0
Variable
RSASHA1
Variable
Variable
eWallet
Variable
Possible
Values
Variable
900
Variable
Signature Base String Example
POST&https%3A%2F%2Fsandbox.api.mastercard.com%2Foauth%2Fconsumer%2Fv1%2Faccess_t
oken&oauth_callback%3Dhttp%253A%252F%252Fprojectabc.com%252Fmerchant%252FCallbac
k.jsp%26oauth_consumer_key%3DZGho8Df8vqWIpGCIu559HYriL093IBXdJeKavp4dce9db2a%25216464586653467358724b616c744754454433494
66a413d3d%26oauth_nonce%3D1144858422275061%26oauth_signature_method%3DRSASHA1%26oauth_timestamp%3D1339613436%26oauth_token%3Da02c5c5c1a128c2cebc650ea9aa3
dfb7%26oauth_verifier%3D96782690ce6289d0faf45be777d2d86f%26oauth_version%3D1.0
HTTP Request Example
POST /oauth/consumer/v1/access_token HTTP/1.1
Authorization: OAuth
oauth_callback="http%3A%2F%2Fprojectabc.com%2Fmerchant%2FCallback.jsp",oauth_sig
nature="OKcp2KmzUEr8kqs%2F7m2ePV6uJ30n786AnZ0kvJSNGV4Q8%2FP3%2Bs7lqv7YIk0yb2h0fU
TC7gSHsfJwmCCk4ES%2FlWVIpSRmVxotgLacxj%2FXI08DS0BZ0XMZZIkhY5Dcg775U3Re4GRN4xa9vm
bztOBd%2BKkNyFIw35To22N1ZUHrYpI%3D",oauth_version="1.0",oauth_nonce="11448584222
75061",oauth_signature_method="RSA-SHA1",oauth_consumer_key="ZGho8Df8vqWIpGCIu559HYriL093IBXdJeKavp4dce9db2a%216464586653467358724b616c74475445443349466
a413d3d",oauth_token="a02c5c5c1a128c2cebc650ea9aa3dfb7",oauth_verifier="96782690
ce6289d0faf45be777d2d86f",oauth_timestamp="1339613436",realm="eWallet"
79
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
HTTP Response Example
oauth_token=9429f23bd08f992c41fb5ddabcc03ecd&oauth_token_secret=cd1ab178419c2111
fb1171083f5dc8d9
Checkout Resource
Checkout Parameters
Checkout
resource
Request
oauth_signature
X
oauth_version
X
oauth_nonce
X
oauth_signature_method
X
oauth_consumer_key
X
oauth_timestamp
X
realm
X
oauth_token
X
Checkout
Resource
Response
Used as endpoint
checkout_resource_url
X
Checkout XML
Checkout Parameter Details
Checkout Resource—Request
oauth_signature
Signature Base String
Authorization Header
oauth_version
oauth_nonce
oauth_signature_method
oauth_consumer_key
oauth_timestamp
realm
oauth_verifier
Checkout Resource—Response
Oauth Token
Transfer XML Strings
oauth_token
Checkout XML
Description
RSA/SHA1 signature generated from the
signature base string
Oauth version.
Unique alphanumeric string generated
from code
oauth signature method.
Consumer Key generated when creating a
checkout project on MasterPass Merchant
portal
Current timestamp
Used to differentiate between our mobile
and full site. Currently not used.
Verifier is returned on the callback and
used in the access token request
Description
oauth_token is sent in the signature base
string, authorization header and redirect
URL
Details of the Checkout
Possible
Values
Variable
1.0
Variable
RSASHA1
Variable
Variable
eWallet
Possible
Values
Variable
Signature Base String Example
GET&https%3A%2F%2Fsandbox.api.mastercard.com%2Fmasterpass%2Fv6%2Fcheckout%2F3494
84&oauth_consumer_key%3DcLb0tKkEJhGTITp_6ltDIibO5Wgbx4rIldeXM_jRd4b0476c%2521414
f4859446c4a366c726a327474695545332b353049303d%26oauth_nonce%3D25780242027605
80
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
%26oauth_signature_method%3DRSA-SHA1%26oauth_timestamp%3D1380053717
%26oauth_token%3Dc531cce64ca2d88ecb223a8a37afe98e%26oauth_version%3D1.0
HTTP Request Example
GET /masterpass/v6/checkout/4400 HTTP/1.1
Authorization: OAuth
oauth_signature="CKs9xjeHksuVNKotsRmoOG0Rwmveoc2dTqnNw8IwlsZeG1ZNkVrPsTjde32YBndHR
7iLFvujrY1GJRFsWHFeQGVFbCidGUVbOwtDtm5ArJPTIbedw21GhhXGWRrRpjh3ZhHLDOdSxtxjSCJaHF
QkfGyq%2B0DHhMLLYizIzbH8%2Fp0%3D",oauth_version="1.0",oauth_nonce="25780242027605",oau
th_signature_method="RSASHA1",oauth_consumer_key="cLb0tKkEJhGTITp_6ltDIibO5Wgbx4rIldeXM_jRd4b0476c%21414f
4859446c4a366c726a327474695545332b353049303d",oauth_token="c531cce64ca2d88ecb223a
8a37afe98e",oauth_timestamp="1380053717",realm="eWallet"
Checkout XML
V6/Checkout-XML Schema
URL: https://api.mastercard.com/masterpass/v6/checkout/
The checkout resource url supplied by MasterPass should be decoded and consumed by the merchant as
provided by MasterPass. MasterPass may add or delete parameters in future
Examples of decoded url:
checkout_resource_url=https://api.mastercard.com/masterpass/v6/checkout/11318500&checkoutId=113185
00
checkout_resource_url=https://api.mastercard.com/masterpass/v6/checkout/11318501
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Checkout" type="Checkout"/>
<xs:complexType name="Checkout">
<xs:sequence>
<xs:element name="Card" type="Card"/>
<xs:element name="TransactionId" type="xs:string"/>
<xs:element name="Contact" type="Contact"/>
<xs:element name="ShippingAddress" type="ShippingAddress"
minOccurs="0"/>
<xs:element name="AuthenticationOptions"
type="AuthenticationOptions" minOccurs="0"/>
<xs:element name="RewardProgram" type="RewardProgram"
minOccurs="0"/>
<xs:element name="WalletID" type="xs:string"/>
<xs:element name="PreCheckoutTransactionId" type="xs:string"
minOccurs="0"/>
<xs:element name="ExtensionPoint" type="ExtensionPoint"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
81
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<xs:complexType name="AuthenticationOptions">
<xs:sequence>
<xs:element name="AuthenticateMethod" type="xs:string"
minOccurs="0"/>
<xs:element name="CardEnrollmentMethod" type="xs:string"
minOccurs="0"/>
<xs:element name="CAvv" type="xs:string" minOccurs="0"/>
<xs:element name="EciFlag" type="xs:string" minOccurs="0"/>
<xs:element name="MasterCardAssignedID" type="xs:string"
minOccurs="0"/>
<xs:element name="PaResStatus" type="xs:string" minOccurs="0"/>
<xs:element name="SCEnrollmentStatus" type="xs:string"
minOccurs="0"/>
<xs:element name="SignatureVerification" type="xs:string"
minOccurs="0"/>
<xs:element name="Xid" type="xs:string" minOccurs="0"/>
<xs:element name="ExtensionPoint" type="ExtensionPoint"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Card">
<xs:sequence>
<xs:element name="BrandId" type="NonEmptyString"/>
<xs:element name="BrandName" type="NonEmptyString"/>
<xs:element name="AccountNumber" type="NonEmptyString"/>
<xs:element name="BillingAddress" type="Address"/>
<xs:element name="CardHolderName" type="NonEmptyString"/>
<xs:element name="ExpiryMonth" type="Month" minOccurs="0"/>
<xs:element name="ExpiryYear" type="Year" minOccurs="0"/>
<xs:element name="ExtensionPoint" type="ExtensionPoint"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Address">
<xs:sequence>
<xs:element name="City" type="NonEmptyString"/>
<xs:element name="Country" type="Country"/>
<xs:element name="CountrySubdivision" type="NonEmptyString"
minOccurs="0"/>
<xs:element name="Line1" type="NonEmptyString"/>
<xs:element name="Line2" type="NonEmptyString" minOccurs="0"/>
<xs:element name="Line3" type="NonEmptyString" minOccurs="0"/>
<xs:element name="PostalCode" type="NonEmptyString"
minOccurs="0"/>
<xs:element name="ExtensionPoint" type="ExtensionPoint"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Contact">
<xs:sequence>
<xs:element name="FirstName" type="NonEmptyString"/>
<xs:element name="MiddleName" minOccurs="0">
82
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="150"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LastName" type="NonEmptyString"/>
<xs:element name="Gender" type="Gender" minOccurs="0"/>
<xs:element name="DateOfBirth" type="DateOfBirth"
minOccurs="0"/>
<xs:element name="NationalID" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="150"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Country" type="Country"/>
<xs:element name="EmailAddress" type="EmailAddress"/>
<xs:element name="PhoneNumber" type="xs:string"/>
<xs:element name="ExtensionPoint" type="ExtensionPoint"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DateOfBirth">
<xs:sequence>
<xs:element name="Year">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1900"/>
<xs:pattern value="\d{4}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Month" type="Month"/>
<xs:element name="Day">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="31"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ExtensionPoint" type="ExtensionPoint"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="Gender">
<xs:restriction base="xs:token">
<xs:enumeration value="M"/>
83
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<xs:enumeration value="F"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ShippingAddress">
<xs:complexContent>
<xs:extension base="Address">
<xs:sequence>
<xs:element name="RecipientName" type="NonEmptyString"/>
<xs:element name="RecipientPhoneNumber"
type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="RewardProgram">
<xs:sequence>
<xs:element name="RewardNumber" type="xs:string"/>
<xs:element name="RewardId" type="xs:string"/>
<xs:element name="RewardName" type="xs:string" minOccurs="0"/>
<xs:element name="ExpiryMonth" type="Month" minOccurs="0"/>
<xs:element name="ExpiryYear" type="Year" minOccurs="0"/>
<xs:element name="ExtensionPoint" type="ExtensionPoint"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="NonEmptyString">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Country">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="EmailAddress">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Zaz0-9!#-'\*\+\-/=\?\^_`\{-~]+)*@[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Zaz0-9!#-'\*\+\-/=\?\^_`\{-~]+)*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Month">
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="12"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Year">
<xs:restriction base="xs:int">
<xs:minInclusive value="2013"/>
84
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<xs:pattern value="\d{4}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ExtensionPoint">
<xs:sequence>
<xs:any maxOccurs="unbounded" processContents="lax"
namespace="##any"/>
</xs:sequence>
<xs:anyAttribute/>
</xs:complexType>
</xs:schema>
V6/Checkout -Sample Response
URL: https://api.mastercard.com/online/v6/checkout/512345
<Checkout>
<Card>
<BrandId>master</BrandId>
<BrandName>MasterCard</BrandName>
<AccountNumber>5435579315709649</AccountNumber>
<BillingAddress>
<City>Anytown</City>
<Country>US</Country>
<Line1>100 Not A Real Street</Line1>
<PostalCode>63011</PostalCode>
</BillingAddress>
<CardHolderName>Joe Test</CardHolderName>
<ExpiryMonth>02</ExpiryMonth>
<ExpiryYear>2016</ExpiryYear>
</Card>
<TransactionId>72525</TransactionId>
<Contact>
<FirstName>Joe</FirstName>
<MiddleName>M</MiddleName>
<LastName>Test</LastName>
<Gender>M</Gender>
<DateOfBirth>
<Year>1975</Year>
<Month>03</Month>
<Day>28</Day>
</DateOfBirth>
<NationalID>30258374209</NationalID>
<Country>US</Country>
<EmailAddress>[email protected]</EmailAddress>
<PhoneNumber>1-9876543210</PhoneNumber>
</Contact>
<ShippingAddress>
<City>O Fallon</City>
<Country>US</Country>
<CountrySubdivision>US-AK</CountrySubdivision>
<Line1>1 main street</Line1>
85
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<PostalCode>63368</PostalCode>
<RecipientName>Joe Test</RecipientName>
<RecipientPhoneNumber>1-9876543210</RecipientPhoneNumber>
</ShippingAddress>
<WalletID>101</WalletID>
<RewardProgram>
<RewardNumber>123</RewardNumber>
<RewardId>1234</RewardId>
<RewardName>ABC Rewards</RewardName>
<ExpiryMonth>02</ExpiryMonth>
<ExpiryYear>2015</ExpiryYear>
</RewardProgram>
</Checkout>
V6 - Checkout XML Details
CheckoutXML
Element
Description
Min–
Max
Type
Checkout
Root Element
XML
-
Checkout
Card
BrandId
XML
Alpha
Numeric
-
Card
Child Element
Identifies the card brand id e.g.
master for MasterCard.
Identifies the card brand name e.g.
MasterCard
Card number or primary account
number that identifies the card
Billing Address for the card holder
Cardholder name
Expiration month displayed on the
payment card.
Expiration year displayed on the
payment card.
Reserved for future enhancement.
Optional
Child Element
Child Element
Contact First Name
Contact Middle Name or Initial
Contact Surname
Contact Gender (M or F)
String
0-255
Integer
13-24
XML
String
1-100
XML
format
XML
format
BrandName
AccountNumber
BillingAddress
CardHolderName
ExpiryMonth
ExpiryYear
ExtensionPoint
Checkout
Checkout
Contact
Optional
TransactionID
Contact
FirstName
MiddleName
LastName
Optional*
Gender
Optional *
DateOfBirth
NOTE: This field may only be
requested from a MasterPass wallet
if it is required by law in a region.
Merchants and service providers
seeking to use this field must work
with the local MasterPass
representative to get the necessary
clearances before requesting these
data elements.
Contact DOB – YYYY/MM/DD
NOTE: This field may only be
requested from a MasterPass wallet
if it is required by law in a region.
Merchants and service providers
Date
Date
0-8
Any
-
String
XML
String
String
String
1-255
1-150
1-150
-
“M” or “F”
Sequence:
Year (Int);
Month (Int)
Day (Int)
Y (4)
M (2)
D (2)
86
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
CheckoutXML
Element
Description
Min–
Max
Type
seeking to use this field must work
with the local MasterPass
representative to get the necessary
clearances before requesting these
data elements.
Contact National Identification
Optional* (dependent on
merchant country of
incorporation and the
consumer country of
residence)
Optional
NationalID
Country
EmailAddress
PhoneNumber
DateOfBirth
Year
Month
Day
ExtensionPoint
Checkout
ShippingAddress
Address
ShippingAddress
Address
City
Country
CountrySubdivision
Line 1
Line 2
Line 3
PostalCode
ExtensionPoint
ShippingAddress
RecipientName
ShippingAddress
RecipientPhoneNumber
Checkout
Checkout
AuthenticationOptions
WalletID
AuthenticationOptions
AuthenticateMethod
NOTE: This field may only be
requested from a MasterPass wallet
if it is required by law in a region.
Merchants and service providers
seeking to use this field must work
with the local MasterPass
representative to get the necessary
clearances before requesting these
data elements.
Contact Country of Residence
Contact Email Address
Contact Phone
Contact DOB
Contact DOB Year
Contact DOB Month
Contact DOB Day
Reserved for future enhancement.
Optional
Child Element
Child Element
Cardholder’s city
Cardholder’s country. Defined by
ISO 3166-1 alpha-2 digit country
codes e.g. US is United States, AU
is Australia, CA is Canada, GB is
United Kingdom, etc.
Cardholder’s country subdivision.
Defined by ISO 3166-1 alpha-2 digit
code e.g. US-VA is Virginia, US-OH
is Ohio
Address line 1 used for Street
number and Street Name.
Address line 2 used for Apt
Number, Suite Number ,etc.
Address line 3 used to enter
remaining address information if it
does not fit in Line 1 and Line 2
Postal Code or Zip Code appended
to mailing address for the purpose
of sorting mail.
Reserved for future enhancement.
Optional
Name of person set to receive the
shipped order.
Phone of the person set to receive
the shipped order.
Child Element
Helps identify origin wallet
Method used to authenticate the
cardholder at checkout. Valid
values are “MERCHANT ONLY”,
“3DS” and “No Authentication”.
String
1-150
String
String
String
0-2
5-512
3-20
Integer
Integer
Integer
4
1-2
1-2
Any
-
XML
XML
String
0-25
String
2
String
5
String
1-40
String
0-40
String
0-255
String
0-20
Any
-
String
1-100
String
3-20
XML
String
3
Alpha
NA
87
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
CheckoutXML
Element
CardEnrollmentMethod
CAvv
EciFlag:
MasterCardAssignedID
PaResStatus
SCEnrollmentStatus
Description
Method by which the card was
added to the wallet. Valid values
are:
Manual
Direct Provisioned
3DS Manual
NFC Tap
(CAVV) Cardholder Authentication
Verification Value generated by
card issuer upon successful
authentication of the cardholder and
which should be . This should be
passed in the authorization
message
Electronic commerce indicator (ECI)
flag. Present when the PaRes value
is "Y" or "A." Possible values are;
MasterCard:
00-No Authentication
01-Attempts (Card Issuer Liability)
02- Authenticated by ACS (Card
Issuer Liability)
03-Maestro (MARP)
05-Risk Based Authentication
(Issuer, not in use)
06-Risk Based Authentication
(Merchant, not in use)
Visa:
05-Authenticated (Card Issuer
Liability)
06-Attempts (Card Issuer Liability)
07-No 3DS Authentication
(Merchant Liability)
This value is assigned by
MasterCard and represents
programs associated directly with
Maestro cards. This field should be
supplied in the authorization
request by the merchant.
A message formatted, digitally
signed, and sent from the ACS
(issuer) to the MPI providing the
results of the issuer’s
SecureCode/Verified by Visa
cardholder authentication. Possible
values are:
Y-the card was successfully
authenticated via 3DS
A-signifies that either; 1) the
transaction was successfully
authenticated via a 3DS attempts
transaction; or 2)The cardholder
was prompted to activate 3DS
during shopping but declined (Visa).
U-Authentication results were
unavailable
SecureCode Enrollment Status:
Indicates if the issuer of the card
supports payer authentication for
this card. Possible values are;
Y-The card is eligible for 3DS
authentication.
Type
Min–
Max
Alpha
NA
Alpha
Numeric
NA
Alpha
Numeric
NA
Alpha
Numeric
NA
Alpha
NA
Alpha
NA
88
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
CheckoutXML
Element
SignatureVerification:
XID
ExtensionPoint
Checkout
Reward Program
Reward Program
RewardNumber
RewardId
Reward Program
Description
N-The card is not eligible for 3DS
authentication.
U-Lookup of the card's 3DS
eligibility status was either
unavailable, or the card is
inapplicable (i.e. prepaid cards).
Signature Verification. Possible
values are:
Y- Indicates that the signature of
the PaRes has been validated
successfully and the message
contents can be trusted.
N-Indicates that for a variety of
reasons (tampering, certificate
expiration, etc.) the PaRes could
not be validated, and the result
should not be trusted.
Transaction identifier resulting from
authentication processing.
Reserved for future enhancement.
Optional
Child Element
Consumer’s reward number
associated with the reward program
ID associated with the reward
program
RewardName
Name of reward program
ExpiryMonth
Month the reward program expires
ExpiryYear
Year the reward program expires
ExtensionPoint
Reserved for future enhancement.
Optional
Min–
Max
Type
Alpha
NA
Alpha
Numeric
NA
Any
-
XML
Alpha
Numeric
Alpha
Numeric
Alpha
Numeric
Alpha
Numeric
Alpha
Numeric
Any
-
* Only when legally required and enabled by MasterPass
ExtensionPoint Elements
Starting with API v6, all schema container elements contain a new optional element named
“ExtensionPoint”. These elements are intended to provide expandability of the API without requiring a new
major version. These elements are defined to contain a sequence of “xs:any”, meaning that any XML
content can be contained within the element. In order to ensure future expandability, all integrators must not
perform any validation of elements received inside an ExtensionPoint element, beyond any that may be
defined by MasterPass in the future with a separate schema. Any such extensions will be optional. Further,
only authorized schemas will be allowed inside ExtensionPoint elements, and any unknown elements will be
dropped by MasterPass.
ExtensionPoint — Sample
<ExtensionPoint>
<s:SampleExtension
xmlns:s=”https://www.masterpass.com/location/of/example/ns”>
<s:SampleField>Sample Value</s:SampleField>
</s:SampleExtension>
89
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<f:AnotherExampleExtension
xmlns:f=”https://www.masterpass.com/location/of/example2/ns>
<f:SampleContainer>
<f:AnotherSampleField>Sample
Value</f:AnotherSampleField>
</f:SampleContainer>
</f:AnotherExampleExtension>
</ExtensionPoint>
Postback Service
Postback Parameters
Post
Transaction
Request
oauth_signature
X
oauth_version
X
oauth_nonce
X
oauth_signature_method
X
oauth_consumer_key
X
oauth_timestamp
X
oauth_body_hash
X
MerchantTransactions XML
X
Post
Transaction
Response
X
Postback Parameter Details
Post Transaction—Request
oauth_timestamp
RSA/SHA1 signature generated from the signature
base string
Oauth version.
Unique alphanumeric string generated from code
oauth signature method.
Consumer Key generated when creating a
checkout project on MasterPass Merchant portal
Current timestamp
oauth_body_hash
SHA1 hash of the message body
Merchant Transactions
XML
Transaction details
oauth_signature
Signature Base
String
Authorization
Header
oauth_version
oauth_nonce
oauth_signature_method
oauth_consumer_key
Transfer XML
Strings
Description
Post Transaction—Response
Transfer XML
Strings
Merchant Transactions
XML
Description
Possible
Values
Variable
1.0
Variable
RSA-SHA1
Variable
Variable
Variable
Possible
Values
Transaction details
Signature Base String Example
POST&https%3A%2F%2Fsandbox.api.mastercard.com%2Fmasterpass%2Fv6%2Ftransaction
&oauth_body_hash%3DycNt7A676VEY7i0SkyymKorihCg%253D%26oauth_consumer_key%3DcLb0
tKkEJhGTITp_6ltDIibO5Wgbx4rIldeXM_jRd4b0476c%2521414f4859446c4a366c726a32747469
5545332b353049303d%26oauth_nonce%3D26123188000346%26oauth_signature_method%3DRS
A-SHA1%26oauth_timestamp%3D1380054060%26oauth_version%3D1.0
90
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
HTTP Request Example
POST /masterpass/v6/transaction HTTP/1.1
Authorization: OAuth
oauth_signature="Aom0wFGFI7ItYV1IZFn125BoD6jgFtdX15dQ8XbjvMGgKgKtJ5awV7wSMGwUcc
eGlpl52HFS%2B%2BOQzVrCdXUidvgeKOX1nHDFhns0l1yIaqGdkJQYR%2BCQGu1qo7xVjvzTqpXUlrc
2uzVCjyLoQEroIWv5cAOj5l4aBxDopz7OKQA%3D",oauth_body_hash="ycNt7A676VEY7i0SkyymK
orihCg%3D",oauth_version="1.0",oauth_nonce="26123188000346",oauth_signature_met
hod="RSASHA1",oauth_consumer_key="cLb0tKkEJhGTITp_6ltDIibO5Wgbx4rIldeXM_jRd4b0476c%2141
4f4859446c4a366c726a327474695545332b353049303d",oauth_timestamp="1380054060"
MerchantTransactions Request—Schema
NOTE: Service providers using the File- and API-Based Onboarding method may ignore the optional
PreCheckoutTransactionId and ExpressCheckoutIndicator elements.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="MerchantTransactions" type="MerchantTransactions"/>
<xs:complexType name="MerchantTransactions">
<xs:sequence>
<xs:element name="MerchantTransactions"
type="MerchantTransactions" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ExtensionPoint" type="ExtensionPoint"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MerchantTransactions">
<xs:sequence>
<xs:element name="TransactionId" type="xs:string"/>
<xs:element name="ConsumerKey" type="xs:string" minOccurs="0"/>
<xs:element name="Currency" type="xs:string"/>
<xs:element name="OrderAmount" type="xs:long"/>
<xs:element name="PurchaseDate" type="xs:dateTime"/>
<xs:element name="TransactionStatus" type="TransactionStatus"/>
<xs:element name="ApprovalCode" type="xs:string"/>
<xs:element name="PreCheckoutTransactionId" type="xs:string"
minOccurs="0"/>
<xs:element name="ExpressCheckoutIndicator" type="xs:boolean"
minOccurs="0"/>
<xs:element name="ExtensionPoint" type="ExtensionPoint"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="TransactionStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="Success"/>
<xs:enumeration value="Failure"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ExtensionPoint">
<xs:sequence>
91
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<xs:any maxOccurs="unbounded" processContents="lax"
namespace="##any"/>
</xs:sequence>
<xs:anyAttribute/>
</xs:complexType>
</xs:schema>
HTTP Request Example
<MerchantTransactions>
<MerchantTransactions>
<TransactionId>4549794</TransactionId>
<ConsumerKey>0zMKpm0nFtUv8lLXT97jDRo2bp4vNF8MFYyt3R5R87e3f3f4!414b4867
5861677159682b563745776b593652377939673d</ConsumerKey>
<Currency>USD</Currency>
<OrderAmount>1229</OrderAmount>
<PurchaseDate>2014-08-01T14:52:57.539-05:00</PurchaseDate>
<TransactionStatus>Success</TransactionStatus>
<ApprovalCode>sample</ApprovalCode>
<PreCheckoutTransactionId>a4a6x55-rgb1c5-hyaqkemj-1-hybxhplo947</PreCheckoutTransactionId>
<ExpressCheckoutIndicator>false</ExpressCheckoutIndicator>
</MerchantTransactions>
</MerchantTransactions>
MerchantTransactionsResponse—Schema
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="MerchantTransactions" type="MerchantTransactions"/>
<xs:complexType name="MerchantTransactions">
<xs:sequence>
<xs:element name="MerchantTransactions"
type="MerchantTransactions" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ExtensionPoint" type="ExtensionPoint"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MerchantTransactions">
<xs:sequence>
<xs:element name="TransactionId" type="xs:string"/>
<xs:element name="ConsumerKey" type="xs:string" minOccurs="0"/>
<xs:element name="Currency" type="xs:string"/>
<xs:element name="OrderAmount" type="xs:long"/>
<xs:element name="PurchaseDate" type="xs:dateTime"/>
<xs:element name="TransactionStatus" type="TransactionStatus"/>
<xs:element name="ApprovalCode" type="xs:string"/>
<xs:element name="PreCheckoutTransactionId" type="xs:string"
minOccurs="0"/>
<xs:element name="ExpressCheckoutIndicator" type="xs:boolean"
92
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
minOccurs="0"/>
<xs:element name="ExtensionPoint" type="ExtensionPoint"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="TransactionStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="Success"/>
<xs:enumeration value="Failure"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ExtensionPoint">
<xs:sequence>
<xs:any maxOccurs="unbounded" processContents="lax"
namespace="##any"/>
</xs:sequence>
<xs:anyAttribute/>
</xs:complexType>
</xs:schema>
HTTP Response Example (response will be identical to the XML sent if call was successful)
<MerchantTransactions>
<MerchantTransactions>
<TransactionId>4549794</TransactionId>
<ConsumerKey>0zMKpm0nFt9682b563745776b593652377939673d</ConsumerKey>
<Currency>USD</Currency>
<OrderAmount>1229</OrderAmount>
<PurchaseDate>2014-08-01T14:52:57.539-05:00</PurchaseDate>
<TransactionStatus>Success</TransactionStatus>
<ApprovalCode>sample</ApprovalCode>
<PreCheckoutTransactionId>a4a6x55-rgb1c5-7</PreCheckoutTransactionId>
<ExpressCheckoutIndicator>true</ExpressCheckoutIndicator>
</MerchantTransactions>
</MerchantTransactions>
MerchantTransactionsXML—Details
MerchantTransactionsRequest
Element
Description
Min Max
Type
MerchantTransactions
MerchantTransactions
ExtensionPoint
TransactionID
MerchantTransactions
ConsumerKey
Reserved for future
enhancement. Optional
Uses the TransactionID element
of the Checkout XML
Automatically generated when
creating a checkout project on
MasterPass Merchant portal.
XML
-
Any
-
String
1-255
String
97
93
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Currency
OrderAmount
PurchaseDate
TransactionStatus
ApprovalCode
ExtensionPoint
MerchantTransactionsResponse
Element
Currency of the transaction.
Defined by ISO 4217 to be
exactly three characters, such as,
USD for US Dollars.
(Integer) Transaction order
amount without decimal e.g.
1500.
Date and Time of the shopping
cart purchase.
State of the transaction. Indicates
whether successful. Valid values
are Success or Failure.
Approval code returned to
merchant from merchant's
payment API with payment
gateway or service provider
Reserved for future
enhancement. Optional
Description
String
3
Integer
1-12
Date
XML
format
String
7
String
6
Any
Min Max
Type
MerchantTransactions
MerchantTransactions
ExtensionPoint
TransactionID
ConsumerKey
Currency
MerchantTransactions
OrderAmount
PurchaseDate
TransactionStatus
ApprovalCode
ExtensionPoint
Root Element
Reserved for future
enhancement. Optional
Uses the TransactionID element
of the Checkout XML
Automatically generated when
creating a checkout project on
MasterPass Merchant portal.
Currency of the transaction.
Defined by ISO 4217 to be
exactly three characters, such as,
USD for US Dollars.
Integer Transaction order amount
without decimal e.g. 1500.
Date and Time of the shopping
cart purchase e.g. 2012-0606T15:12:24.254-05:00
State of the transaction. Indicates
whether successful. Valid values
are Success or Failure.
Approval code returned to
merchant from merchant's
payment API with payment
gateway or service provider
Reserved for future
enhancement. Optional
XML
-
Any
-
String
1-255
String
97
String
3
Integer
1-12
Date
XML
format
String
7
String
6
Any
-
ExtensionPoint Elements
Starting with API v6, all schema container elements contain a new optional element named
“ExtensionPoint”. These elements are intended to provide expandability of the API without requiring a new
major version. These elements are defined to contain a sequence of “xs:any”, meaning that any XML
content can be contained within the element. In order to ensure future expandability, all integrators must not
perform any validation of elements received inside an ExtensionPoint element, beyond any that may be
defined by MasterPass in the future with a separate schema. Any such extensions will be optional. Further,
only authorized schemas will be allowed inside ExtensionPoint elements, and any unknown elements will be
dropped by MasterPass.
94
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
ExtensionPoint—Sample
<ExtensionPoint>
<s:SampleExtension
xmlns:s=”https://www.masterpass.com/location/of/example/ns”>
<s:SampleField>Sample Value</s:SampleField>
</s:SampleExtension>
<f:AnotherExampleExtension
xmlns:f=”https://www.masterpass.com/location/of/example2/ns>
<f:SampleContainer>
<f:AnotherSampleField>Sample
Value</f:AnotherSampleField>
</f:SampleContainer>
</f:AnotherExampleExtension>
</ExtensionPoint>
File-Based Merchant Onboarding
Merchant Upload Schema
The file schema can be downloaded from the MasterPass - Merchant Checkout - Documentation page on
Developer Zone.
Merchant Upload Schema Details
NOTE: Please contact Merchant Support for details regarding how to specify a reward program for a
merchant in the Merchant Upload file.
MerchantUpload
Mandatory
/Optional
Description
Merchant
Merchant Details
Element
M
Variable
SPMerchantId
Service Provider
Issued Merchant
ID. This should be
unique per Service
Provider
String
M
Variable
Action
Merchant
Type
Element
Profile
CheckoutBrand
AuthOption
Merchant Action
Merchant Profile
String
M
Child
Mandatory
for Create
and
Update.
Not used
for Delete.
Branding
Information
Child
Authentication
Options
Child
Mandatory
for Create,
Optional for
Update and
Delete
Min
1
1
Max
Comment
e.g.
123456789
1
Valid
values are
C (Create),
U (Update)
and D
(Delete)
1
Mandatory
for Create
(Action=C)
and Update
(Action=U)
At least one
CheckoutBr
and
element
MUST be
present for
merchant
creation.
Variable
per
95
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Merchant
MerchantAcquirer
Name
DoingBusAs
FedTaxId
Profile
Url
BusinessCategory
Address
Phone
Acquirer
Address
Child
Merchant Name
String
M
1
255
String
M
1
255
String
O
1
100
String
M
5
1000
String
O
1
255
Doing Business As
- Alias
Merchant’s
Federal Tax ID
Merchant’s
Website URL
Merchant’s
business type
Merchant’s
Address
Merchant’s Phone
Merchant’s
Acquirer
Child
Child
O
Merchant’s City
M
1
25
Country
Merchant’s
Country
M
2
2
Country
Subdivision
Line2
Line3
PostalCode
CountryCode
Phone
Merchant’s
Country
Subdivision.
Defined by ISO
3166-1 alpha-2
digit code e.g. USVA is Virginia, USOH is Ohio
Merchant’s
Address Line 1
Merchant’s
Address Line 2
Merchant’s
Address Line 3
Merchant’s Postal
Code
Merchant’s phone
country code
Number
Merchant’s phone
Number
Action
Merchant Acquirer
action
Id
Merchant’s
Acquirer Id
Name
Merchant’s
Acquirer Name
e.g. XYZ
Pizza
E.g. XYZ
Pizza Inc
e.g.
999990001
e.g.
www.xyzpiz
za.com
e.g.
Restaurant
Child
City
Line1
Acquirer
Merchant Acquirer
String
e.g. New
York
Standard 2letter ISO
3166
country
codes e.g.
US
O
1
100
if defined
choose
string (1100) or
defined
enumerator
e.g. US-NY
M
1
40
e.g. 1 Main
Street
O
1
40
O
1
40
M
1
10
e.g. 10001
M
1
10
e.g. 75
M
3
20
O
1
1
M
1
15
e.g. 453214
250
e.g., Test
Acquirer.
3DS
merchants
must
reduce their
M
1
e.g.
978545343
2
Valid
values are
C (Create),
U (Update),
and D
(Delete)
96
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
AssignedMerchan
tId
Acquirer assigned
merchant ID
M
1
255
Password
Acquirer Password
for 3DS setup
O
1
8
CheckoutId
Name
O
1
255
e.g.
a4c411by7l
ob4i81xb6r
41i820mw3
n151
M
1
255
e.g. XYZ
Pizza
DisplayName
Display Name
M
1
255
ProductionUrl
Production
checkout URL
M
5
255
SandboxUrl
Sandbox checkout
URL
M
5
255
LogoUrl
Merchant logo
displayed on
MasterPass site
during checkout. If
not specified, the
Name is displayed
O
2
2000
CheckoutBrand
CardBrand
Card brands
enrolled for
advanced
authentication
M
NA
NA
Type
Authentication type
M
NA
NA
Action
Action
O
0
C, U,
or D
AuthOption
MerchantAcquirer
If not specified for
Update Action,
then MasterPass
will produce a
unique checkout
ID.
Name displayed
on MasterPass site
during checkout
when no logo is
provided
Child
character
limit to 250
to meet
Cardinal
Commerce’s
API
specifications.
e.g.
435t6543
e.g., Visa.
3DS
merchants
must
reduce their
character
limit to 8 to
meet
Cardinal
Commerce’s
API
specifications.
e.g. XYZ
Pizza
e.g.
https://xyzpi
zza.com
e.g.
https://test.
xyzpizza.co
m
e.g.
http://xyzpiz
za.com/log
o.jpg
Refer to the
schema to
get valid
values. For
example,
for
MasterCard
, use
"MASTER".
Refer to the
schema to
get valid
values.
Used to
create (C),
update (U)
97
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
or delete
(D) Visa
Password
Acquirer
MerchantAcquirer
Brand
Acquirer
Merchant Acquirer
Brand
Child
Child
M
CardBrand
Card Brand
M
NA
NA
Currency
Currency
O
3
3
MerchantAcquirer
Brand
Refer to the
schema to
get valid
values. For
example,
for
MasterCard
, use
"MASTER".
ISO 4217
standard 3letter
currency
code. Refer
to the
schema to
get valid
values.
NOTE: If
this field is
left blank,
then all
currency
codes will
be enabled.
Merchant Upload Sample—Create
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantUpload>
<Merchant>
<SPMerchantId>SPMerch58401</SPMerchantId>
<Action>C</Action>
<Profile>
<Name>SPMerch58401</Name>
<DoingBusAs>SPMerch58401</DoingBusAs>
<FedTaxId>211624440</FedTaxId>
<Url>https://SPMerch58401.com</Url>
<BusinessCategory>test</BusinessCategory>
<Address>
<City>SPMerch58401</City>
<Country>US</Country>
<Line1>898 SPMerch58401</Line1>
<PostalCode>78090</PostalCode>
</Address>
<Phone>
<CountryCode>1</CountryCode>
<Number>3734517671</Number>
</Phone>
<Acquirer>
<Id>292978156</Id>
98
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<Name>QATESTACQ</Name>
<AssignedMerchantId>MCQA1</AssignedMerchantId>
</Acquirer>
</Profile>
<CheckoutBrand>
<Name>SPMerch58401</Name>
<DisplayName>SPMerch58401</DisplayName>
<ProductionUrl>https://SPMerch58401.com</ProductionUrl>
<SandboxUrl>https://SPMerch58401.com</SandboxUrl>
<LogoUrl>http://www.mastercard.us/_globalAssets/img/nav/n
avl_logo_mastemasterca.png</LogoUrl>
</CheckoutBrand>
</Merchant>
</MerchantUpload>
Merchant Upload Sample—Create with Advanced Authentication Settings (3DS) for MasterCard
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantUpload xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Merchant>
<SPMerchantId>022416_TESTMERCH</SPMerchantId>
<Action>C</Action>
<Profile>
<Name>022416_TESTMERCH</Name>
<DoingBusAs>022415testmerchant</DoingBusAs>
<Url>http://www.testmerchant.com</Url>
<Address>
<City>Padova</City>
<Country>IT</Country>
<Line1>Boettgerstr</Line1>
<PostalCode>35129</PostalCode>
</Address>
<Phone>
<CountryCode>39</CountryCode>
<Number>0614554552</Number>
</Phone>
</Profile>
<CheckoutBrand>
<Name>022416_TESTMERCH</Name>
<DisplayName>022416_TESTMERCH</DisplayName>
<ProductionUrl>https://TESTMERCH.com</ProductionUrl>
<SandboxUrl>http://TESTMERCH.com</SandboxUrl>
</CheckoutBrand>
<AuthOption>
<CardBrand>MASTER_CARD</CardBrand>
<Type>ALL_TRANSACTIONS</Type>
</AuthOption>
<MerchantAcquirer>
<Acquirer>
<Id>523078</Id>
99
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<Name>CartaSI</Name>
<AssignedMerchantId>001</AssignedMerchantId>
</Acquirer>
<MerchantAcquirerBrand>
<CardBrand>MASTER_CARD</CardBrand>
<Currency>EUR</Currency>
</MerchantAcquirerBrand>
</MerchantAcquirer>
</Merchant>
</MerchantUpload>
Merchant Upload Sample—Create with Advanced Authentication Settings (3DS) for Visa
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantUpload>
<Merchant>
<SPMerchantId>SPMerchantId1</SPMerchantId>
<Action>C</Action>
<Profile>
<Name>XYZ Pizza</Name>
<DoingBusAs>XYZ Pizza</DoingBusAs>
<FedTaxId>123456785</FedTaxId>
<Url>https://xyzpizza.com</Url>
<BusinessCategory>Restaurant</BusinessCategory>
<Address>
<City>Springfield</City>
<Country>US</Country>
<Line1>1234 Main Street</Line1>
<PostalCode>12345</PostalCode>
</Address>
<Phone>
<CountryCode>1</CountryCode>
<Number>1234567895</Number>
</Phone>
</Profile>
<CheckoutBrand>
<Name>XYZ Pizza</Name>
<DisplayName>XYZ Pizza</DisplayName>
<ProductionUrl>https://test.xyzpizza.com</ProductionUrl>
<SandboxUrl>https://xyzpizza.com</SandboxUrl>
<LogoUrl>http://www.xyzpizza.com/logo.png</LogoUrl>
</CheckoutBrand>
<AuthOption>
<CardBrand>VISA</CardBrand>
<Type>ALL_TRANSACTIONS</Type>
</AuthOption>
<MerchantAcquirer>
<Action>C</Action>
<Acquirer>
<Id>12345678</Id>
100
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<Name>CRDNLDEMO4</Name>
<AssignedMerchantId>00710212014</AssignedMerchantId>
<Password>tester456</Password>
</Acquirer>
<MerchantAcquirerBrand>
<CardBrand>VISA</CardBrand>
<Currency>USD</Currency>
</MerchantAcquirerBrand>
</MerchantAcquirer>
</Merchant>
</MerchantUpload>
Merchant Upload Sample—Update
NOTE: If the Checkout ID is not included in the Checkout Brand element, then MasterPass will produce a
unique checkout ID for merchant record.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantUpload>
<Merchant>
<SPMerchantId>SPMerchantId1</SPMerchantId>
<Action>U</Action>
<Profile>
<Name>XYZ Pizza Co</Name>
<DoingBusAs>XYZ Pizza</DoingBusAs>
<FedTaxId>999999999</FedTaxId>
<Url>https://xyzpizza.com</Url>
<BusinessCategory>Restaurant</BusinessCategory>
<Address>
<City>Springfield</City>
<Country>US</Country>
<Line1>1 Main Street</Line1>
<PostalCode>12345</PostalCode>
</Address>
<Phone>
<CountryCode>1</CountryCode>
<Number>1234567895</Number>
</Phone>
</Profile>
<CheckoutBrand>
<CheckoutId> a466w1sj09wfehqqy3xxl12</CheckoutId>
<Name>XYZ Pizza</Name>
<DisplayName>XYZ Pizza Co</DisplayName>
<ProductionUrl>https://test.xyzpizza.com</ProductionUrl>
<SandboxUrl>https://xyzpizza.com</SandboxUrl>
<LogoUrl>http://www.xyzpizza.com/logo.png</LogoUrl>
</CheckoutBrand>
</Merchant>
</MerchantUpload>
Merchant Upload Sample—Update
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
101
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<MerchantUpload>
<Merchant>
<SPMerchantId>SPMerch58401</SPMerchantId>
<Action>U</Action>
<Profile>
<Name>SPMerch58401</Name>
<DoingBusAs>SPMerch58401</DoingBusAs>
<FedTaxId>211624440</FedTaxId>
<Url>https://SPMerch58401.com</Url>
<BusinessCategory>test</BusinessCategory>
<Address>
<City>SPMerch58401</City>
<Country>US</Country>
<Line1>898 SPMerch58401</Line1>
<PostalCode>78090</PostalCode>
</Address>
<Phone>
<CountryCode>1</CountryCode>
<Number>3734517671</Number>
</Phone>
<Acquirer>
<Id>292978156</Id>
<Name>QATESTACQ</Name>
<AssignedMerchantId>MCQA1</AssignedMerchantId>
</Acquirer>
</Profile>
<CheckoutBrand>
<Name>SPMerch58401</Name>
<DisplayName>SPMerch58401</DisplayName>
<ProductionUrl>https://SPMerch58401.com</ProductionUrl>
<SandboxUrl>https://SPMerch58401.com</SandboxUrl>
<LogoUrl>http://www.mastercard.us/_globalAssets/img/nav/navl_logo_maste
rcardcom.png</LogoUrl>
</CheckoutBrand>
</Merchant>
</MerchantUpload>
Merchant Upload Sample with Advanced Authentication Settings (3DS)—Update
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantUpload xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Merchant>
<SPMerchantId>022416_TESTMERCH</SPMerchantId>
<Action>U</Action>
<Profile>
<Name>022416_TESTMERCH</Name>
<DoingBusAs>022415testmerchant</DoingBusAs>
<Url>http://www.testmerchant.com</Url>
<Address>
<City>Padova</City>
<Country>IT</Country>
102
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<Line1>Boettgerstr</Line1>
<PostalCode>35129</PostalCode>
</Address>
<Phone>
<CountryCode>39</CountryCode>
<Number>0614554552</Number>
</Phone>
</Profile>
<CheckoutBrand>
<CheckoutId>a4a6w4vr8jzii6j0wk2e1i6kx962m2gle</CheckoutId>
<Name>022416_TESTMERCH</Name>
<DisplayName>022416_TESTMERCH</DisplayName>
<ProductionUrl>https://TESTMERCH.com</ProductionUrl>
<SandboxUrl>http://TESTMERCH.com</SandboxUrl>
</CheckoutBrand>
<AuthOption>
<CardBrand>MASTER_CARD</CardBrand>
<Type>ALL_TRANSACTIONS</Type>
</AuthOption>
<AuthOption>
<CardBrand>VISA</CardBrand>
<Type>ALL_TRANSACTIONS</Type>
</AuthOption>
<MerchantAcquirer>
<Acquirer>
<Id>523078</Id>
<Name>CartaSI</Name>
<AssignedMerchantId>001</AssignedMerchantId>
</Acquirer>
<MerchantAcquirerBrand>
<CardBrand>MASTER_CARD</CardBrand>
<Currency>EUR</Currency>
</MerchantAcquirerBrand>
</MerchantAcquirer>
<MerchantAcquirer>
<Acquirer>
<Id>453997</Id>
<Name>CartaSI</Name>
<AssignedMerchantId>011</AssignedMerchantId>
</Acquirer>
<MerchantAcquirerBrand>
<CardBrand>VISA</CardBrand>
<Currency>EUR</Currency>
</MerchantAcquirerBrand>
</MerchantAcquirer>
</Merchant>
</MerchantUpload>
103
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Merchant Upload Sample—Delete
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantUpload>
<Merchant>
<SPMerchantId>SPMerchantId1</SPMerchantId>
<Action>D</Action>
</Merchant>
</MerchantUpload>
Merchant Upload Sample—Delete
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantUpload>
<Merchant>
<SPMerchantId>SPMerch58401</SPMerchantId>
<Action>D</Action>
<Profile>
<Name>SPMerch58401</Name>
<DoingBusAs>SPMerch58401</DoingBusAs>
<FedTaxId>211624440</FedTaxId>
<Url>https://SPMerch58401.com</Url>
<BusinessCategory>test</BusinessCategory>
<Address>
<City>SPMerch58401</City>
<Country>US</Country>
<Line1>898 SPMerch58401</Line1>
<PostalCode>78090</PostalCode>
</Address>
<Phone>
<CountryCode>1</CountryCode>
<Number>3734517671</Number>
</Phone>
<Acquirer>
<Id>292978156</Id>
<Name>QATESTACQ</Name>
<AssignedMerchantId>MCQA1</AssignedMerchantId>
</Acquirer>
</Profile>
<CheckoutBrand>
<Name>SPMerch58401</Name>
<DisplayName>SPMerch58401</DisplayName>
<ProductionUrl>https://SPMerch58401.com</ProductionUrl>
<SandboxUrl>https://SPMerch58401.com</SandboxUrl>
<LogoUrl>http://www.mastercard.us/_globalAssets/img/nav/navl_log
l_mastercardcom.png</LogoUrl>
</CheckoutBrand>
</Merchant>
</MerchantUpload>
Merchant Upload Sample with Advanced Authentication Settings (3DS)—Delete
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantUpload xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
104
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<Merchant>
<SPMerchantId>022416_TESTMERCH</SPMerchantId>
<Action>D</Action>
<Profile>
<Name>022416_TESTMERCH</Name>
<DoingBusAs>022415testmerchant</DoingBusAs>
<Url>http://www.testmerchant.com</Url>
<Address>
<City>Padova</City>
<Country>IT</Country>
<Line1>Boettgerstr</Line1>
<PostalCode>35129</PostalCode>
</Address>
<Phone>
<CountryCode>39</CountryCode>
<Number>0614554552</Number>
</Phone>
</Profile>
<CheckoutBrand>
<CheckoutId>a4a6w4vr8jzii6j0wk2e1i6kx962m2gle</CheckoutId>
<Name>022416_TESTMERCH</Name>
<DisplayName>022416_TESTMERCH</DisplayName>
<ProductionUrl>https://TESTMERCH.com</ProductionUrl>
<SandboxUrl>http://TESTMERCH.com</SandboxUrl>
</CheckoutBrand>
<AuthOption>
<CardBrand>MASTER_CARD</CardBrand>
<Type>ALL_TRANSACTIONS</Type>
</AuthOption>
<AuthOption>
<CardBrand>VISA</CardBrand>
<Type>ALL_TRANSACTIONS</Type>
</AuthOption>
<MerchantAcquirer>
<Acquirer>
<Id>523078</Id>
<Name>CartaSI</Name>
<AssignedMerchantId>001</AssignedMerchantId>
</Acquirer>
<MerchantAcquirerBrand>
<CardBrand>MASTER_CARD</CardBrand>
<Currency>EUR</Currency>
</MerchantAcquirerBrand>
</MerchantAcquirer>
<MerchantAcquirer>
<Acquirer>
<Id>453997</Id>
<Name>CartaSI</Name>
<AssignedMerchantId>011</AssignedMerchantId>
</Acquirer>
<MerchantAcquirerBrand>
<CardBrand>VISA</CardBrand>
<Currency>EUR</Currency>
</MerchantAcquirerBrand>
</MerchantAcquirer>
</Merchant>
</MerchantUpload>
105
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Please refer to the FAQs for additional sample scenarios for using Create, Update and Delete at
https://developer.mastercard.com/portal/display/api/MasterPass+-+Merchant+Checkout+-+FAQs.
Merchant Upload Validate Response Schema Details
ValidateFileResponse
Element
Description
ValidatedMerchant
Validation
Details of a
Merchant
MerchantId
ValidatedMerchant
ErrorText
ExtensionPoint
ExtensionPoint
Name
Identifier of
the merchant
defined by
the Service
Provider
Description
of validation
error
Reserved for
future
enhancemen
t.
Merchant
Name
Type
Mandatory /
Optional
Element
M
String
M
Max
Comment
Variable
1
1
e.g.
STGQA09
VBMU0140:
merchantId
already
exists for
serviceProvi
derId=28541
5466 and
spMerchantI
d=STGQA09
M
0
unbou
nded
Optional
0
unbou
nded
M
1
255
String
Any
Min
String
e.g. XYZ
Pizza
Merchant Download Schema
The file schema can be downloaded from the MasterPass - Merchant Checkout - Documentation page on
Developer Zone.
Merchant Download Schema Details
MerchantDownload
MerchantDownload
Mandatory
/Optional
Min
Max
Summary of the
Upload
List of merchants
uploaded/edited
Element
M
-
-
System assigned
Batch ID
Desctiption provided
during file upload
Integer
M
Variable
M
1
50
1
255
Description
Summary
MerchantResp
onseRecord
BatchId
Description
Summary
Type
Element
Element
String
Date/Time
UploadTimestam
p
Upload Time Stamp
UploadFileName
Upload File Name
Comment
M
String
M
e.g. 277800
e.g. Merchant
file upload
DateTime
field e.g.
2013-0518T11:45:19.
444-05:00
e.g.
merchant.xml
106
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
SuccessCount
FailureCount
ErrorText
Number of
successfully
uploaded Merchant
Brandings
Number of
unsuccessfully
uploaded Merchant
Brandings
Description of errors
resulting upload
failures
Integer
M
NA
NA
e.g. 490
M
NA
NA
e.g. 10
O
1
255
e.g. Invalid
Format
Integer
String
String
SandboxKey
Developer’s
sandbox API key
1
50
1
50
String
ProductionKey
Developer’s
production key
SPMerchantId
Merchant identifier
for a specific Service
provider
String
M
Child
MerchantResponseR
ecord
CheckoutBrand
Checkout Branding
ErrorText
Error description for
failure
Name
CheckoutIdentifi
er
CheckoutBrand
ProductionUrl
SandboxUrl
Checkout Brand
Name
Checkout identifier
generated by
MasterPass
Production
Checkout Branding
URL
Sandbox Checkout
Branding URL
String
String
String
String
Variable
e.g.,
245d5a537a4
57c2f2b55644
b7041426944
49644b56673
d9d
e.g.,
245d5a537a4
57c2f2b55644
b7041426944
49644b56673
d9d
e.g. 12345
Choice
(ErrorText or
CheckoutBra
nd)
O
1
255
M
1
255
M
1
255
M
5
255
M
5
255
e.g. Invalid
rewards logo
URL
e.g. XYZ
Pizza
e.g.
a4a6x3oehb3f
zhgu2e
e.g.
https://xyzpizz
a.com
e.g.
https://test.xyz
pizza.com
Merchant Download Sample
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantDownload>
<Summary>
<BatchId>277800</BatchId>
<Description>Merchant Upload</Description>
<UploadTimestamp>2013-05-18T11:45:19.444-05:00</UploadTimestamp>
<UploadFileName>merchant_1.xml</UploadFileName>
<SuccessCount>1</SuccessCount>
<FailureCount>0</FailureCount>
<ProjectKeys>
<SandboxKey>41496b7a452f35764d715752755579436b70467871476f3d</SandboxKey>
<ProductionKey>41496b7a452f35764d715752755579436b70467871476f3d</ProductionKey>
107
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
</ProjectKeys>
</Summary>
<MerchantResponseRecord>
<SPMerchantId>SPMerchantId1</SPMerchantId>
<CheckoutBrand>
<Name>XYZ Pizza</Name>
<CheckoutIdentifier>a4a6x3oehb3fzh</CheckoutIdentifier>
<ProductionUrl>https://test.xyzpizza.com</ProductionUrl>
<SandboxUrl>https://xyzpizza.com</SandboxUrl>
</CheckoutBrand>
</MerchantResponseRecord>
</MerchantDownload>
Merchant Download Sample with Advanced Authentication Settings (3DS)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantDownload Version="1.1">
<Summary>
<BatchId>285395970</BatchId>
<Description>1P_Upload_MC_3DS.xml</Description>
<UploadTimestamp>2015-04-03T15:00:12.331-05:00</UploadTimestamp>
<UploadFileName>1P_Upload_MC_3DS (1).xml</UploadFileName>
<SuccessCount>1</SuccessCount>
<FailureCount>0</FailureCount>
<ProjectKeys>
<SandboxKey>456d5a537a346c2f2b55644b704142694449644b56673d3d</SandboxKey>
<ProductionKey>456d5a537a346c2f2b55644b704142694449644b56673d3d</ProductionKey>
</ProjectKeys>
</Summary>
<MerchantResponseRecord>
<SPMerchantId>022416_RAMA</SPMerchantId>
<CheckoutBrand>
<Name>022416_RAMA</Name>
<CheckoutIdentifier>a4c411by7lob4i81xb6r41i820mw3n151</CheckoutIdentifier>
<ProductionUrl>https://RAMA.com</ProductionUrl>
<SandboxUrl>http://RAMA.com</SandboxUrl>
</CheckoutBrand>
<MerchantAcquirer>
<ID>523078</ID>
<Name>CartaSI</Name>
<AssignedMerchantID>001</AssignedMerchantID>
<DSStatus>Not Submitted</DSStatus>
</MerchantAcquirer>
</MerchantResponseRecord>
</MerchantDownload>
108
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Single-Merchant API Service
Single-Merchant API
The Single-Merchant API is used by service providers to onboard merchant information one at a time to
MasterPass through the Open Feed Project. The XML schema for the Single-Merchant API is the same as
that used for the File-Based Merchant onboarding via the merchant and service provider portal. See the
Merchant Upload Schema and Merchant Download Schema for details.
Single-Merchant API Parameters
Upload
oauth_signature
X
oauth_version
X
oauth_nonce
X
oauth_signature_method
X
oauth_consumer_key
X
oauth_timestamp
X
oauth_body_hash
X
Merchant Upload XML
X
Response
X
Merchant Download XML
Single-Merchant API Parameter Details
MerchantUpload—Request
Signature Base String
Possible
Values
oauth_signature
RSA/SHA1 signature generated from the
signature base string
Variable
oauth_version
Oauth version
1.0
oauth_nonce
Unique alphanumeric string generated
from code
Variable
oauth_signature_method
oauth signature method
RSASHA1
oauth_consumer_key
Consumer Key generated when creating a
checkout project on MasterPass Merchant
portal
Variable
oauth_timestamp
Current timestamp
Variable
oauth_body_hash
SHA1 hash of the message body
Variable
MerchantUpload
Uploaded Merchant Information (XML)
Authorization Header
Merchant Upload XML
Description
MerchantDownload—Response
Description
Possible
109
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Values
Merchant Download
MerchantDownload
Results File of a Merchant Upload
Signature Base String Example
POST&https%3A%2F%2F.api.mastercard.com%2Fmasterpasspsp%2Fv6%2Fcheckoutproject%2
F[0-9]+%2Ffile
&oauth_body_hash%3D8K9uhveZjVdZW8AIYiXpR70KCtk%253D%26oauth_consumer_key%3DcLb0
tKkEJhGTITp_6ltDIibO5Wgbx4rIldeXM_jRd4b0476c%2521414f4859446c4a366c726a32747469
5545332b353049303d%26oauth_nonce%3DDEAEB1CD-CA03-405D-A7B4B4263CB5A305%26oauth_signature_method%3DRSASHA1%26oauth_timestamp%3D1380049711%26oauth_version%3D1.0
HTTP Request Example
POST /masterpasspsp/v6/checkoutproject/[0-9]+/file
Authorization: OAuth
realm="eWallet",oauth_consumer_key="cLb0tKkEJhGTITp_6ltDIibO5Wgbx4rIldeXM_jRd4b
0476c%21414f4859446c4a366c726a327474695545332b353049303d",oauth_signature_metho
d="RSA-SHA1",oauth_nonce="DEAEB1CD-CA03-405D-A7B4B4263CB5A305",oauth_timestamp="1380049711",oauth_version="1.0",oauth_body_hash=
"8K9uhveZjVdZW8AIYiXpR70KCtk%3D",oauth_signature="IdV4%2FREyJ7nAXK%2FYvuJ2BtO4C
8t6PlW8xTrDob0WzWJ5%2FRBOPDj534Sm7oPdojivWTGOLAcZq3kbVF6rwrsjGFWlNJITXt3HT3zrav
b02oqTrVQH3Zlx5fi4o0u2xxqrDwHZvbhjPgwByBRmE%2FoTw2l9H%2FznSn45xcS1eJPa%2FGI%3D"
HTTP Response Sample
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantDownload version=”1.1”/>
<Summary>
<BatchId>10247700</BatchId>
<Description>test</Description>
<UploadTimestamp>2014-04-02T16:55:31.308-05:00</UploadTimestamp>
<UploadFileName>CreateMerchant1314.xml</UploadFileName>
<SuccessCount>1</SuccessCount>
<FailureCount>0</FailureCount>
<ProjectKeys>
<SandboxKey>5a4830514b4531706e326e44494953754c39594c46413d3d</SandboxKey>
<ProductionKey>414d7a322b4363567531485146614a48543351505670343d</ProductionKey>
</ProjectKeys>
</Summary>
<MerchantResponseRecord>
<SPMerchantId>Merchant13_03132014</SPMerchantId>
<CheckoutBrand>
<Name>Merchant13_03132014</Name>
<CheckoutIdentifier>a4d6x6szgu68phtbovwx11htj5lew816jn</CheckoutIdentifier>
<ProductionUrl>http://gh-fxgx1r1.corp.mastercard.org</ProductionUrl>
<SandboxUrl>http://gh-fxgx1r1.corp.mastercard.org</SandboxUrl>
</CheckoutBrand>
</MerchantResponseRecord>
</MerchantDownload>
110
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
HTTP Response Sample
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantDownload Version="1.1">
<Summary>
<BatchId>21946024</BatchId>
<Description>Uploaded Via API</Description>
<UploadTimestamp>2015-03-02T11:25:43.080-06:00</UploadTimestamp>
<UploadFileName>API_UPLOADED_RECORDS</UploadFileName>
<SuccessCount>1</SuccessCount>
<FailureCount>0</FailureCount>
<ProjectKeys>
<SandboxKey>5a7172776e4e2f4c2f6151366c2b4a6947334a3452413d3d</SandboxKey>
<ProductionKey>414f51415350374966414f4f504f78395a2b56573930513d</ProductionKey>
</ProjectKeys>
</Summary>
<MerchantResponseRecord>
<SPMerchantId>BAPPI01</SPMerchantId>
<CheckoutBrand>
<Name>BAPPI1</Name>
<CheckoutIdentifier>a4d6x32y2j9lsi6lbphnw1i6s50ybh14fa</CheckoutIdentifier>
<ProductionUrl>https://cccc.com</ProductionUrl>
<SandboxUrl>https://bbbbbb.com</SandboxUrl>
</CheckoutBrand>
</MerchantResponseRecord>
</MerchantDownload>
HTTP Response Sample with Advanced Authentication Settings (3DS)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantDownload Version="1.1">
<Summary>
<BatchId>285395970</BatchId>
<Description>1P_Upload_MC_3DS.xml</Description>
<UploadTimestamp>2015-04-03T15:00:12.331-05:00</UploadTimestamp>
<UploadFileName>1P_Upload_MC_3DS (1).xml</UploadFileName>
<SuccessCount>1</SuccessCount>
<FailureCount>0</FailureCount>
<ProjectKeys>
<SandboxKey>456d5a537a346c2f2b55644b704142694449644b56673d3d</SandboxKey>
<ProductionKey>456d5a537a346c2f2b55644b704142694449644b56673d3d</ProductionKey>
</ProjectKeys>
</Summary>
<MerchantResponseRecord>
<SPMerchantId>022416_RAMA</SPMerchantId>
<CheckoutBrand>
<Name>022416_RAMA</Name>
<CheckoutIdentifier>a4c411by7lob4i81xb6r41i820mw3n151</CheckoutIdentifier>
<ProductionUrl>https://RAMA.com</ProductionUrl>
<SandboxUrl>http://RAMA.com</SandboxUrl>
111
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
</CheckoutBrand>
<MerchantAcquirer>
<ID>523078</ID>
<Name>CartaSI</Name>
<AssignedMerchantID>001</AssignedMerchantID>
<DSStatus>Not Submitted</DSStatus>
</MerchantAcquirer>
</MerchantResponseRecord>
</MerchantDownload>
Single-Merchant API Validation Service
The Single-Merchant API Validation Service is used by service providers to validate upload merchant prior
to actual onboarding submission via Open Feed Project. This process mimics the validation xml process via
the user interface used within the merchant portal. See the Merchant Upload Schema Details section for the
Merchant Upload Validate schema, the Merchant Upload Validate Response Schema Details section for the
Merchant Upload Validate Response schema, and the Validation Error Messages section of the appendix for
details of the validation error messages.
Single-Merchant API Validation Parameters
Upload
oauth_signature
X
oauth_version
X
oauth_nonce
X
oauth_signature_method
X
oauth_consumer_key
X
oauth_timestamp
X
oauth_body_hash
X
Merchant Upload XML
Validated Merchant Response
XML
X
Response
X
Single-Merchant API Validation Parameter Details
MerchantUpload—Request
Signature Base String
Authorization Header
Description
Possible
Values
oauth_signature
RSA/SHA1 signature generated from the
signature base string
Variable
oauth_version
Oauth version
1.0
oauth_nonce
Unique alphanumeric string generated
from code
Variable
oauth_signature_method
oauth signature method
RSASHA1
112
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
Merchant Upload XML
oauth_consumer_key
Consumer Key generated when creating a
checkout project on MasterPass Merchant
portal
Variable
oauth_timestamp
Current timestamp
Variable
oauth_body_hash
SHA1 hash of the message body
Variable
MerchantUpload
Uploaded Merchant Information (XML)
ValidatedMerchant—Response
Validated Merchant
ValidatedMerchant
Description
Possible
Values
Results of the merchant validation
HTTP Request Example
POST /masterpasspsp/v6/checkoutproject/[0-9]+/file/validation
Authorization: OAuth
oauth_signature="eWr32NfsnxEN%2FUiNX3ntaRvJPWKV6p0sqcy%2F5EiEgSCQYm3%2Bm8MPPvr0
5EdoRwDsm%2Fu7iqg8BA5P40WHdq0TsOX8k6NbFjZwWXZuLv%2BkqRS6oFBJH0sL4ajdE%2BcevuJiR
M6wSZ1LLwCwniUE%2Fm81r%2F43KWQPIw7KGgUYDndz5T4%3D",oauth_body_hash="CWrePW5A%2B
KMde7DxI5mBpNVr%2Fok%3D",oauth_version="1.0",oauth_nonce="17157164231493",oauth
_signature_method="RSASHA1",oauth_consumer_key="ewdIBgRu1i6uCoFjuWGU4BNGDb0Udvh26N_mYah68efd62f9%2141
496b7a452f35764d715752755579436b70467871476f3d",oauth_timestamp="1432749165"
Signature Base String Example
POST&https%3A%2F%2Fapi.mastercard.com%2Fitf%2Fmasterpasspsp%2Fv6%2Fcheckoutproj
ect%2F285415568%2Ffile%2Fvalidation&oauth_body_hash%3DCWrePW5A%252BKMde7DxI5mBp
NVr%252Fok%253D%26oauth_consumer_key%3DewdIBgRu1i6uCoFjuWGU4BNGDb0Udvh26N_mYah6
8efd62f9%252141496b7a452f35764d715752755579436b70467871476f3d%26oauth_nonce%3D1
7157164231493%26oauth_signature_method%3DRSASHA1%26oauth_timestamp%3D1432749165%26oauth_version%3D1.0
Merchant Upload Validation Request Sample
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MerchantUpload>
<Merchant>
<SPMerchantId>STGQA09</SPMerchantId>
<Action>C</Action>
<CheckoutBrand>
<Name>STGQA09</Name>
<DisplayName>STGQA09</DisplayName>
<ProductionUrl>https://STGQA09.com</ProductionUrl>
<SandboxUrl>https://STGQA09.com</SandboxUrl>
<LogoUrl>http://www.mastercard.us/_globalAssets/img/nav/navl_logo_mastercardcom.png</LogoUrl>
</CheckoutBrand>
113
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
</Merchant>
</MerchantUpload>
Merchant Upload Validation Response Sample
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ValidateFileResponse>
<ValidatedMerchant>
<MerchantId>STGQA09</MerchantId>
<ErrorText>VBMU0140: merchantId already exists for serviceProviderId=285415466
and spMerchantId=STGQA09</ErrorText>
</ValidatedMerchant>
</ValidateFileResponse>
3DS Status
Service Providers can include Advanced Authentication information as an XML element during the File- and
API-Based Merchant Onboarding processes. This is done using the <MerchantAcquirer> element as
detailed starting on Page 75.
MasterCard uses a Third Party, Cardinal Commerce, to act as a Merchant Plug In (MPI) for the 3DS step-up
process. When used, 3DS will run for all checkout transactions for the appropriate card brand. Where
available, 3DS may be opted into for MasterCard, Maestro, and Visa only.
Once the File- or API-Based Merchant Onboarding process has been completed for a merchant, the Service
Provider can check on the 3DS status of the uploaded merchant.
The possible 3DS statuses are as follows:
•
•
•
•
NOTSUBMITTED: Merchant’s acquirer information has not been submitted to Cardinal Commerce
SUBMITTED: Merchant’s acquirer information has been submitted to Cardinal Commerce
ACTIVE: The Merchant has been successfully registered in the Cardinal Commerce system, and
the acquirer is participating. You are ready to process 3DS production transactions
ACQUIRERNOTPARTICIPATING: The acquirer ID (BIN) used in the merchant registration is not
valid. Upon receiving this message, contact the implementation manager assigned to work with
you on this implementation. If you don’t have an assigned implementation manager, send an
email—with the information listed in the Support section—to
[email protected].
An uploaded Merchant 3DS status can be checked in one of two ways:
114
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
1)
The Service Provider developer can click on the “Download Result File” button located with the
Checkout Project used to upload the Merchant.
The result file will show the current status of each Acquirer for the Merchant that was uploaded:
2)
The Service Provider developer can use the “Search” button found at the top of the Checkout
Project page:
When the Search Bar pops up, enter the SPMerchantID of the uploaded merchant:
115
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
The Search output will display the current 3DS status for the Merchant:
Developer Zone Key Renewal Process
Login to MasterCard’s Developer Zone (https://developer.mastercard.com), click My Account, then My
Dashboard.
116
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
On the My Dashboard page, click My Keys button, select the key you want to renew and then click on
Renew Key button.
In order to renew the API Key, you need to supply a PEM encoded Certificate Request File. Choose the file,
and click Submit. Notice the updated Key ID expiry date.
117
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
NOTE: If the CSR file is different than the CSR that was originally submitted when you created the key,
make sure that your application is using the correct key store (.p12), otherwise calls to MasterPass services
will fail.
Developer Zone Key Tool Utility
From the Add a Key screen, click Click Here, to launch the Key Tool utility.
Click on “Generate Keys and CSR” and then click on “Save to Files”. Next screen will prompt you to select
the password.
Choose the folder where you want to save the files. This utility will create the PEM and p12 file.
118
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
3DS Overview
Service Description
™
When enrolling for MasterPass, a merchant selects either Basic Checkout services, or Advanced Checkout
™
payer authentication services. Basic Checkout is already offered with the core MasterPass offering, and
facilitates a simple checkout experience. Advanced Checkout provides merchants a payer authentication
service to enable a merchant to authenticate its transactions with the issuer of the applicable card account
®
leveraging the 3D Secure protocol provided through the MasterCard SecureCode or Verified by Visa
programs (collectively, the “Programs”).
Merchants have two authentication options to choose from when implementing “Buy with MasterPass”
Button:
™
Basic Checkout: A simple checkout experience where a consumer logs in to their MasterPass wallet and
selects their payment method for use at the merchant site. The payment method will be returned to the
merchant for checkout completion.
»
No additional enrollment steps are required for merchant integration with Basic Checkout as it is part of
™
the core MasterPass Online services.
Advanced Checkout: When this option is selected by a merchant, Advanced Checkout will, on behalf of a
®
™
merchant, attempt authentication leveraging the MasterCard SecureCode or Verified by Visa protocols,
™
depending on the card selected by the consumer in connection with the purchase. At this time, MasterPass
supports only the brands included here. A merchant may choose this service for each supported card brand
offered, such as MasterCard cards, or Visa cards, or for both.
Before ‘Advanced Checkout’ is selected, a merchant must take the following actions:
»
»
»
»
»
®
™
A merchant must first be enrolled in the MasterCard SecureCode and/or Verified by Visa program, as
applicable, directly with their Acquirer. Merchants should contact their Acquirer in connection with any
such enrollment(s).
™
Merchant must, in connection with their MasterPass enrollment and Advanced Checkout opt-in,
provide the applicable Acquiring Merchant ID and Acquirer ID (BIN) for the appropriate card brand. In
connection with their Acquirer enrollment, merchants must also provide the Acquiring Merchant ID and
Acquirer ID (BIN) for each currency processed (dependent on the applicable Acquirer’s processing
requirements). Once submitted, it will take 5 business days to complete setup.
The merchant is responsible for providing accurate Acquirer data to MasterCard in connection with their
™
MasterPass enrollment and for updating such information on a timely basis should it change.
Providing accurate enrollment data to MasterCard is critical and required—without it, the merchant most
likely cannot receive the benefits of the Advanced Checkout service or of the associated Programs.
The merchant is responsible for submitting correctly formatted authorization and clearing ecommerce
®
™
values to their payment processor to indicate use of the MasterCard SecureCode or Verified by Visa
as defined by the Programs, respectively. Specifically, ECI and CAVV (if present) must be amended to
the Authorization request.
119
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
General Overview of Transaction Authentication
®
™
The MasterCard SecureCode and Verified by Visa payer authentication programs (also, “Programs”) are
based on the 3-D Secure Protocol.
Service Process Flow for Merchant who Select Advanced Checkout
™
1. Consumer shops online at merchant website and selects the MasterPass Checkout Button to pay.
2. The consumer logs into their wallet to access payment and shipping information.
3. The consumer selects their MasterCard, Maestro or Visa Card for a payment.
™
4. Based on the payment information provided, the MasterPass system receives a cmpi_lookup message
in order to check the card participation in the applicable card issuer’s payer authentication.
5. Based on the response, the status of the consumer’s participation in the applicable Program will be
identified. The three responses include an enrolled, not enrolled, and unavailable for authentication.
6. A. If the card is not enrolled or unavailable, there will be no consumer interaction with their issuing bank
™
and the applicable consumer’s MasterPass Wallet
™
a) Data will be returned to the merchant via MasterPass indicating that the merchant attempted to
authenticate the consumer with the issuer. The merchant will need to pass these data elements in
the authorization request, specifically the ECI value.
6. B. If the response is the consumer is enrolled in the applicable Program, the consumer will have an
interaction with their issuing bank. Below are the four consumer experiences that can occur. This is
™
controlled only by the card issuer and not the bank providing the MasterPass Wallet service.
b) Consumer enters issuer challenge
c) Consumer is asked to Activate their card for 3-D Secure
d) Attempts (Visa US only scenario)
Risk Based
Data will be returned indicating that the merchant attempted to authenticate the consumer with the
issuer, the merchant will need to pass these data elements in the authorization request, specifically
the ECI value, and AAV or CAVV.
7. The issuing bank encrypts the results of authentication between the consumer and their issuing bank
and returns this value to MasterPass.
8. MasterCard will receive a response indicating the result of authentication between the consumer and
their Issuing Bank. Below are the scenarios that can occur.
a) Consumer Fully Authenticates
b) Consumer Attempted Authentication (Prompted for Activation During Shopping and did Not Activate
their Card)
c) Failed Authentication
d) Issuing bank Unavailable
e) Attempts/Risk Based Authentication
9. Based on the Authentication response from Cardinal, MasterCard will prompt the consumer for another
form of payment or send back the authentication details to the Merchant for processing of the
transaction.
120
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
10. The authentication data sent back will be:
a) AAV (Accountholder Authentication Value): This value is generated by the issuer and presented to
the merchant for placement in the authorization request upon successful authentication of the
consumer
b) Authentication Method Used - Value should be created by Wallet for merchant to receive (Initial
possible values: "merchant only"; "3DS")
c) Card Enrollment status - Value should be created by Wallet for merchant to receive (Initial possible
values: "manual" ; "directly provisioned"; "3DS manual")
d) ECI (electronic commerce indicator) Flag
e) Pa Res Status
f) Secure Code Enrollment Status
g) Signature Verification
h) SLI (SecureCode Level Indicator)
11. Specifically the CAVV and the ECI value must be amended to the authorization in clearing messages in
accordance with program rules.
Important Merchant Information
MasterCard does not represent or warrant that the Advanced Checkout service referenced herein is free
from defects and mistakes and provides the service on an “as is” basis. No particular results are promised or
assured. Merchant expressly assumes all risk for the use of the Advanced Checkout service. MasterCard, at
all times, and in its sole discretion, reserves the right to begin and stop supporting any particular brand,
service and/or type of payment transaction.
Merchant indemnifies and holds harmless MasterCard from and against any claim, demand, loss, cost, or
expense arising from or relating to use of the Advanced Checkout services. MasterCard expressly disclaims
any responsibility with regard to the acts or omissions of any Merchant or other person in regard to its
™
compliance with applicable law or regulation. The signing or electronic signature of the MasterPass
™
Merchant Terms of Use for MasterPass services inclusive of Advanced Checkout, and the submission of
any other forms related thereto, including the Information Sheet referenced above, indicates that the
Merchant understands and agrees to the terms and conditions set forth herein. Merchant acknowledges that
its acceptance of these terms and conditions is relied upon by MasterCard in permitting the Merchant’s
™
participation in MasterPass and Advanced Checkout.
Validation Error Messages
The following table contains the error messages resulting from business validations. if there are any schema
errors in the file, they must be resolved first before the file can be validated for business rules.
Error Codes
Description
Sample Error Message
VBMU0100
Validate that a provided checkout brand data
element exists.
VBMU0100: minimum of one checkoutBrand
required : merchant-spMerchantId=STGQA09
VBMU0101
Validate that a merchant with action code “C” does
not include any brandings with checkout
identifiers.
VBMU0101: checkoutBrand cannot include
checkout identifiers on create :
checkoutId=a4a6w4vnkdeazi6c6ynxk1i6cdd6e2aki
VBMU0102
Validate that a provided checkout identifier exists
when using Action Code “U” within CheckoutBrand
VBMU0102: checkoutBrand does not exist :
121
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
data element.
checkoutId=a4d6x344fquvhi8ix0v6n1i8udwvar1zv6
VBMU0110
For Merchant Action Code “U” and Merchant
Acquirer Action Code “C," validate the merchant
acquirer doesn’t exist in Cardinal Commerce.
VBMU0110: invalid merchant acquirer actionCode
during create : actionCode=U
VBMU0111
For Merchant Action Code “U” and Merchant
Acquirer Action Codes “U” or “D," validate the
merchant acquirer does exist in Cardinal
Commerce.
VBMU0111: invalid merchant acquirer action code:
U or D
VBMU0112
Validate Profile data element exists in the
MerchantUpload XML file.
VBMU0112: merchant create requires profile for
spMerchantId=STGQA09
VBMU0120
Validate Reward Program Name is Unique.
VBMU0120: reward program name must be
unique: RAMAQA312, spMerchantId=STGQA09
VBMU0121
Validate Reward Program ID is Unique.
VBMU0121: reward program id must be unique:
RAMAQA312, spMerchantId=STGQA09
VBMU0130
Validate a Merchant Acquirer is provisioned in
Cardinal for a specified CardBrand.
VBMU0130: no merchant acquirer for cardbrand
type=MAESTRO
VBMU0140
Validate SPMerchantID is Unique when applying
Merchant Action Code of “C.”
VBMU0140: merchantId already exists for
serviceProviderId=305960760 and
spMerchantId=STGQA03
VBMU0141
Validate Merchant Acquirer ID is unique when
applying Merchant Action Code of “C.”
VBMU0141: invalid merchant acquirer
actionCode=C : acquirer record already exists :
acquirerId=523078 assignedMerchantId=001test
cardBrand=MASTER_CARD currencyCode=EUR
VBMU0142
Validate Merchant Acquirer ID exists in Cardinal
Commerce.
VBMU0142: acquirer id does not exist :
id=88848888, cardBrand=MASTER_CARD
VBMU0150
Validate SPMerchantID exists for Merchant Action
Codes "U" or "D".
VBMU0150: merchant not found for update or
delete
VBMU0160
Validate the SPMerchantID is alphanumeric and
less than 25 characters.
VBMU0160: invalid
assignedMerchantId=STGAPI21_******5681M,
must be alpha-numeric and less than 25
characters in length
VBMU0170
Validate the Merchant Acquirer CurrencyCode is
supported by Cardinal Commerce.
VBMU0170: unsupported currency code : USD
VBMU0171
Validate two merchant acquirers of the same
CardBrand are not configured to support the same
currency by Cardinal Commerce.
VBMU0171: acquirer card brand currency code
pairing must be unique
Validation Error Message Sample
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ValidateFileResponse>
<ValidatedMerchant>
<MerchantId>584RAMAKOTI07</MerchantId>
122
™
MasterPass Service Provider Onboarding & Integration Guide—
File- and API-Based Merchant Onboarding
<ErrorText>VBMU0140: merchantId already exists for serviceProviderId=5 and
spMerchantId=584RAMAKOTI07</ErrorText>
</ValidatedMerchant>
</ValidateFileResponse>
© 2014–2015 MasterCard. Proprietary and Confidential. All rights reserved.
123