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.
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.
For printed documents, MasterCard will bill principal members. Please refer to the appropriate MasterCard Consolidated Billing System (MCBS) document for billing-related information.
No assurances are given that the information provided herein is error-free. You acknowledge and agree that inaccuracies 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. MasterCard will not be responsible for any action you take as a result of this document, or any inaccuracies, inconsistencies, formatting errors, or omissions.
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.
MWMI
MasterCard has developed a suite of digital wallet services that form the foundation for delivering 1) our proprietary reference MasterPassTM by MasterCard® wallet product, 2) a customizable version of our proprietary product and 3) a discrete bundle of authentication and connection services that Partners can incorporate into their own user interfaces to enable those Partner products to utilize the MasterPass Acceptance Network.
This document provides instructions for Partners to integrate with the MasterPass APIs.Partners choosing this integration strategy must implement their own user interface for the MasterPass Partner- hosted wallet workflows. The MasterPass Selector within the widget allows users to select which MasterPass wallet they would like to use for a particular transaction (consumers may wish to use different wallets for different purposes). The Shopping Cart within the widget provides a summary of the checkout that is in progress. The wallet provider should integrate with the guidelines for the Lightbox user interface. It will manage display of the wallet selector and shopping cart functionality (previously handled by the Flyout Widget for legacy wallets). Dimensions along with screen areas will be discussed later in this guide.
As an option, the Partner-hosted wallet also allows Partners to implement their own wallet user interface, and gives them the option to store and manage card, address and related data for their consumers or utilize the MasterPass Wallet Storage API's. There may be circumstances where a Partner would not want to store specific wallet data because of infrastructure resource limitations or compliance implications. MasterPass offers the ability for Partners to store data such as Card and Billing information, Shipping addresses and Loyalty program details. This data can be fully managed by the Partner. The Wallet Storage APIs include four services. These are REST services with full CRUD (Create, Read, Update, and Delete) operations. Individual entities can be maintained through the Card, Shipping Address and Loyalty Program services. The Wallet service must be called first in order to obtain a Wallet identity and it can also be used later on to retrieve the individual entities as a complete set. The specific service interfaces are covered within the later sections of this guide.
This section will help the partners build and design their wallets.
All partners will need to comply with legacy implementations that merchants can have. For this version, this means that partners will need to make sure that their implementation works with v1 through v6.
To comply with the new sets of requirements and upgrade, partners will be expected to build:
- In-app experiences (see pairing, un-pairing, Connect and Express). These sections are marked with 'New for v6' annotation.
- Upgrade to fit with the lightbox experience (see section below) for both lightbox (shown for merchants that have upgraded to v6) and full screen lightbox (shown for merchants using v1 to v5 APIs)
Note: Before an upgrade, a partner wallet will show a fallback User Experience (similar to the current experience already built) for all merchants between v1 and v5 and the Standard checkout for v6. Wallets will be grayed out of the request calls and experiences that they can't manage prior to an upgrade (pairing, un-pairing, Connect and Express) MasterPass User Experiences.
There are a number of experiences that the partners will need to offer:
From partner's properties
The intent of that experience is to offer a means for consumers to register for the wallet and get fully setup in the wallet. The registration form would collect the necessary information from consumers to setup a wallet for them. Those details may differ per implementation but would at least end with the partner to have collected names, shipping and billing addresses, emails and phone numbers, security parameters (for instance, Security Questions if they are used), an explicit consent to accept Terms & Conditions and Privacy Policies. Those details can be either collected manually or provisioned if the partner can facilitate the User Experience by reducing the data collected.
The cards that consumers want to use would also need to be collected
Loyalty card details can also be collected during registration (optional).
During checkout
The intent for that experience is to offer a way for consumers to get setup and fully registered for the wallet when they started their interactions by shopping online and clicking on the MasterPass button. The details collected would be the same as the above registration but would need to be displayed in a checkout screen and the Optimized Experience screen
Add card and authentication
All cards added to the wallets must be authenticated with card issuers (with the exception of Private label cards). This authentication can take many forms and at least one needs to be completed. Note: requirements for Maestro are specific to that card type.
- Provisioning: Partners may decide to get the card information (16-digit numbers, expiry date and CVC/CVV2 details) directly from the card issuer as a source (either partial or the totally can be provisioned). If a partial provisioning is used, consumers will be asked for the remaining data fields.
-ASI, $0 or small amount authentication using a Payment Gateway: partners can also authenticate cards by sending an Auth message through Payment Gateway. This message can be an ASI, $0 or of a small local currency denomination.
-For Maestro cards (optional)
If the partner wants to enabled Maestro card,
Pairing
Pairing is a product introduced with our API version 6 which allows a simplified experience tailored for Merchant mobile applications or in-app experience. The experience takes place in 2 stages, the first time that a user goes through a checkout that can be paired; they will be asked for consent to share their details with that merchant. The second time the consumer will go through that experience, they will be benefiting from the simpler experience.
We also have introduced a distinction between 2 types of implementation of that same paired experience:
-"Connect" will allow all merchants to have a simplified experience that still requires an authentication and login by the consumer.
-"Express" will allow approved-by-MasterCard merchants to have an even simplified experience requiring no authentication and login by the consumer. Those merchants will require a separate Security approval and a different legal construct than the Connect merchants.
Connect Pairing during a non-checkout (New for v6)
The intent of that experience is to allow a merchant using Connect to pair the consumer with their wallet. This pairing will usually include: a login and consent for consumers to agree to share their details with the merchant.
Express Pairing during a non-checkout (New for v6)
The intent of that experience is to allow a merchant using Express to pair the consumer with their wallet. This pairing will usually include: a login, consent for consumers to agree to share their details with the merchant and consent to skip login when using that merchant's checkout.
Checkouts
Standard
Standard checkout is the main User Experience enabled for MasterPass. This would enable users to select and/or verify the payment information they want to use for that transaction: payment card, Shipping address if merchants requires it and loyalty details if merchant require it (optional))
Checkout including a new pairing for Connect (New for v6)
This checkout experience allows consumers to complete transaction and enable a new pairing of their wallet with merchants using Connect
Note: this flow will require the partner to maintain an open session for consumers during the whole flow. For this to work, the partner will not be able to use token as a base to their session management logic.
Checkout including a new pairing for Express (New for v6)
This checkout experience allows consumers to complete transaction and enable a new pairing of their wallet with merchants using Connect.
Note: this flow will require the partner to maintain an open session for consumers during the whole flow. For this to work, the partner will not be able to use token as a base to their session management logic.
Connect checkout (New for v6)
This checkout experience allows consumers to complete
transaction and enable a pairing of their wallet with merchants
using Connect
Express checkout (New for v6)
This checkout experience allows consumers to complete transaction and enable a pairing of their wallet with merchants using Express.
Authentication
Partners will also need to insure the integrity and security of their data and interface. Authentication is required at different points in the experiences:
All account management functionalities below can be enabled through existing user Experience and partner's existing assets. We strongly encourage them to also be easily accessible during a checkout where it makes sense.
Manage profileThe intent of the experience will be to allow consumers to change their details selected during registration (Examples: name, password, security questions).
Manage cards and billing address.This experience allows consumers to manage their cards. They should be able to add a new card and billing address, edit card details (where applicable) and delete cards.
We mandate that consumers can add at least one card during checkout without getting away from the main checkout flow.
We recommend attaching one Billing address to each new card added and not requiring billing addresses to be selected during each transaction.
All new cards need to be authenticated (please see requirement table in the section below.
Manage shipping addressesThis experience allows consumers to manage (add/edit/delete) their cards. We mandate that consumers can add at least one shipping address during checkout without getting away from the main checkout flow.
We recommend validating the addresses where systems exist to do so (for example: AVS in US).
Manage loyalty cards (Optional)This experience allows consumers to manage their loyalty card and numbers. They should be able to add/edit/delete loyalty numbers for each merchant existing loyalty program.
Manage paired / unpairing (New for v6)This experience allows consumers to manage and unpair their Connected relationships with merchants.
In order to implement your wallet, we recommend you to follow the following process:
When your wallet is finalized, it will need to be self-certified. Most of the requirements are written to provide guidance as to what is expected that the wallet would do, give specific guidance as to what would be mandatory and what would be useful best practices. At the end of the day, the partners are responsible for their user experience and implementation but MasterCard would like to ensure consistency of some parts of the experience and security.
A partner hosted wallet interfaces with MasterPass to manage customer data in a variety of checkout scenarios and account management.It can use MasterPass to store customer data with the wallet storage APIs.It can supply user data during a standard checkout.It can pair with a merchant for a streamlined checkout experience.It can enable express checkout to allow a 1-click checkout experience for the user to approved merchants.
A Note on Optional Parameters
There are several parameters in the OpenAPI services that are listed as optional but may be required based on the partner's configuration or the consumer's country of residence.It is expected that the partner understands these fields and provides values when they are expected to avoid errors.MasterPass will send the list of fields to be returned in a HTTPS post to the wallet. This integration document will describe those scenarios where they are expected.If you have any questions regarding a particular conditional field, please post it to the Partner Hosted Wallet Forum on the Developer Zone. https://developer.mastercard.com.
The following diagram details a flow of a checkout transaction using a Partner-hosted wallet. The Partner site is first engaged after the user selects a Partner-hosted wallet in step 8/Ph3. MasterPass will execute the Checkout Initialization exchange with the Partner-hosted wallet in order to start the sign in process. The Partner must present an interface to the user for logging in, selecting payment method and a shipping address (if applicable) and confirming the order. The Shipping Address Verification exchange can be used near step PH6 to confirm that the Merchant is willing to ship to each shipping address. Step PH9 involves the Partner site sending consumer selected card details and shipping information back to MasterPass by executing the Checkout Authorization exchange.
The below sequence diagram provides a different view of the transactions. The "Select MasterPass wallet" step is where MasterPass will redirect the browser to the Checkout Initialization URL. Shipping Address Verification would most likely be used at some point during the Partner-defined user experience.
The Checkout Authorization exchange is then executed in the "AuthorizeOrder" step. The Partner must then respond with a browser redirect in order to send control back to the merchant through the MerchantCallbackURL.
The MasterPass user interface introduced an optimized User Experience for v6, 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:
If a merchant is not yet upgraded and the partner is v6 enabled or the current browser being used is outdated the legacy user interface will be shown as a full screen lightbox.
If a partner requires to build a v1 to v5 wallets, they would need to refer to the respective API Integration guide specs. If need of help to locate such document, please contact your MasterCard representative.
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). The interior Lightbox dimensions specify the content area within which the Partner can design (see screenshot below).
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 (i.e. phone, smaller tablets). There is a 320 pixel width threshold for the content container.
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.
Under certain conditions, such as when 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.
Desktop browsers:
* Safari - 7 and higher
* IE 8 and higher
* Firefox (current and previous 2 versions)
* Chrome (current and previous 2 versions)
Mobile browsers:
* Safari on iOS
* Android browser
* Opera mini
* Chrome
Android Applications:
Ideally would not be device specific but include:
* ICS, JB, and KK (4.0.3 to 4.4)
* The 4 dpi levels in the Android best practice guide (small, normal, larger, x-large)
Developer Registration and Setup
Developers invited to integrate MasterPass on behalf of a Partner wallet provider will manage their integration activities through the MasterCard Developer Zone.
MasterCard Developer Zone is the repository of all the technical resources necessary for MasterPass Partner-hosted wallet integration. From the Developer Zone, developers will be able to:
To create a Developer Zone account, follow the URL in the developer invitation email or visit MasterCard Developer Zone (developer.mastercard.com) and click Create Account. After completing the account creation form, be sure to activate your account by following the instructions in the confirmation e-mail.
Generate Sandbox and Production API Keys
After creating your account, you will need to generate two sets of API keys (one each for the sandbox and production environments).
To create a Sandbox key, click My Account, then My Dashboard. On the My Dashboard page, click Get an API Key button, complete the form and click Submit
On the My Dashboard page, click My Keys button and then click on 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.
Complete the form, select Sandbox for Environment, and click Submit.
You will have Sandbox Key ID at this point as seen below.
You will now need to create an "App" so that a consumer key can be generated. You can do this multiple ways but one way is to simply click on the "My Apps" tab and click "Add an App".
Fill out the information as below and select the Sandbox Key you just created, click Submit.
You now will have a consumer key generated to use when accessing the MasterPass API's. (See below image).
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. Please note, Production keys require approval and will only be approved once the wallet has been created and certified in the Sandbox environment. It is therefore suggested to wait until you are close to moving to production before requesting.
After you create the Production Key as noted, you will need to grant it access to the Production Wallet API's. To do this, navigate to the Wallet Application under "My Apps" that you created in the earlier steps. (You should still see your sandbox consumer key there). Once in your App, click on "Add Prod Service". "Selects "MasterPass Provider" as the Service, select the Production Key you generated in the dropdown and then click Next.
You will get a confirmation message and then the image below which shows your Production Consumer key as pending. Once certified, keys can be approved by MasterCard and you then will receive an email, the pending message will disappear and the consumer key will have access to the production API's.
MasterPass APIs are hosted on the MasterCard OpenAPI platform. The MasterCard OpenAPI has authentication requirements designed to maintain the security of the MasterCard network and to ensure the safety of your customers' financial transactions.It depends on the OAuth 1.0a specification - an open standard that provides a process for users to authorize third-party access to their server resources without sharing their credentials.
As part of our OAuth implementation, MasterCard OpenAPI uses an RSA private key, and a corresponding public key delivered to MasterCard via a Certificate Signing Request. For requests that have a request body, we also utilize the Google body-hash extension for OAuth (see oauth_body_hash below).
You can create or access this certificate signing request by accessing My Dashboard (within Developer Zone). You register once per service you plan to utilize. You will be asked to generate a private-public key pair and a certificate signing request (CSR). You should receive a consumer key and signed certificate via email after registering. Please note that the signed certificate will not be used by you in generating the authorization, as covered below. Only the private key you generate and the consumer key we provide is used in generating the authorization elements.
You must keep the private key you generated to sign your requests. We recommend keeping your private key in a password-protected or hardware key store.
All HTTP Requests to OpenAPI need to add an Authorization Header. As you work through generating your Authorization header following the steps below, you may refer to this document to validate your implementation.
Following the OAuth 1.0a specification, the Authorization Header looks like this (No New Lines or Carriage Returns): The "OAuth<space>" is required:
oauth_consumer_key="AajmNcCn9oINP3qTATeAvS5relCzeex09tuqe8RT6e2690d9",
oauth_nonce="25400540855611",oauth_timestamp="1286917726",
oauth_version="1.0",oauth_body_hash="8CDsKsBpvFyMVMIdkZHi7ADckFA%3D",oauth_signature_method="RSA-SHA1",
oauth_signature="J20bH3rKwCDOsj6Rn4Q8XhYrFgNVfInpLm3zSQFM7awCn%2B%2BDIuu4TBRC3%2F1eTGqLPgWwKDNbNUAQ0ZTLuRTsliQNVTRyXAn6N6w2Vmv%2BC3xQR9Clvpjyzb0FKmwXOQrqMaX7QxP4hywoZG6idZsVCcyrEGffVm39jJ1%2B9AK59s8%3D"
Let's break this down item by item:
After all parts of the OAuth header have been generated, other than the oauth_signature parameter itself (but including the oauth_signature_format), you must generate the signature. Generating the signature is a two-step process:
The "signature base string" is the string that you will sign to prove your identity to MasterCard. The format is defined by the OAuth 1.0a specification, section 9.
Building the signature base string involves placing all the items that make up a request into a specific order. This order is extremely important, and is mandated explicitly by the specification. Since the MasterCard API gateway follows this order exactly, and then generates a signature, if you do not follow the order perfectly, your signature will not validate. Getting it correct can be difficult and tedious, and we encourage you to use an OAuth library if possible, as it will completely automate this time-consuming process.
The signature base string is made up of three major parts, delimited by an ampersand ("&"). The three sections are:
As mentioned, each of these sections should have an ampersand ("&") delimiter between them. The OAuth parameters and query string parameters should be URI encoded, so their ampersands become %26. In other words, the signature base string should have at most two ampersands ("&") in total.
Here's more detail on each of the three sections of the signature base string.
a=1,c=hi%20there,f=25,f=50,f=a,z=p,z=t
This sorting should happen after URI encoding.
At this point you should have the proper signature base string.
Your client code now needs to generate an RSA signature for this string using the private key you created when building the Certificate Signing Request when you registered your application on My Dashboard. Most development languages offer built in methods for generating an RSA signature.
You should now have an RSA signature that corresponds to your signature base string.
As the final step, you take this resulting encoded signature and add it to your Authorization header as the "oauth_signature". After this OAuth string is generated, it should be set as the "Authorization" header for the HTTP request to the service.
Refer to this document to validate your implementation, as well as the appendix to view sample requests and responses.
New v6 URL: Pairing URL | This URL is used to send a request for pairing | Require |
New v6 URL: Pre-checkout URL | This URL is used to send a request for pre-checkout data | Require |
New v6 URL: checkout URL | This URL is used to send a request of a Basic checkout, a Connected checkout and a checkout including a new pairing | Require |
New v6 URL: Logout URL | This URL is used by MasterCard to send to the URL including the session token so that partners know that a session is over | Require |
New v6 URL: Failed step-up URL | This URL is used when step-up has been required and failed. Partners should link back to a page where consumers have other options (select another card). | Require |
New v6 URL: WalletProvider URL | This URL is used if any of the other URL fails. | Require |
Note: These URLs are necessary for all v6 wallets to be appropriately setup although they do not require to be distinct depending on the partner's setup.
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 Value</f:AnotherSampleField> </f:SampleContainer> </f:AnotherExampleExtension> </ExtensionPoint>
The checkout process starts when a shopper clicks the MasterPass checkout button on a merchant site. This begins a set of exchanges that will bring the shopper through MasterPass, to the Partner site and back out to the merchant again.The checkout has a 15 minute timeout, so if the merchant does not come back to pick up the checkout data within that time limit, the checkout will need to be restarted.
Shoppers will be directed to the Partner site via a checkout initialization URL. Partners must inform MasterCard of this URL as part of the integration process in order for this flow to be configured. MasterPass will execute this URL when the user selects the Partner-hosted wallet. MasterPass will append the following parameters to the request based on which version of MasterPass the merchant has implemented:
MasterPass 3.0
The partner may need to adjust the data sent to the Checkout Authorization service based on the value of this parameter.See additional notes below.
Element | Description | Type | Min-Max |
oauth_token | oauth_token is sent in the signature base string, authorization header and redirect URL; required | alphanumeric | 40 |
checkout_version | 1-6; Required | string | - |
acceptable_cards | master, visa, amex, discover, maestro, diners; optional - all cards accepted if not passed | string | - |
suppress_shipping_address | Optional; v2 or later | boolean | - |
merchant_return_url | Return to merchant link; required | string | - |
merchant_name | Merchant name; required | string | - |
merchant_logo_url | Image url of merchant logo; Optional - merchant name will be displayed otherwise | string | - |
accept_reward_program | Merchant accepts reward programs; Optional; v4 or later | boolean | - |
shipping_location_profile | Identifies allowed shipping locations; Optional; v4 or later | string | - |
auth_options | master, maestro, visa, amex, discover, diners, NO_3DS; v3 or later | alpha | - |
cardinal_merchant_id | v3 or later | string | - |
amount | Subtotal of transaction | numeric | - |
currency | Currency of the transaction in 3-digit ISO format. For example, USD=840, EUR=978 | numeric | 3 |
order_number | Timestamp at the time the checkout initialization URL is requested; v3 or later | numeric | 1-50 |
A partner must implement a checkout initialization page that takes the above request parameters and stores them for later usage, and then starts the checkout flow.
After the consumer selects card and shipping information using a Partner-hosted wallet and clicks the "Review Your Order" button, the Partner must invoke the MasterCard Checkout Authorization Service, via OpenAPI, to authorize the checkout. See below for details on this service.
This is the service a Partner must use to authorize the merchant to access a consumer's checkout data. This is a REST service exposed on MasterCard OpenAPI infrastructure. We are currently up to version 6 of this service (supported merchant versions are v1,v2, v3, v4, v5, and v6) and there have been minor adjustments with each version along the way that impact the functionality that is supported by Merchants. The partner is required to use the Checkout Authorization Service schema version based on the version value provided by the merchant in the Checkout Initialization call parameter "checkout_version"(for V1-V5) and "version"(for V6). The currently supported V6 Checkout Authorization service schemas are identified below.
It is also expected that the service will continue to evolve as new capabilities are introduced. Partners must anticipate receiving a value of 'V7' in the future. It is required for partners to support the latest version of the API within 6 months of launch. As soon as new specifications are available, the partner will be contacted with the updates.
Note: as required by local law, some of those fields are enabled solely where there is a local law requirement (Date of Birth, National ID, Gender). Please speak to your local MasterCard Representative or ask on the Developer Zone forum if those fields would work in your country.
V1-V5
api.mastercard.com/online/partner/<version>/checkout Note: Replace the <version> tag in this URL with the version supplied in the Checkout Initialization call parameter "checkout_version". Then also use the appropriate version schema below to provide the checkout data to MasterPass.
V6
api.mastercard.com/masterpass/partner/<version>/checkout Note: Replace the <version> tag in this URL with the version supplied in the Checkout Initialization call parameter "version". Then also use the appropriate version schema below to provide the checkout data to MasterPass.
POST
XML
Here is XML Schema for both the request and response:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <xs:element name="AuthorizeCheckoutRequest" type="AuthorizeCheckoutRequest"/> <xs:element name="AuthorizeCheckoutResponse" type="AuthorizeCheckoutResponse"/> <xs:element name="Errors" type="Errors"/> <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> <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="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:sequence> </xs:complexType> <xs:complexType name="AuthorizeCheckoutRequest"> <xs:sequence> <xs:element name="OAuthToken" type="xs:string"/> <xs:element name="AuthorizedCheckout" type="AuthorizedCheckout"/> <xs:element name="Errors" type="Errors" minOccurs="0"/> <xs:element name="PreCheckoutTransactionId" type="xs:string" minOccurs="0"/> <xs:element name="MerchantParameterId" type="xs:string" minOccurs="0"/> <xs:element name="DeviceType" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="DESKTOP"/> <xs:enumeration value="MOBILE"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="AuthorizedCheckout"> <xs:sequence> <xs:element name="Card" type="Card"/> <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="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="Contact"> <xs:sequence> <xs:element name="FirstName" type="NonEmptyString"/> <xs:element name="MiddleName" 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="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: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="Language"> <xs:restriction base="xs:string"> <xs:pattern value="[a-z]{2}"/> </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"/> <xs:pattern value="\d{4}"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="EmailAddress"> <xs:restriction base="xs:string"> <xs:pattern value="[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*@[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="Gender"> <xs:restriction base="xs:token"> <xs:enumeration value="M"/> <xs:enumeration value="F"/> </xs:restriction> </xs:simpleType> <xs:complexType name="AuthorizeCheckoutResponse"> <xs:sequence> <xs:element name="MerchantCallbackURL" type="xs:string"/> <xs:element name="StepupPending" type="xs:boolean"/> <xs:element name="OAuthVerifier" type="xs:string" minOccurs="0"/> <xs:element name="PreCheckoutTransactionId" type="xs:string" minOccurs="0"/> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="Error"> <xs:sequence> <xs:element name="Description" type="xs:string" minOccurs="0"/> <xs:element name="ReasonCode" type="xs:string"/> <xs:element name="Recoverable" type="xs:boolean"/> <xs:element name="Source" type="xs:string"/> <xs:element name="Details" type="Details" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> <xs:complexType name="Errors"> <xs:sequence> <xs:element name="Error" type="Error" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="Details"> <xs:sequence> <xs:element name="Detail" type="Detail" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="Detail"> <xs:sequence> <xs:element name="Name" type="xs:string"/> <xs:element name="Value" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:schema>
Here is XML Schema for both the request and 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="AuthorizeCheckoutResponse" type="AuthorizeCheckoutResponse"/> <xs:complexType name="AuthorizeCheckoutResponse"> <xs:sequence> <xs:element name="MerchantCallbackURL" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="AuthorizeCheckoutRequest" type="AuthorizeCheckoutRequest"/> <xs:complexType name="AuthorizeCheckoutRequest"> <xs:sequence> <xs:element name="OAuthToken" type="xs:string"/> <xs:element name="AuthorizedCheckout" type="AuthorizedCheckout"/> </xs:sequence> </xs:complexType> <xs:complexType name="AuthorizedCheckout"> <xs:sequence> <xs:element name="Card" type="Card"/> <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:sequence> </xs:complexType> <xs:complexType name="Card"> <xs:sequence> <xs:element name="BrandId" type="xs:string"/> <xs:element name="BrandName" type="xs:string"/> <xs:element name="AccountNumber" type="xs:string"/> <xs:element name="BillingAddress" type="Address"/> <xs:element name="CardHolderName" type="xs:string"/> <xs:element name="ExpiryMonth" type="xs:string"minOccurs="0"/> <xs:element name="ExpiryYear" type="xs:string"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="Contact"> <xs:sequence> <xs:element name="FirstName" type="xs:string"/> <xs:element name="MiddleName" type="xs:string"minOccurs="0"/> <xs:element name="LastName" type="xs:string"/> <xs:element name="Gender" type="Gender"minOccurs="0"/> <xs:element name="DateOfBirth" type="DateOfBirth"minOccurs="0"/> <xs:element name="NationalID" type="xs:string"minOccurs="0"/> <xs:element name="Country" type="xs:string"minOccurs="0"/> <xs:element name="EmailAddress" type="xs:string"/> <xs:element name="PhoneNumber" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="DateOfBirth"> <xs:sequence> <xs:element name="Year" type="xs:long"/> <xs:element name="Month" type="xs:long"/> <xs:element name="Day" type="xs:long"/> </xs:sequence> </xs:complexType> <xs:simpleType name="Gender"> <xs:restriction base="xs:string"> <xs:enumeration value="M"/> <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="xs:string"/> <xs:element name="RecipientPhoneNumber" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="Address"> <xs:sequence> <xs:element name="City" type="xs:string"/> <xs:element name="Country" type="xs:string"/> <xs:element name="CountrySubdivision" type="xs:string"minOccurs="0"/> <xs:element name="Line1" type="xs:string"/> <xs:element name="Line2" type="xs:string"minOccurs="0"/> <xs:element name="Line3" type="xs:string"minOccurs="0"/> <xs:element name="PostalCode" type="xs:string"minOccurs="0"/> </xs:sequence> </xs:complexType> <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:sequence> </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"/> <xs:element name="ExpiryMonth" type="xs:string"minOccurs="0"/> <xs:element name="ExpiryYear" type="xs:string"minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:schema>
Here is XML Schema for both the request and 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="AuthorizeCheckoutResponse" type="AuthorizeCheckoutResponse"/> <xs:complexType name="AuthorizeCheckoutResponse"> <xs:sequence> <xs:element name="MerchantCallbackURL" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="AuthorizeCheckoutRequest" type="AuthorizeCheckoutRequest"/> <xs:complexType name="AuthorizeCheckoutRequest"> <xs:sequence> <xs:element name="OAuthToken" type="xs:string"/> <xs:element name="AuthorizedCheckout" type="AuthorizedCheckout"/> </xs:sequence> </xs:complexType> <xs:complexType name="AuthorizedCheckout"> <xs:sequence> <xs:element name="Card" type="Card"/> <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:sequence> </xs:complexType> <xs:complexType name="Card"> <xs:sequence> <xs:element name="BrandId" type="xs:string"/> <xs:element name="BrandName" type="xs:string"/> <xs:element name="AccountNumber" type="xs:string"/> <xs:element name="BillingAddress" type="Address"/> <xs:element name="CardHolderName" type="xs:string"/> <xs:element name="ExpiryMonth" type="xs:string"minOccurs="0"/> <xs:element name="ExpiryYear" type="xs:string"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="Contact"> <xs:sequence> <xs:element name="EmailAddress" type="xs:string"/> <xs:element name="FirstName" type="xs:string"/> <xs:element name="LastName" type="xs:string"/> <xs:element name="MiddleInitial" type="xs:string"minOccurs="0"/> <xs:element name="PhoneNumber" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="ShippingAddress"> <xs:complexContent> <xs:extension base="Address"> <xs:sequence> <xs:element name="RecipientName" type="xs:string"/> <xs:element name="RecipientPhoneNumber" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="Address"> <xs:sequence> <xs:element name="City" type="xs:string"/> <xs:element name="Country" type="xs:string"/> <xs:element name="CountrySubdivision" type="xs:string"minOccurs="0"/> <xs:element name="Line1" type="xs:string"/> <xs:element name="Line2" type="xs:string"minOccurs="0"/> <xs:element name="Line3" type="xs:string"minOccurs="0"/> <xs:element name="PostalCode" type="xs:string"minOccurs="0"/> </xs:sequence> </xs:complexType> <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:sequence> </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"/> <xs:element name="ExpiryMonth" type="xs:string"minOccurs="0"/> <xs:element name="ExpiryYear" type="xs:string"minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:schema>
Here is XML Schema for both the request and response:
<xs:schema version="1.0"xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="AuthorizeCheckoutResponse" type="AuthorizeCheckoutResponse"/> <xs:complexType name="AuthorizeCheckoutResponse"> <xs:sequence> <xs:element name="MerchantCallbackURL" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="AuthorizeCheckoutRequest" type="AuthorizeCheckoutRequest"/> <xs:complexType name="AuthorizeCheckoutRequest"> <xs:sequence> <xs:element name="OAuthToken" type="xs:string"/> <xs:element name="AuthorizedCheckout" type="AuthorizedCheckout"/> </xs:sequence> </xs:complexType> <xs:complexType name="AuthorizedCheckout"> <xs:sequence> <xs:element name="Card" type="Card"/> <xs:element name="Contact" type="Contact"/> <xs:element name="ShippingAddress" type="ShippingAddress"minOccurs="0"/> <xs:element name="AuthenticationOptions" type="AuthenticationOptions"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="Card"> <xs:sequence> <xs:element name="BrandId" type="xs:string"/> <xs:element name="BrandName" type="xs:string"/> <xs:element name="AccountNumber" type="xs:string"/> <xs:element name="BillingAddress" type="Address"/> <xs:element name="CardHolderName" type="xs:string"/> <xs:element name="ExpiryMonth" type="xs:string"minOccurs="0"/> <xs:element name="ExpiryYear" type="xs:string"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="Contact"> <xs:sequence> <xs:element name="EmailAddress" type="xs:string"/> <xs:element name="FirstName" type="xs:string"/> <xs:element name="LastName" type="xs:string"/> <xs:element name="MiddleInitial" type="xs:string"minOccurs="0"/> <xs:element name="PhoneNumber" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="ShippingAddress"> <xs:complexContent> <xs:extension base="Address"> <xs:sequence> <xs:element name="RecipientName" type="xs:string"/> <xs:element name="RecipientPhoneNumber" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="Address"> <xs:sequence> <xs:element name="City" type="xs:string"/> <xs:element name="Country" type="xs:string"/> <xs:element name="CountrySubdivision" type="xs:string"minOccurs="0"/> <xs:element name="Line1" type="xs:string"/> <xs:element name="Line2" type="xs:string"minOccurs="0"/> <xs:element name="Line3" type="xs:string"minOccurs="0"/> <xs:element name="PostalCode" type="xs:string"minOccurs="0"/> </xs:sequence> </xs:complexType> <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:sequence> </xs:complexType> </xs:schema>
Here is XML Schema for both the request and 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="AuthorizeCheckoutResponse" type="AuthorizeCheckoutResponse"/> <xs:complexType name="AuthorizeCheckoutResponse"> <xs:sequence> <xs:element name="MerchantCallbackURL" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="AuthorizeCheckoutRequest" type="AuthorizeCheckoutRequest"/> <xs:complexType name="AuthorizeCheckoutRequest"> <xs:sequence> <xs:element name="OAuthToken" type="xs:string"/> <xs:element name="AuthorizedCheckout" type="AuthorizedCheckout"/> </xs:sequence> </xs:complexType> <xs:complexType name="AuthorizedCheckout"> <xs:sequence> <xs:element name="Card" type="Card"/> <xs:element name="Contact" type="Contact"/> <xs:element name="ShippingAddress" type="ShippingAddress"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="Card"> <xs:sequence> <xs:element name="AccountNumber" type="xs:string"/> <xs:element name="BillingAddress" type="Address"/> <xs:element name="CardHolderName" type="xs:string"/> <xs:element name="ExpiryMonth" type="xs:string"minOccurs="0"/> <xs:element name="ExpiryYear" type="xs:string"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="Contact"> <xs:sequence> <xs:element name="EmailAddress" type="xs:string"/> <xs:element name="FirstName" type="xs:string"/> <xs:element name="LastName" type="xs:string"/> <xs:element name="MiddleInitial" type="xs:string"minOccurs="0"/> <xs:element name="PhoneNumber" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="ShippingAddress"> <xs:complexContent> <xs:extension base="Address"> <xs:sequence> <xs:element name="RecipientName" type="xs:string"/> <xs:element name="RecipientPhoneNumber" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="Address"> <xs:sequence> <xs:element name="City" type="xs:string"/> <xs:element name="Country" type="xs:string"/> <xs:element name="CountrySubdivision" type="xs:string"minOccurs="0"/> <xs:element name="Line1" type="xs:string"/> <xs:element name="Line2" type="xs:string"minOccurs="0"/> <xs:element name="Line3" type="xs:string"minOccurs="0"/> <xs:element name="PostalCode" type="xs:string"minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:schema>
ELEMENT |
APPLICABLE VERSION |
---|---|
AuthorizeCheckoutRequest.OAuthToken |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BrandID |
V3 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BrandName |
V3 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.AccountNumber |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.CardHolderName |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.ExpiryMonth |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.ExpiryYear |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.ExtensionPoint |
V6 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.Line1 |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.Line1 |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.Line2 |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.Line2 |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.Line3 |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.Line3 |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.City |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.City |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.Country, |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.Country |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.CountrySubdivision |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.CountrySubdivision |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.PostalCode |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.PostalCode |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.ExtensionPoint |
V6 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.ExtensionPoint |
V6 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.RecipientName |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.RecipientPhoneNumber |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.FirstName |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.MiddleName |
V5 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.MiddleInitial |
V4 and earlier |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.LastName |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.Gender |
V5 and later where law requires |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.DateOfBirth.Year |
V5 and later where law requires |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.DateOfBirth.Month |
V5 and later where law requires |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.DateOfBirth.Day |
V5 and later where law requires |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.DateOfBirth.ExtensionPoint |
V6 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.NationalID |
V5 and later where law requires |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.Country |
V5 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.EmailAddress |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.PhoneNumber |
All Versions |
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.ExtensionPoint |
V6 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.AuthenticateMethod |
V3 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.CardEnrollmentMethod |
V3 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.CAvv |
V3 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.EciFlag |
V3 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.MasterCardAssignedID |
V3 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.PaResStatus |
V3 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.SCEnrollmentStatus |
V3 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.SignatureVerification |
V3 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.Xid |
V3 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.ExtensionPoint |
V6 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.RewardProgram.RewardNumber |
V4 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.RewardProgram.RewardId |
V4 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.RewardProgram.RewardName |
V4 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.RewardProgram.ExpiryMonth |
V4 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.RewardProgram.ExpiryYear |
V4 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.RewardProgram.ExtensionPoint |
V6 and later |
AuthorizeCheckoutRequest.AuthorizedCheckout.ExtensionPoint |
V6 and later |
AuthorizeCheckoutRequest.ExtensionPoint |
V6 and later |
AuthorizeCheckoutRequest.PreCheckoutTransactionId |
V6 and later |
AuthorizeCheckoutRequest.MerchantParameterId |
V6 and later |
AuthorizeCheckoutRequest.DeviceType |
V6 and later |
AuthorizeCheckoutResponse.MerchantCallbackURL |
All Versions |
AuthorizeCheckoutResponse.OAuthVerifier |
V6 and later |
AuthorizeCheckoutResponse.StepupPending |
V6 and later |
AuthorizeCheckoutResponse.PreCheckoutTransactionId |
V6 and later |
AuthorizeCheckoutResponse.ExtensionPoint |
V6 and later |
AuthorizeCheckoutRequest.Errors |
V6 and later |
AuthorizeCheckoutResponse.MerchantCallbackURL
Description: This is the merchant callback URL that is returned from this service. This URL embeds all the information needed by the merchant to proceed with the checkout as request parameters. The partner must redirect the browser to this URL, after it is returned.
The following steps should be taken to ensure all parameters within the callback URL retain proper encoding:
Steps 2 and 3 look redundant since the result of step 3 looks just like step 1, but these steps are needed in case the merchant adds another URL to their callback URL as a parameter.
Original MerchantCallbackURL:
https://www.examplemerchant.com/checkout/mp_callback/22467?oauth_token=093be2d6066cdf809c724d3f2d919f91&oauth_verifier=7f407eebffcdbefa30e5d2bf36900022&checkout_resource_url=https%3A%2F%2Fapi.mastercard.com%2Fonline%2Fv4%2Fcheckout%2F3020426%3Fwallet%3Dphw
HTML Decoded:
https://www.tasteaway.com/checkout/mp_callback/22467?oauth_token=093be2d6066cdf809c724d3f2d919f91&oauth_verifier=7f407eebffcdbefa30e5d2bf36900022&checkout_resource_url=https%3A%2F%2Fapi.mastercard.com%2Fonline%2Fv4%2Fcheckout%2F3020426%3Fwallet%3Dphw
URL Decoded:
https://www.tasteaway.com/checkout/mp_callback/22467?oauth_token=093be2d6066cdf809c724d3f2d919f91&oauth_verifier=7f407eebffcdbefa30e5d2bf36900022&checkout_resource_url=https://api.mastercard.com/online/v4/checkout/3020426?wallet=phw
URL Encoded oauth_token, oauth_verifier, and checkout_resource_url parameter values
https://www.tasteaway.com/checkout/mp_callback/22467?oauth_token=093be2d6066cdf809c724d3f2d919f91&oauth_verifier=7f407eebffcdbefa30e5d2bf36900022&checkout_resource_url=https%3A%2F%2Fapi.mastercard.com%2Fonline%2Fv4%2Fcheckout%2F3020426%3Fwallet%3Dphw
AuthorizeCheckoutResponse.OAuthVerifier
Description: Verifier that the merchant we use to
retrieve their access token
Details: Optional, string
AuthorizeCheckoutResponse.StepupPending
Description: True if 3DS is required for a card being
passed in the checkout data
Details: Required, Boolean
AuthorizeCheckoutResponse.PreCheckoutTransactionId
Description: Partner will append this as a parameter to
their redirect URL in the case of a connected checkout.
Details: Optional, string
AuthorizeCheckoutRequest.OAuthToken
Description: This is oauth_token request parameter passed
in during Checkout Initialization phase.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout
Description: This is checkout data including payment
method, shipping address and consumer's contact information. These
data elements will be stored in a temporary store once it is
received by MasterPass and will be purged either when the checkout
session expires (assuming it was not retrieved) or after data is
accessed by the merchant.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BrandID
Description: The code that identifies the card as being a MasterCard, American Express, Visa, etc. The value must be obtained from the Card Brands Service as the CardBrand.Id.
Details: Required for versions V3 and later
NOTE: The BrandID and BrandName parameters should not be included if checkout_version parameter to Checkout Initialization is set to v1 or v2
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BrandName
Description: The display name of the card brand, such as MasterCard, American Express, Visa, etc. The value must be obtained from the Card Brands Service as the CardBrand.Name
Details: Required for versions V3 and later
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.AccountNumber
Description: This is the primary account number (PAN) printed on the card.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.CardHolderName
Description: This is the cardholder's name as printed on the card.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.ExpiryMonth
Description: Month in which the card will expire as printed on the card.
Details: Required, unless CardBrand.ExpDateRequired indicates otherwise
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.ExpiryYear
Description: Year in which the card will expire as printed on the card.
Details: Required, unless CardBrand.ExpDateRequired indicates otherwise
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress
Description: This is the billing address of the cardholder.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.Line1, AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.Line1
Description: Primary street address of the cardholder/customer.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.Line2, AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.Line2
Description: Optional second line of the street address of the cardholder/customer.
Details: Optional
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.Line3, AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.Line3
Description: Optional third line of the street address of the cardholder/customer.
Details: Optional
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.City, AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.City
Description: City associated with the address of the cardholder/customer.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.Country, AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.Country
Description: Country element must be set to standard 2-letters country code as defined in ISO 3166-2 (http://en.wikipedia.org/wiki/ISO_3166-2), such as US, GB etc.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.CountrySubdivision, AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.CountrySubdivision
Description: CountrySubdivision element must always be set to an ISO 3166-2 code for the following countries: Australia, Canada, Japan and the United States. It is also recommended that ISO 3166-2 codes be used for subdivisions within other countries as well, although these will not be validated by the service and any free text value or a blank value is acceptable. As a reference, US subdivision codes are defined here: http://en.wikipedia.org/wiki/ISO_3166-2:US; examples: US-VA, US-MO.
Details: Required for certain countries, recommended, but optional for others
AuthorizeCheckoutRequest.AuthorizedCheckout.Card.BillingAddress.PostalCode, AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.PostalCode
Description: Mail post office postal code (a.k.a. zip code) associated with the address of the cardholder/customer. This is currently required for US, CA, GB, JP, DE, and AU although the list may change over time.
Details: Required conditionally by country
AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.RecipientName
Description: Name of the person that the package should be delivered to.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.ShippingAddress.RecipientPhoneNumber
Description: Phone contact for the person that the package should be delivered to.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.FirstName
Description: First name (given name) of the customer making the purchase.
Details: Required
NOTE: The order of elements within the Contact node has changed in v5 of the schema. The elements must be alphabetical for v4 and earlier (EmailAddress, FirstName, LastName, MiddleInitial, PhoneNumber). The elements are provided in a logical order starting in v5 (FirstName, MiddleName, LastName, Gender, DateOfBirth, NationalID, Country, EmailAddress, PhoneNumber).
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.MiddleName
Description: Middle name of the customer making the purchase. It is required for certain countries and should not be specified for other countries.
Details: Required for certain countries
NOTE: This field was introduced in v5 and it may be required based on the consumer's country of residence.
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.LastName
Description: Last name (family name or surname) of the customer making the purchase.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.MiddleInitial
Description: Middle initial of the customer making the purchase.
Details: Optional
NOTE: This field was removed in v5 (replaced with MiddleName).
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.Gender
Description: This is the consumer's gender, either 'F' for female or 'M' for male. It is required for certain countries and should not be specified for other countries.
Details: Available in certain countries only, as required by local law
NOTE: This field was introduced in v5 and it may be required based on the consumer's country of residence.
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.DateOfBirth.Year
Description: This is the year of the consumer's date of birth. It is required for certain countries and should not be specified for other countries.
Details: Available in certain countries only, as required by local law
NOTE: This field was introduced in v5 and it may be required based on the consumer's country of residence.
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.DateOfBirth.Month
Description: This is the month of the consumer's date of birth. It is required for certain countries and should not be specified for other countries.
Details: Available in certain countries only, as required by local law
NOTE: This field was introduced in v5 and it may be required based on the consumer's country of residence.
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.DateOfBirth.Day
Description: This is the day of the consumer's date of birth. It is required for certain countries and should not be specified for other countries.
Details: Available in certain countries only, as required by local law
NOTE: This field was introduced in v5 and it may be required based on the consumer's country of residence.
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.NationalID
Description: This is the consumer's national id. It is required for certain countries and should not be specified for other countries.
Details: Available in certain countries only, as required by local law
NOTE: This field was introduced in v5 and it may be required based on the consumer's country of residence.
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.Country
Description: This is the consumer's country of residence. It is required whenever NationalID is provided.
Details: Available in certain countries only, as required by local law
NOTE: This field was introduced in v5.
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.EmailAddress
Description: Email address of the customer making the purchase.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.Contact.PhoneNumber
Description: Phone number of the customer making the purchase.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.AuthenticateMethod
Description: The method of authentication used during Checkout, if any.
Details: Optional
NOTE: The AuthenticationOptions elements can only be included if the checkout_version parameter in Checkout Initialization is set to 'v3' or later.
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.CardEnrollmentMethod
Description: Indicates the method by which the card was added to the Partner wallet. Acceptable values are the following:
Details: Optional
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.CAvv
Description: The <Cavv> value received on the Authenticate response from Cardinal.
Details: Optional (Required if received from Cardinal)
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.EciFlag
Description: The <EciFlag> value received on the Authenticate response from Cardinal.
Details: Optional (Required if received from Cardinal)
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.MasterCardAssignedID
Description: This field is part of the Maestro "MARP" program and does not need to be populated by the Partner.
Details: Optional
NOTE: The MasterCardAssignedID can only be included if the checkout_version parameter in Checkout Initialization is set to 'v4' or later.
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.PaResStatus
Description: The <PAResStatus> value received on the Authenticate response from Cardinal.
Details: Optional (Required if received from Cardinal)
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.SCEnrollmentStatus
Description: The <Enrolled> value received on the Lookup response from Cardinal.
Details: Optional (Required if received from Cardinal)
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.SignatureVerification
Description: The <SignatureVerification> value received on the Authenticate response from Cardinal.
Details: Optional (Required if received from Cardinal)
AuthorizeCheckoutRequest.AuthorizedCheckout.AuthenticationOptions.Xid
Description: The <Xid> value received on the Authenticate response from Cardinal.
Details: Optional (Required if received from Cardinal)
AuthorizeCheckoutRequest.AuthorizedCheckout.RewardProgram.Number
Description: This is the account number printed on the card.
Details: Required
NOTE: This and the other RewardProgram fields can only be included if the accept_reward_program parameter to Checkout Initialization is set to 'true'
AuthorizeCheckoutRequest.AuthorizedCheckout.RewardProgram.RewardID
Description: Identifies the reward program offering that this entity is part of. The value must be obtained from the Reward Program Offering Service as the RewardProgramOffering.Id.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.RewardProgram.RewardName
Description: Identifies the reward program offering that this entity is part of. The value must be obtained from the Reward Program Offering Service as the RewardProgramOffering.Name.
Details: Required
AuthorizeCheckoutRequest.AuthorizedCheckout.RewardProgram.ExpiryMonth
Description: Month in which the reward program will expire as printed on the card.
Details: Required for reward program offerings that include an expiration date
AuthorizeCheckoutRequest.AuthorizedCheckout.RewardProgram.ExpiryYear
Description: Year in which the reward program will expire as printed on the card.
Details: Required for reward program offerings that include an expiration date
**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
AuthorizeCheckoutRequest.AuthorizedCheckout.PreCheckoutTransactionId
Description: Unique ID of the precheckout transaction Id
Details: Optional
AuthorizeCheckoutRequest.AuthorizedCheckout.MerchantParameterId
Description: Unique ID of the merchant parameter Id
Details: Optional
<?xml version="1.0"encoding="UTF-8" standalone="yes"?> <AuthorizeCheckoutRequest> <OAuthToken>4sj4x12dxmw0bhwdt9h7q1hwduiisp1k3</OAuthToken> <AuthorizedCheckout> <Card> <BrandId>master</BrandId> <BrandName>MasterCard</BrandName> <AccountNumber>5215111111111111</AccountNumber> <BillingAddress> <City>Ofallon</City> <Country>US</Country> <CountrySubdivision>US-AR</CountrySubdivision> <Line1>123 Fake St</Line1> <Line2></Line2> <Line3></Line3> <PostalCode>32154</PostalCode> </BillingAddress> <CardHolderName>Lee M Cardholder</CardHolderName> <ExpiryMonth>3</ExpiryMonth> <ExpiryYear>2016</ExpiryYear> </Card> <Contact> <FirstName>Lee</FirstName> <MiddleName>Marvin</MiddleName> <LastName>CardHolder</LastName> <Gender>F</Gender> <DateOfBirth> <Year>1980</Year> <Month>2</Month> <Day>20</Day> </DateOfBirth> <Country>US</Country> <EmailAddress>test6@mc.com</EmailAddress> <PhoneNumber>6345644485</PhoneNumber> </Contact> <ShippingAddress> <City>Beverly Hills</City> <Country>US</Country> <CountrySubdivision>US-CA</CountrySubdivision> <Line1>123 Nowhere Street</Line1> <Line2></Line2> <Line3></Line3> <PostalCode>90210</PostalCode> <RecipientName>Lee Cardholder</RecipientName> <RecipientPhoneNumber>555-555-5555</RecipientPhoneNumber> </ShippingAddress> <AuthenticationOptions> <AuthenticateMethod>3DS</AuthenticateMethod> <CardEnrollmentMethod>Manual</CardEnrollmentMethod> <CAvv>jELUbgG+Tfj0AREACMLdCae+oIs=</CAvv> <EciFlag>02</EciFlag> <MasterCardAssignedID></MasterCardAssignedID> <PaResStatus>Y</PaResStatus> <SCEnrollmentStatus>Y</SCEnrollmentStatus> <SignatureVerification>Y</SignatureVerification> <Xid>akFUTFNhTkk1dlduWjBWeUVncjA=</Xid> </AuthenticationOptions> <RewardProgram> <RewardNumber>123728172</RewardNumber> <RewardId>123XYZ</RewardId> <RewardName>MyStarzReward</RewardName> <ExpiryMonth>12</ExpiryMonth> <ExpiryYear>2014</ExpiryYear> </RewardProgram> </AuthorizedCheckout> <PreCheckoutTransactionId>4sj4x12-dxmw0b-hwdt9h7q-1-hwdupih3-1ol</PreCheckoutTransactionId> <DeviceType>DESKTOP</DeviceType> </AuthorizeCheckoutRequest>
<?xml version="1.0"encoding="UTF-8" standalone="yes"?> <AuthorizeCheckoutResponse> <MerchantCallbackURL>http://www.masterpass.com/lightbox/Switch/callback.html?oauth_token=208a4feeda18917adffd22c23641ff67&oauth_verifier=367w4feeda18917adffd22c23641f321&checkout_resource_url=http%3A%2F%2Fapi.mastercard.com%3A8080%2Fonline%2Fmasterpass%2Fv6%2Fcheckout%2F423%3Fwallet%3Dphw&checkoutId=423</MerchantCallbackURL> <StepupPending>false</StepupPending> <OAuthVerifier>367w4feeda18917adffd22c23641f321</OAuthVerifier> <PreCheckoutTransactionId>4sj4x12-dxmw0b-hwdt9h7q-1-hwdupih3-1ol</PreCheckoutTransactionId> </AuthorizeCheckoutResponse>
In case an error occurs, Errors will be returned back as described in in Appendix: REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
Source |
Reason Code |
Description |
Recoverable |
---|---|---|---|
Request XML |
INVALID_INPUT_VALUE |
Request xml doesn't pass service's schema validation |
false |
Card |
INVALID_INPUT_LENGTH |
Card expired |
false |
PostalCode |
INVALID_INPUT_LENGTH |
PostalCode length is invalid |
false |
ExpiryMonth |
INVALID_INPUT_VALUE |
ExpiryMonth is required |
false |
ExpiryYear |
INVALID_INPUT_VALUE |
ExpiryYear is required |
false |
PhoneNumber |
INVALID_INPUT_LENGTH |
PhoneNumber length is invalid |
false |
CountrySubdivision |
INVALID_INPUT_VALUE |
CountrySubdivision in invalid |
false |
The Partner must invoke the MasterPass Shipping Address Verification Service on legacy checkouts (v1 to v5) to determine if the merchant is able to ship to a given set of shipping addresses for the wallet user. Multiple shipping addresses can be provided in one call and the service will inspect each address independently so that some of them may be accepted and some rejected. The response from the service will insert an 'Accepted' status next to each of the address locations. An 'Accepted' value of 'true' indicates that the merchant will ship to that address. An 'Accepted' value of 'false' means that the address is outside of the merchant's supported shipping locations.
If an address is not accepted by the merchant then the user should not be allowed to choose that shipping address as part of the checkout.
It is recommended to cache the Shipping Address Verification Service response to avoid unnecessary duplicate calls to the service within a single checkout transaction. However, if there are any changes or additions to the shipping addresses, then the cached response should be cleared and the service should be called again.
This service allows the Partner to verify during checkout whether shipping addresses of the consumer are accepted by the merchant. The Service only checks whether the Country and Country Subdivision are acceptable, not a specific address. This is a REST service exposed on MasterCard OpenAPI infrastructure.
Here is the interface specification:
https://api.mastercard.com/masterpass/partner/v6/verify-shipping-address
POST
XML
<?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="ShippingAddressVerificationRequest"type="ShippingAddressVerificationRequest"/> <xs:complexType name="ShippingAddressVerificationRequest"> <xs:sequence> <xs:element name="OAuthToken" type="xs:string"/> <xs:element name="VerifiableAddresses" type="VerifiableAddresses"/> <xs:element name="ShippingLocationProfileName"type="xs:string"minOccurs="0"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="VerifiableAddresses"> <xs:sequence> <xs:element name="VerifiableAddress" type="VerifiableAddress"nillable="false" maxOccurs="unbounded"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType type="VerifiableAddress"> <xs:sequence> <xs:element name="Country" type="xs:string"/> <xs:element name="CountrySubdivision" type="xs:string"minOccurs="0"/> <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>
ShippingAddressVerificationRequest.OAuthToken
Description: This is oauth_token request parameter passed in during Checkout Initialization phase.
ShippingAddressVerificationRequest.VerifiableAddresses
Description: This is the list of verifiable addresses that need to be verified. Each verifiable address consists of two fields, Country and CountrySubdivision.
Country element MUST be set to standard 2-letter country code as defined in ISO 3166-2 (en.wikipedia.org/wiki/ISO_3166-2), such as US, GB etc.
CountrySubdivision element must always be set to an ISO 3166-2 code for the following countries: Australia, Canada, Japan and the United States. It is also recommended that ISO 3166-2 codes be used for subdivisions within other countries as well, although these will not be validated by the service and any free text value or a blank value is acceptable. As a reference, US subdivision codes are defined here: en.wikipedia.org/wiki/ISO_3166-2:US; examples: US-VA, US-MO.
ShippingAddressVerificationRequest.ShippingLocationProfileName
Description: This is an optional parameter that should be obtained from the value of the shipping_location_profile parameter in the Checkout Initialization call. While this parameter is listed as optional, it is required if you receive this parameter from the merchant in the Checkout Initialization URL. Without this parameter, if provided by the merchant, you could get a false positive/negative on the shipping address.
**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
<ShippingAddressVerificationRequest> <OAuthToken>12342-ab212-aef23f-3223dd</OAuthToken> <VerifiableAddresses> <VerifiableAddress> <Country>US</Country> <CountrySubdivision>US-VA</CountrySubdivision> </VerifiableAddress> <VerifiableAddress> <Country>US</Country> <CountrySubdivision>US-MD</CountrySubdivision> </VerifiableAddress> </VerifiableAddresses> </ShippingAddressVerificationRequest>
<?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="ShippingAddressVerificationResponse" type="ShippingAddressVerificationResponse"/> <xs:complexType name="ShippingAddressVerificationResponse"> <xs:sequence> <xs:element name="OAuthToken" type="xs:string"/> <xs:element name="VerificationResults" type="VerificationResults"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="VerificationResults"> <xs:sequence> <xs:element name="VerificationResult" type="VerificationResult"nillable="false" maxOccurs="unbounded"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="VerificationResult"> <xs:sequence> <xs:element name="Country" type="xs:string"/> <xs:element name="CountrySubdivision" type="xs:string"minOccurs="0"/> <xs:element name="Accepted" type="xs:boolean"/> <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>
ShippingAddressVerificationResponse.VerificationResults
Descriptions: This is the list of verification results. Each verification result consists of Country, CountrySubdivision and Accepted elements. Accepted element is of Boolean type and indicates where a combination of Country and CountrySubdivision is accepted by the merchant for current checkout.
**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
<ShippingAddressVerificationResponse> <VerificationResults> <VerificationResult> <Country>US</Country> <CountrySubdivision>US-VA</CountrySubdivision> <Accepted>true</Accepted> </VerificationResult> <VerificationResult> <Country>US</Country> <CountrySubdivision>US-MD</CountrySubdivision> <Accepted>false</Accepted> </VerificationResult> </VerificationResults> </ShippingAddressVerificationResponse>
In case an error occurs, Errors will be returned back as described in Appendix REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
Source |
Reason Code |
Description |
Recoverable |
---|---|---|---|
OAuthToken |
MISSING_REQUIRED_INPUT |
OAuth Token is invalid |
false |
OAuthToken |
INVALID_INPUT_VALUE |
OAuth Token is invalid |
false |
Country |
MISSING_REQUIRED_INPUT |
Country is required |
false |
Users are able to add cards from various brands to their wallet. Major credit card brands are accepted for checkouts. It is also possible for users to complete checkouts with certain store brand cards. The full list of supported card brands will continue to evolve. Partners must invoke the MasterPass Card Brands Service to get the most up to date list.
This service will work together with the acceptable_cards parameter in the checkout initialization URL, but the two will likely have different lists. The acceptable_cards parameter provides the list of card brands that are accepted by a particular merchant for a particular checkout. The Card Brands service provides a superset of that same list - the full list of all possible cards that may be accepted by a merchant within the specified country. This list also includes any Private Label Cards (Retail Store Cards) that are accepted within that country. The acceptable_cards list includes only the card id whereas the Card Brands Service also includes more detail about each of the brands.
The service will only return card brands that are available for the provided country. The display names of the cards will be translated into the provided locale (language + country) if applicable.
It is recommended to cache the response from the Card Brands Service to avoid unnecessary duplicate calls. However, the data should be cleared within 1 hour so that changes to the list are propagated quickly.
This service allows the Partner to obtain the latest list of card brands that are supported for checkout. This is a REST service exposed on MasterCard OpenAPI infrastructure.
api.mastercard.com/masterpass/partner/v6/card-brands?language=<language>&country=<country>
GET
XML
language
Description: The user's language
Details: Required
Example: en (for en_US locale)
country
Description: The user's country in ISO 3166-2 format
Details: Required
Example: US (for en_US locale)
api.mastercard.com/masterpass/partner/v6/card-brands?language=fr&country=CA
<?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="CardBrandsResponse" type="CardBrandsResponse"/> <xs:complexType name="CardBrandsResponse"> <xs:sequence> <xs:element name="CardBrands" type="CardBrands"/> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:complexType name="CardBrands"> <xs:sequence> <xs:element name="CardBrand" type="CardBrand"maxOccurs="unbounded"/> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:complexType name="CardBrand"> <xs:sequence> <xs:element name="CvvRequired" type="xs:boolean"/> <xs:element name="DisplayName" type="xs:string"/> <xs:element name="ExpDateRequired" type="xs:boolean"/> <xs:element name="Id" type="xs:string"/> <xs:element name="logoUrl" type="xs:string"minOccurs="0"/> <xs:element name="PrivateLabelCard" type="xs:boolean"/> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="ExtensionPoint" type="ExtensionPoint"/> <xs:complexType name="ExtensionPoint"> <xs:sequence> <xs:any processContents="lax"namespace="##any" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute /> </xs:complexType> </xs:schema>
CardBrand.DisplayName
Description: Friendly display name for the card. Users should see this display name when choosing which brand of card they are adding. The display name will be translated into the provided locale (language + country) if applicable. It must be provided along with checkout authorization in order to pass the friendly display name on to the merchant.
CardBrand.Id
Description: The code that uniquely identifies the card brand. This id can be up to 8 alphanumeric. It must be provided along with checkout authorization to identify the brand of card that is being used for the checkout.
CardBrand.logoURL
Description: This is not used currently. In the future it will be a URL to an image for the logo of the brand.
CardBrand.CvvRequired
Description: Indicates if the card security code must be provided along with the card data when cards of this brand are added to a wallet. The card security code, or card verification value (CVV) is the additional 3 or 4 digit code printed on the card. If required, a field must be enabled to collect the code along with the rest of the card data.
CardBrand.ExpDateRequired
Description: Indicates if the card expiration date must be provided along with the card data when cards of this brand are added to a wallet. All credit cards have an expiration date but some private label cards do not expire. If required, fields must be enabled to collect the month and year of expiration along with the rest of the card data.
CardBrand.PrivateLabelCard
Description: Indicates that the card is a private label card (for instance, a store brand card). For the most part these cards will behave identical to network-branded cards. However, for usability the private label cards should be grouped together for users when presenting the list of supported card brands to the user.
**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
<CardBrandsResponse> <CardBrands> <CardBrand> <CvvRequired>true</CvvRequired> <Name>MasterCard</Name> <ExpDateRequired>true</ExpDateRequired> <Id>master</Id> <PrivateLabelCard>false</PrivateLabelCard> </CardBrand> <CardBrand> <CvvRequired>true</CvvRequired> <Name>Visa</Name> <ExpDateRequired>true</ExpDateRequired> <Id>visa</Id> <PrivateLabelCard>false</PrivateLabelCard> </CardBrand> <CardBrand> <CvvRequired>true</CvvRequired> <Name>American Express</Name> <ExpDateRequired>true</ExpDateRequired> <Id>amex</Id> <PrivateLabelCard>false</PrivateLabelCard> </CardBrand> <CardBrand> <CvvRequired>true</CvvRequired> <Name>Discover</Name> <ExpDateRequired>true</ExpDateRequired> <Id>discover</Id> <PrivateLabelCard>false</PrivateLabelCard> </CardBrand> <CardBrand> <CvvRequired>true</CvvRequired> <Name>Maestro</Name> <ExpDateRequired>true</ExpDateRequired> <Id>maestro</Id> <PrivateLabelCard>false</PrivateLabelCard> 284050.1 80 MasterPassTM API Integration Guide 1.4 </CardBrand> <CardBrand> <CvvRequired>true</CvvRequired> <Name>Diner's Club</Name> <ExpDateRequired>true</ExpDateRequired> <Id>diners</Id> <PrivateLabelCard>false</PrivateLabelCard> </CardBrand> <CardBrand> <CvvRequired>true</CvvRequired> <Name>Carte du Monde</Name> <ExpDateRequired>true</ExpDateRequired> <Id>monde</Id> <logoUrl>http://…/logoUrl> <PrivateLabelCard>true</PrivateLabelCard> </CardBrand> <CardBrand> <CvvRequired>true</CvvRequired> <Name>Récompenses génériques</Name> <ExpDateRequired>false</ExpDateRequired> <Id>generic</Id> <logoUrl>http:/…/logoUrl> <PrivateLabelCard>true</PrivateLabelCard> </CardBrand> </CardBrands> </CardBrandsResponse>
In case an error occurs, Errors will be returned back as described in Appendix REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
Source |
Reason Code |
Description |
Recoverable |
---|---|---|---|
OAuthToken |
MISSING_REQUIRED_INPUT |
OAuth Token is invalid |
false |
OAuthToken |
INVALID_INPUT_VALUE |
OAuth Token is invalid |
false |
Country |
INVALID_INPUT_VALUE |
Country is required |
false |
Language |
INVALID_INPUT_VALUE |
Language is required |
false |
The pairing process starts when a shopper clicks the Connect with MasterPass button on a merchant site. This begins a set of exchanges that will bring the shopper through MasterPass, to the Partner site and back out to the merchant again. If the shopper agrees to pair their wallet with the merchant, the shopper's checkout data will be available pre-checkout going forward. Below are the query string parameters attached to the pairing URL, hosted by the wallet, during a pairing flow.
Partner must only display MasterPass-supported cards for the consumer to choose from during a MasterPass transaction.
This optional parameter indicates that no signup screens should be shown during the flow. A merchant might request this if they have a shorter timeout for this experience.
Users have the ability to pair their wallet with merchants to share card aliases, addresses, loyalty program, and profiles. The wallet will make this call after a user has consented to share their data with a merchant.
This service allows the Partner to establish a wallet pairing with a merchant. This is a REST service exposed on MasterCard OpenAPI infrastructure.
api.mastercard.com/masterpass/partner/v6/pairing
POST
XML
<?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="AuthorizePairingRequest" type="AuthorizePairingRequest"/> <xs:complexType name="AuthorizePairingRequest"> <xs:sequence> <xs:element name="PairingDataTypes" type="PairingDataTypes"/> <xs:element name="OAuthToken" type="xs:string"/> <xs:element name="MerchantCheckoutId" type="xs:string"/> <xs:element name="ConsumerWalletId" type="xs:string"/> <xs:element name="WalletId" type="xs:string"/> <xs:element name="ExpressCheckout" type="xs:boolean"/> <xs:element name="ConsumerCountry" type="Country"/> <xs:element name="SilentPairing" type="xs:boolean"minOccurs="0" maxOccurs="1"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="PairingDataTypes" type="PairingDataTypes"/> <xs:complexType name="PairingDataTypes"> <xs:sequence> <xs:element name="PairingDataType" type="PairingDataType"minOccurs="1" maxOccurs="unbounded"/> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:element name="PairingDataType" type="PairingDataType"/> <xs:complexType name="PairingDataType"> <xs:sequence> <xs:element name="Type"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="CARD"/> <xs:enumeration value="ADDRESS"/> <xs:enumeration value="REWARD_PROGRAM"/> <xs:enumeration value="PROFILE"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> <xs:element name="Country" type="Country"/> <xs:complexType name="Country"> <xs:sequence> <xs:element name="Code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z]{3}"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Name" type="xs:string"/> <xs:element name="CallingCode" type="xs:string"/> <xs:element name="Locale" type="Locale"minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </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> <xs:element name="Locale" type="Locale"/> <xs:complexType name="Locale"> <xs:sequence> <xs:element name="Locale" type="xs:string"minOccurs="0"/> <xs:element name="Language" type="xs:string"minOccurs="0"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:schema>
AuthorizePairingRequest.PairingDataTypes
Description: These are the types of data that the wallet
and consumer have agreed to share with the merchants.
Details: Required
Example: Card, ShippingAddress, RewardProgram, Profile
AuthorizePairingRequest.OAuthToken
Description: This is oauth_token request parameter passed
in during Checkout Initialization phase.
Details: Required
AuthorizePairingRequest.MerchantCheckoutId
Description: Unique identifier for the Merchant that
wishes to pair. This is received in the pairing initialization
redirect.
Details: Required
Example: a4d6x3165n12thw1gpy151hw2jqjmy4s5
AuthorizePairingRequest.ConsumerWalletId
Description: A unique identifier for the consumer's
wallet. This is up to the wallet partner to provide
Details: Required
AuthorizePairingRequest.WalletId
Description: Partition name MasterPass uses to identify
the wallet. This is received in the pairing initialization
redirect.
Details: Required
Example: a4d6x3165n12thw1gpy151hw2jqjmy4s5
AuthorizePairingRequest.ExpressCheckout
Description: True if the consumer has agreed to allow
express checkout with the merchant.
Details: Required, boolean
Example: true, false
AuthorizePairingRequest.ConsumerCountry
Description: Consumer wallet country code. Certain countries have strict laws about sharing user data. This is required to verify that pairing should be allowed.
AuthorizePairingRequest.ConsumerCountry.Code
Description: Shorthand code to identify the country
Details: 3 character alpha string indicating the country
Example: USA
AuthorizePairingRequest.ConsumerCountry.CallingCode
Description: Calling code for the consumer's country
Details: String, required
Example: 011
AuthorizePairingRequest.ConsumerCountry.Locale
Description: The locale of the user
Details: Optional
AuthorizePairingRequest.ConsumerCountry.Locale.Locale
Description: The user's locale
Details: String, Optional
Example: United States
AuthorizePairingRequest.ConsumerCountry.Locale.Language
Description: The user's language
Details: String, Optional
Example: English
**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
<AuthorizePairingRequest> <PairingDataTypes> <PairingDataType> <Type>ADDRESS</Type> </PairingDataType> <PairingDataType> <Type>PROFILE</Type> </PairingDataType> <PairingDataType> <Type>CARD</Type> </PairingDataType> </PairingDataTypes> <OAuthToken>3b66050f9fdf83a95f2c83c19b3ea4b5c7743367</OAuthToken> <MerchantCheckoutId>a4d6x3165n12thw1gpy151hw2jqjmy4s5</MerchantCheckoutId> <ConsumerWalletId>42</ConsumerWalletId> <WalletId>PHWallet</WalletId> <ConsumerCountry> <Code>USA</Code> <Name>United States</Name> <CallingCode>011</CallingCode> </ConsumerCountry> </AuthorizePairingRequest>
<?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="AuthorizePairingResponse" type="AuthorizePairingResponse"/> <xs:complexType name="AuthorizePairingResponse"> <xs:sequence> <xs:element name="MerchantCallbackURL" type="xs:string"/> <xs:element name="VerifierToken" 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>
AuthorizePairingResponse.VerifierToken
Description: This is the verifier token response
parameter received during the authorize pairing phase. You
will take this verifier and the value from the merchant_return_url
and use them to construct a redirect to MasterPass to complete the
pairing flow.
Details: String
Example: 473d2fc4f476a5b8a556eb074afe8eb789d1bfd7
Sandbox redirect URL: https://sandbox.masterpass.com/lightbox/Switch/callback.html?pairingVerifier=0fea976639aa76adc296490a056eb181cf7148e7
Production redirect URL: https://masterpass.com/lightbox/Switch/callback.html?pairingVerifier=473d2fc4f476a5b8a556eb074afe8eb789d1bfd7
AuthorizePairingResponse.MerchantCallbackURL
Description: The merchant callback URL embeds all the information needed by the merchant to proceed with the checkout as request parameters. The partner must redirect the browser to this URL, after it is returned.
The following steps should be taken to ensure all parameters within the callback URL retain proper encoding:
Steps 2 and 3 look redundant since the result of step 3 looks just like step 1, but these steps are needed in case the merchant adds another URL to their callback URL as a parameter.
Original MerchantCallbackURL:
https://www.examplemerchant.com/checkout/mp_callback/22467?oauth_token=093be2d6066cdf809c724d3f2d919f91&oauth_verifier=7f407eebffcdbefa30e5d2bf36900022&checkout_resource_url=https%3A%2F%2Fapi.mastercard.com%2Fonline%2Fv4%2Fcheckout%2F3020426%3Fwallet%3Dphw
HTML Decoded:
https://www.tasteaway.com/checkout/mp_callback/22467?oauth_token=093be2d6066cdf809c724d3f2d919f91&oauth_verifier=7f407eebffcdbefa30e5d2bf36900022&checkout_resource_url=https%3A%2F%2Fapi.mastercard.com%2Fonline%2Fv4%2Fcheckout%2F3020426%3Fwallet%3Dphw
URL Decoded:
https://www.tasteaway.com/checkout/mp_callback/22467?oauth_token=093be2d6066cdf809c724d3f2d919f91&oauth_verifier=7f407eebffcdbefa30e5d2bf36900022&checkout_resource_url=https://api.mastercard.com/online/v4/checkout/3020426?wallet=phw
URL Encoded oauth_token, oauth_verifier, and checkout_resource_url parameter values
https://www.tasteaway.com/checkout/mp_callback/22467?oauth_token=093be2d6066cdf809c724d3f2d919f91&oauth_verifier=7f407eebffcdbefa30e5d2bf36900022&checkout_resource_url=https%3A%2F%2Fapi.mastercard.com%2Fonline%2Fv4%2Fcheckout%2F3020426%3Fwallet%3Dphw
**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
<?xmlversion="1.0"encoding="UTF-8"standalone="yes"?> <AuthorizePairingResponse> <VerifierToken>b17cd261ad9e34007ea8e3dd118c3c667e820a70</VerifierToken> <MerchantCallbackURL>http://www.masterpass.com/lightbox/Switch/callback.html?oauth_token= 208a4feeda18917adffd22c23641ff67&oauth_verifier= 367w4feeda18917adffd22c23641f321&checkout_resource_url=http%3A%2F%2Fapi.mastercard.com%3A8080%2Fonline%2Fmasterpass%2Fv6%2Fcheckout%2F423%3Fwallet%3Dphw&checkoutId=423</MerchantCallbackURL> </AuthorizePairingResponse>
In case an error occurs, Errors will be returned back as described in Appendix REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
Source |
Reason Code |
Description |
Recoverable |
---|---|---|---|
OAuthToken |
MISSING_REQUIRED_INPUT |
OAuth Token is invalid |
false |
OAuthToken |
INVALID_INPUT_VALUE |
OAuth Token is invalid |
false |
Country |
INVALID_INPUT_VALUE |
Country is required |
false |
This service is used by a wallet provider to get merchant data from the MasterPass database.
Why would I need to use this resource?
It is to be used for presenting a customer the name and logo of a merchant on the consent screens for pairing and express checkout requests.
https://api.mastercard.com/masterpass/partner/v6/merchant/{merchantcheckoutid}
GET
XML
MerchantCheckoutId
Description: Checkout identifier of Merchant that was
provided in URL to wallet.
Details: Required
https://api.mastercard.com/masterpass/partner/v6/merchant/a4d6x6ruudmtchre1ri831hre34f3lwa
<?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="Merchant" type="Merchant"/> <xs:complexType name="Merchant"> <xs:sequence> <xs:element name="Name" type="xs:string"/> <xs:element name="DisplayName" type="xs:string"minOccurs="0"/> <xs:element name="MerchantType" type="xs:string"minOccurs="0"/> <xs:element name="ProductionUrl" type="xs:string"/> <xs:element name="CardinalMerchantId" type="xs:string"/> <xs:element name="AuthOptions" type="xs:string"/> <xs:element name="SandboxUrl" type="xs:string"/> <xs:element name="MerchantCheckoutId" type="xs:string"/> <xs:element name="Logo" type="Logo"minOccurs="0"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="Logo" type="Logo"/> <xs:complexType name="Logo"> <xs:sequence> <xs:element name="Ref" type="xs:string"/> <xs:element name="Height" type="xs:string"minOccurs="0"/> <xs:element name="Width" type="xs:string"minOccurs="0"/> <xs:element name="BackgroundColor" type="xs:string"minOccurs="0"/> <xs:element name="Url" type="xs:anyURI"minOccurs="0"/> <xs:element name="LongDescription" type="xs:string"minOccurs="0"/> <xs:element name="AlternateText" type="xs:string"minOccurs="0"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </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> </xs:schema>
Merchant.Name
Description: Name of the merchant.
Details: String
Merchant.Name.DisplayName
Description: Name the merchant wants displayed.
Details: Date
Merchant.Name.ProductionUrl
Description: Production URL of the merchant.
Details: String
Merchant.Name.SandboxUrl
Description: Sandbox URL of the merchant.
Details: String
Merchant.MerchantCheckoutId
Description: This is the MasterPass identifier of the merchant checkout project. A single merchant can have multiple checkout IDs.
Details: StringMerchant.Logo.Ref**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
<Merchant> <Name>Fmjtmy Qmvkrqe Uaaexk Iimjyiym Eqqwms</Name> <DisplayName>Ockbkso Yqrotx Npmhuednip Lxtymnwzxm Jqqnxlqgu</DisplayName> <ProductionUrl>https://wjikur.com</ProductionUrl> <SandboxUrl>https://mqpgxa.com</SandboxUrl> <Logo> <Url>http://www.mastercard.us/_globalAssets/img/nav/navl_logo_mastercardcom.png</Url> </Logo> </Merchant>
In case an error occurs, Errors will be returned back as described in Appendix REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
Source |
Reason Code |
Description |
Recoverable |
---|---|---|---|
OAuthToken |
MISSING_REQUIRED_INPUT |
OAuth Token is invalid |
false |
OAuthToken |
INVALID_INPUT_VALUE |
OAuth Token is invalid |
false |
This service is used by a wallet provider to get a list of the merchants they have paired and currently are paired with.
It is to be used for presenting a customer their connection history list.
https://api.mastercard.com/masterpass/partner/v6/connectedmerchanthistorylist
POST
XML
The POST method will take an XML object within the request payload.This object represents a consumer and the connection history to retrieve for a specific merchant. The following schema defines the object. Explanation of each of the individual fields follows that.
https://api.mastercard.com/masterpass/partner/v6/connectedmerchanthistorylist
<?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="ConnectedMerchantsRequest" type="ConnectedMerchantsRequest"/> <xs:complexType name="ConnectedMerchantsRequest"> <xs:sequence> <xs:element name="ConsumerWalletId" type="xs:string"/> <xs:element name="WalletId" type="xs:string"/> <xs:element name="StartDate" type="xs:dateTime"/> <xs:element name="EndDate" type="xs:dateTime"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </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> </xs:schema>
ConnectedMerchantsRequest.ConsumerWalletId
Description: The identification of the specific consumer. This ID is provided by the wallet.ConnectedMerchantsRequest.WalletId
Description: ID that identifies the wallet that is making
the request.
Details: Required
ConnectedMerchantsRequest.StartDate
Description: Date that will be used in query that will be used as the FROM date of activity history.ConnectedMerchantsRequest.EndDate
Description: Date that will be used in query that will be used as the FROM date of activity history.**.ExtensionPoint
Description: XSD type any
reserved for future use.
Details: Optional
<ConnectedMerchantsRequest> <ConsumerWalletId>8</ConsumerWalletId> <WalletId>Mobile</WalletId> </ConnectedMerchantsRequest>
<?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="ConnectedMerchantsResponse" type="ConnectedMerchantsResponse"/> <xs:complexType name="ConnectedMerchantsResponse"> <xs:sequence> <xs:element name="Merchants" type="Merchant"minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="Merchant" type="Merchant"/> <xs:complexType name="Merchant"> <xs:sequence> <xs:element name="Name" type="xs:string"/> <xs:element name="DisplayName" type="xs:string"minOccurs="0" /> <xs:element name="MerchantType" type="xs:string"minOccurs="0" /> <xs:element name="ProductionUrl" type="xs:string"/> <xs:element name="CardinalMerchantId" type="xs:string"/> <xs:element name="AuthOptions" type="xs:string"/> <xs:element name="SandboxUrl" type="xs:string"/> <xs:element name="MerchantCheckoutId" type="xs:string"/> <xs:element name="Logo" type="Logo"minOccurs="0" /> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:element name="Logo" type="Logo"/> <xs:complexType name="Logo"> <xs:sequence> <xs:element name="Ref" type="xs:string"/> <xs:element name="Height" type="xs:string"minOccurs="0" /> <xs:element name="Width" type="xs:string"minOccurs="0" /> <xs:element name="BackgroundColor" type="xs:string" minOccurs="0"/> <xs:element name="Url" type="xs:anyURI"minOccurs="0" /> <xs:element name="LongDescription" type="xs:string" minOccurs="0"/> <xs:element name="AlternateText" type="xs:string" minOccurs="0"/> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0"/> </xs:sequence> </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> </xs:schema>
Merchants.Name
Description: Name of the merchant.Merchants.DisplayName
Description: Name the merchant wants displayed.Merchants.MerchantType
Description: Merchant type is a code that is used in the get connections service call.Merchants.ProductionUrl
Description: Production URL of the merchant.Merchants.CardinalMerchantId
Description: The identifier of the cardinal merchant.Merchants.AuthOptions
Description: Authenication options of the connected merchant.Merchants.SandboxUrl
Description: Sandbox URL of the merchant.Merchants.MerchantCheckoutId
Description: This is the MasterPass identifier of the merchant checkout project. A single merchant can have multiple checkout IDs.Merchants.Logo.Ref
Description: The merchant logo for display. URL to logoMerchants.Logo.Height
Description: The height of the merchant logo.Merchants.Logo.Width
Description: The width of the merchant logo.Merchants.Logo.BackgroundColor
Description: The background color of the merchant logo.Merchants.Logo.Url
Description: The merchant logo URL.Merchants.Logo.LongDescription
Description: The description of the merchant logo.Merchants.Logo.AlternateText
Description: The alternate text of the merchant logo.**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
<ConnectedMerchantsResponse> <Merchants> <Name>Sample Merchant</Name> <ProductionUrl>https://samplemerchant.com</ProductionUrl> <SandboxUrl>https://test.samplemerchant.com</SandboxUrl> <MerchantCheckoutId>a4a6x3oy2gqz2hhdta4491hhe2t444o79</MerchantCheckoutId> <Logo/> </Merchants> </ConnectedMerchantsResponse>
In case an error occurs, Errors will be returned back as described in Appendix REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
Source |
Reason Code |
Description |
Recoverable |
---|---|---|---|
OAuthToken |
MISSING_REQUIRED_INPUT |
OAuth Token is invalid |
false |
OAuthToken |
INVALID_INPUT_VALUE |
OAuth Token is invalid |
false |
This service allows a partner to get data for specific connections of a merchant from the MasterPass database. It is to be used for presenting a customer a history of merchant connection activities.
Connection History List service will need to be used to get and display to the consumer a list of merchants existing connections and pairing activity so that consumers can manage their pairing and connections to merchants.
https://api.mastercard.com/masterpass/partner/v6/connectedmerchanthistory
POST
XML
The POST method will take an XML object within the request payload.This object represents a consumer and the connection history to retrieve for a specific merchant.The following schema defines the object.Explanation of each of the individual fields follows that.
<?xml version="1.0"encoding="UTF-8" standalone="yes"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <xs:element name="ConnectionHistoryRequest" type="ConnectionHistoryRequest"/> <xs:element name="ConnectionHistoryRequest"/> <xs:complexType name="ConnectionHistoryRequest"> <xs:sequence> <xs:element name="MerchantCheckoutId" type="xs:string"/> <xs:element name="StartDate" type="xs:dateTime"/> <xs:element name="EndDate" type="xs:dateTime"/> <xs:element name="WalletId" type="xs:string"/> <xs:element name="ConsumerWalletId" type="xs:string"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </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> </xs:schema>
ConnectionHistoryRequest.MerchantCheckoutId
Description: This is an identifier of the merchant that the consumer selects. The list of merchants to present to the consumer is provided by Connection History List service.ConnectionHistoryRequest.StartDate
Description: Date that will be used in query that will be used as the FROM date of activity history.ConnectionHistoryRequest.EndDate
Description: Date that will be used in query that will be used as the FROM date of activity history.ConnectionHistoryRequest.WalletId
Description: Date that will be used in query that will be used as the TO date of activity history.ConnectionHistoryRequest.WalletConsumerId
Description: The identification of the specific consumer. This ID is provided by the wallet.**.ExtensionPoint
https://api.mastercard.com/masterpass/partner/v6/connectedmerchanthistory
<ConnectionHistoryRequest> <MerchantCheckoutId>654161</MerchantCheckoutId> <MerchantType>AAA</MerchantType> <StartDate></StartDate> <EndDate></EndDate> <WalletId>646198</WalletId> <WalletConsumerId>87564497</WalletConsumerId> </ConnectionHistoryRequest>
<?xml version="1.0"encoding="UTF-8" standalone="yes"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <xs:element name="ConnectionHistory" type="ConnectionHistory"/> <xs:complexType name="ConnectionHistory"> <xs:sequence> <xs:element name="MerchantInfo" type="MerchantInfo"/> <xs:element name="TimeStamp" type="xs:dateTime"/> <xs:element name="activityString" type="xs:string"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="MerchantInfo" type="MerchantInfo"/> <xs:complexType name="MerchantInfo"> <xs:sequence> <xs:element name="Name" type="xs:string"/> <xs:element name="Id" type="xs:string"/> <xs:element name="Type" type="xs:string"/> <xs:element name="ActivityList" type="ActivityList"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="ActivityList" type="ActivityList"/> <xs:complexType name="ActivityList"> <xs:sequence> <xs:element name="Activity" type="Activity"minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="Activity" type="Activity"/> <xs:complexType name="Activity"> <xs:sequence> <xs:element name="Date" type="xs:dateTime"/> <xs:element name="ExpressCheckout" type="xs:string"/> <xs:element name="Pairing" type="xs:string"/> <xs:element name="PairingDataType" type="PairingDataType"/> <xs:element name="PrecheckoutDataType" type="PairingDataType"/> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="PairingDataType" type="PairingDataType"/> <xs:complexType name="PairingDataType"> <xs:sequence> <xs:element name="Type"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="CARD"/> <xs:enumeration value="ADDRESS"/> <xs:enumeration value="REWARD_PROGRAM"/> <xs:enumeration value="PROFILE"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0"/> </xs:sequence> </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> </xs:schema>
ConnectionHistory.MerchantInfo.Name
Description: Name of merchant.ConnectionHistory.MerchantInfo.Id
Description: This is an identifier of the merchant that the consumer selects. The list of merchants to present to the consumer is provided by Connection History List service.ConnectionHistory.MerchantInfo.Type
Description: This is a code for the type of MasterPass merchant that the consumer selects. The list of merchants to present to the consumer is provided by Connection History List service. The 2 fields that are not displayed but are used in the call to get the connection history are Merchant ID and Type.ConnectionHistory.MerchantInfo.ActivityList
Description: This is a code for the activity list type of MasterPass merchant that the consumer selects.ConnectionHistory.ActivityList
Description: This is a code for the activity list of the connection history service.ConnectionHistory.MerchantInfo.Activity.Date
Description: The date of the activity. All activity for a merchant in a single day is rolled into one record.ConnectionHistory.MerchantInfo.Activity.ExpressCheckout
Description: If an express checkout was enabled and/or performed by the merchant that day.ConnectionHistory.MerchantInfo.Activity.Pairing
Description: If the consumer consented to allow the merchant to access pre-checkout data and/or if the merchant consumer deleted the connection that day.ConnectionHistory.MerchantInfo.Activity.PairingDataType
Description: The types of data that the consumer consented to allow the merchant access to in the future.ConnectionHistory.MerchantInfo.Activity.PrecheckoutDataType
Description: The types of consumer data that the merchant requested that day.ConnectionHistory.MerchantInfo.PairingDataType.Type.Card
Description: The types of cards that are shown for pairing data type.ConnectionHistory.MerchantInfo.PairingDataType.Type.ShippingAddress
Description: The shipping address shown for the pairing data type.ConnectionHistory.MerchantInfo.PairingDataType.Type.RewardProgram
Description: The reward program shown for the pairing data type.ConnectionHistory.MerchantInfo.PairingDataType.Type.Profile
Description: The type of profile shown for the pairing data type.**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
<?xml version="1.0"encoding="UTF-8"?> <ConnectionHistory> <MerchantInfo> <Name>MerchantName</Name> <Id>12345</Id> <Type>MerchantType</Type> <ActivityList> <Activity> <Date>2001-12-31T12:00:00</Date> <ExpressCheckout>ExpressCheckout</ExpressCheckout> <Pairing>Pairing</Pairing> <PairingDataType> <Type>CARD</Type> </PairingDataType> <PrecheckoutDataType> <Type>PROFILE</Type> </PrecheckoutDataType> </Activity> </ActivityList> </MerchantInfo> <TimeStamp>2001-12-31T12:00:00</TimeStamp> <activityString>activityString</activityString> </ConnectionHistory>
In case an error occurs, Errors will be returned back as described in Appendix REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
Source |
Reason Code |
Description |
Recoverable |
---|---|---|---|
OAuthToken |
MISSING_REQUIRED_INPUT |
OAuth Token is invalid |
false |
OAuthToken |
INVALID_INPUT_VALUE |
OAuth Token is invalid |
false |
This service is used by a MasterPass to notify/request a MasterPass consumer's pre-checkout data from a wallet provider.
To provide the consumer with their preferred options for a seamless checkout experience. Before the wallet provider responds to this call it should send the consumer's information via the AuthorizePreCheckout service (next section). MasterPass getting the response is notification to get the data from the MasterPass temporary database.
This URL will need to be supplied to MasterPass by the wallet.
https://www.anywallet.com/walletapi/wallet/v6/precheckout
POST
XML
POST https://www.anywallet.com/walletapi/wallet/v6/precheckout
<?xml version="1.0"encoding="UTF-8"?> <xs:element name="WalletPrecheckoutDataRequest"type="WalletPrecheckoutDataRequest"/> <xs:complexType name="WalletPrecheckoutDataRequest"> <xs:sequence> <xs:element name="OauthToken" type="xs:string"/> <xs:element name="ConsumerWalletId" type="xs:string"/> <xs:element name="PrecheckoutTransactionId" type="xs:string"/> <xs:element name="PairingDataTypes" type="PairingDataTypes"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> <xs:element name="WalletId" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="PairingDataTypes"type="PairingDataTypes"/> <xs:complexType name="PairingDataTypes"> <xs:sequence> <xs:element name="PairingDataType" type="PairingDataType"minOccurs="1" maxOccurs="unbounded"/> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:element name="PairingDataType"type="PairingDataType"/> <xs:complexType name="PairingDataType"> <xs:sequence> <xs:element name="Type"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="CARD"/> <xs:enumeration value="ADDRESS"/> <xs:enumeration value="REWARD_PROGRAM"/> <xs:enumeration value="PROFILE"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </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> </xs:schema>
WalletPrecheckoutDataRequest.OauthToken
Description: Verifier token that is associated with the consumer and merchant connection. This token was provided on the Authorize Pairing call that connected the consumer and merchant.WalletPrecheckoutDataRequest.ConsumerWalletId
Description: Consumer Identifier that was provided by the wallet during the Authorize Pairing call.WalletPrecheckoutDataRequest.PrecheckoutTransactionId
Description: This is a transaction identifier that MasterPass generates and provides to a merchant when the merchant requests consumer data in a GetPreCheckoutData request. ID associated with the PreCheckout Transaction.WalletPrecheckoutDataRequest.PairingDataTypes
Description: Data types requested by merchant.WalletPrecheckoutDataRequest.WalletId
Description: Identifier provided by MasterPass for a specific wallet provider.**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
Return 200 code
In case an error occurs, Errors will be returned back as described in Appendix REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
Source |
Reason Code |
Description |
Recoverable |
---|---|---|---|
OAuthToken |
MISSING_REQUIRED_INPUT |
OAuth Token is invalid |
false |
OAuthToken |
INVALID_INPUT_VALUE |
OAuth Token is invalid |
false |
Partner wallet is supplying partial data to the merchant.
To allow partial data to be sent to the merchant so the customer can easily choose their card aliases, shipping addresses, loyalty and profile data before the checkout process.
When the wallet receives precheckout data service message at their supplied URL the wallet should respond with this call.
This service allows the customer to easily see a snippet of their card and shipping details.The customer will have to be signed into the merchant site.
https://api.mastercard.com/masterpass/partner/v6/precheckout
POST
XML
<?xml version="1.0"encoding="UTF-8" standalone="yes"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <xs:element name="AuthorizePrecheckoutRequest"type="AuthorizePrecheckoutRequest"/> <xs:complexType name="AuthorizePrecheckoutRequest"> <xs:sequence> <xs:element name="PrecheckoutData" type="PrecheckoutData"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="PrecheckoutData" type="PrecheckoutData"/> <xs:complexType name="PrecheckoutData"> <xs:sequence> <xs:element name="Cards" type="PrecheckoutCards"/> <xs:element name="Contact" type="Contact"minOccurs="0"/> <xs:element name="ShippingAddresses" type="PrecheckoutShippingAddresses"/> <xs:element name="RewardPrograms" type="PrecheckoutRewardPrograms"/> <xs:element name="WalletName" type="xs:string"minOccurs="1"/> <xs:element name="PrecheckoutTransactionId" type="xs:string"/> <xs:element name="ConsumerWalletId" type="xs:string"minOccurs="1"/> <xs:element name="Errors" type="Errors"minOccurs="0"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="PrecheckoutCards" type="PrecheckoutCards"/> <xs:complexType name="PrecheckoutCards"> <xs:sequence> <xs:element name="Card" type="PrecheckoutCard"minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:element name="PrecheckoutCard" type="PrecheckoutCard"/> <xs:complexType name="PrecheckoutCard"> <xs:sequence> <xs:element name="BrandId" type="xs:string"/> <xs:element name="BrandName" type="xs:string"/> <xs:element name="BillingAddress" type="Address"/> <xs:element name="CardHolderName" type="xs:string"/> <xs:element name="ExpiryMonth" type="Month"minOccurs="0"/> <xs:element name="ExpiryYear" type="Year"minOccurs="0"/> <xs:element name="CardId" type="xs:string"></xs:element> <xs:element name="LastFour" type="xs:string"/> <xs:element name="CardAlias" type="xs:string"/> <xs:element name="SelectedAsDefault" type="xs:boolean"/> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:element name="PrecheckoutShippingAddresses"type="PrecheckoutShippingAddresses"/> <xs:complexType name="PrecheckoutShippingAddresses"> <xs:sequence> <xs:element name="ShippingAddress" type="PrecheckoutShippingAddress"minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:element name="PrecheckoutShippingAddress" type="PrecheckoutShippingAddress"/> <xs:complexType name="PrecheckoutShippingAddress"> <xs:complexContent> <xs:extension base="Address"> <xs:sequence> <xs:element name="RecipientName" type="xs:string"/> <xs:element name="RecipientPhoneNumber" type="xs:string"/> <xs:element name="AddressId" type="xs:string"/> <xs:element name="SelectedAsDefault" type="xs:boolean"/> <xs:element name="ShippingAlias" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="PrecheckoutRewardPrograms" type="PrecheckoutRewardPrograms"/> <xs:complexType name="PrecheckoutRewardPrograms"> <xs:sequence> <xs:element name="RewardProgram" type="PrecheckoutRewardProgram"minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:element name="PrecheckoutRewardProgram" type="PrecheckoutRewardProgram"/> <xs:complexType name="PrecheckoutRewardProgram"> <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="RewardProgramId" type="xs:string"/> <xs:element name="RewardLogoUrl" type="xs:string"/> <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"> <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="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: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-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*@[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="Gender"> <xs:restriction base="xs:token"> <xs:enumeration value="M"/> <xs:enumeration value="F"/> </xs:restriction> </xs:simpleType> <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="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"/> <xs:pattern value="\d{4}"/> </xs:restriction> </xs:simpleType> <xs:complexType name="Error"> <xs:sequence> <xs:element name="Description" type="xs:string"minOccurs="0"/> <xs:element name="ReasonCode" type="xs:string"/> <xs:element name="Recoverable" type="xs:boolean"/> <xs:element name="Source" type="xs:string"/> <xs:element name="Details" type="Details"minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> <xs:complexType name="Errors"> <xs:sequence> <xs:element name="Error" type="Error"minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="Details"> <xs:sequence> <xs:element name="Detail" type="Detail"minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="Detail"> <xs:sequence> <xs:element name="Name" type="xs:string"/> <xs:element name="Value" type="xs:string"/> </xs:sequence> </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> </xs:schema>
AuthorizePrecheckoutRequest.PreCheckoutData
Description: The precheckout data includes the last 4 digits of the customer's card, shipping information, etc.AuthorizePrecheckoutRequest.PreCheckoutData.Cards
Description: The partial data cards.AuthorizePrecheckoutRequest.PreCheckoutData.Contact
Description: Contact information of the customer making the purchase.AuthorizePrecheckoutRequest.PreCheckoutData.ShippingAddresses
Description: Shipping addresses information of the customer making the purchase.AuthorizePrecheckoutRequest.PreCheckoutData.RewardPrograms
Description: Shipping address information of the customer making the purchase.AuthorizePrecheckoutRequest.PreCheckoutData.RewardPrograms
Description: The loyalty program of the checkout.AuthorizePrecheckoutRequest.PreCheckoutData.RewardPrograms.PreCheckoutTransactionID
Description: The unique id of the precheckout transaction.AuthorizePrecheckoutRequest.PreCheckoutData.RewardPrograms.WalletPartnerLogoUrl
Description: Provides the image URL of the partner wallet's logo.AuthorizePrecheckoutRequest.PreCheckoutData.RewardPrograms.WalletId
Description: The unique id of the wallet id attached to the reward program.AuthorizePrecheckoutRequest.PreCheckoutData.RewardPrograms.ConsumerWalletId
Description: The unique id of the consumer wallet id attached to the reward program.AuthorizePrecheckoutRequest.PrecheckoutCard.CardId
Description: The unique id of the consumer's cardAuthorizePrecheckoutRequest.PrecheckoutCard.BrandId
Description: The unique id of the brandAuthorizePrecheckoutRequest.PrecheckoutCard.BrandName
Description: The name of the brandAuthorizePrecheckoutRequest.PrecheckoutCard.BillingAddress
Description: The billing address of the precheckout card.AuthorizePrecheckoutRequest.PrecheckoutCard.CardHolderName
Description: The cardholder name of the precheckout card.AuthorizePrecheckoutRequest.PrecheckoutCard.LastFour
Description: The last four digits of the precheckout card.AuthorizePrecheckoutRequest.PrecheckoutCard.CardAlias
Description: The alias of the precheckout card.AuthorizePrecheckoutRequest.PrecheckoutCard.ExpiryMonth
Description: The expiration month of the precheckout card.AuthorizePrecheckoutRequest.PrecheckoutCard.ExpiryYear
Description: The expiration year of the precheckout card.AuthorizePrecheckoutRequest.PrecheckoutCard.SelectedAsDefault
Description: Selected default card.AuthorizePrecheckoutRequest.Contact.FirstName
Description: First name (given name) of the customer making the purchase.AuthorizePrecheckoutRequest.Contact.MiddleName
Description: Middle name of the customer making the purchase.AuthorizePrecheckoutRequest.Contact.LastName
Description: Last name (family name or surname) of the customer making the purchase.AuthorizePrecheckoutRequest.Contact.Gender
Description: This is the consumer's gender, either 'F' for female or 'M' for male.AuthorizePrecheckoutRequest.Contact.DateOfBirth
Description: This is the date of birth of the consumerAuthorizePrecheckoutRequest.Contact.DateOfBirth.Year
Description: This is the year of the consumer's date of birth.AuthorizePrecheckoutRequest.Contact.DateOfBirth.Month
Description: This is the month of the consumer's date of birth.AuthorizePrecheckoutRequest.Contact.DateOfBirth.Day
Description: This is the day of the consumer's date of birth.AuthorizePrecheckoutRequest.Contact.NationalID
Description: This is the consumer's national id. It is required for certain countries and should not be specified for other countries.AuthorizePrecheckoutRequest.Contact.Country
Description: This is the consumer's country of residence.AuthorizePrecheckoutRequest.Contact.EmailAddress
Description: Email address of the customer making the purchase.AuthorizePrecheckoutRequest.Contact.PhoneNumber
Description: Phone number of the customer making the purchase.AuthorizePrecheckoutRequest.PrecheckoutShippingAddress.Address
Description: The shipping address details. Where the customer wants to ship their item to.AuthorizePrecheckoutRequest.PrecheckoutShippingAddress.Address.AddressId
Description: The shipping address details to another saved shipping location.AuthorizePrecheckoutRequest.PrecheckoutShippingAddress.Address.RecipientName
Description: The shipping address details to another saved shipping location.AuthorizePrecheckoutRequest.PrecheckoutShippingAddress.Address.RecipientPhoneNumber
Description: The shipping address details to another saved shipping location.AuthorizePrecheckoutRequest.PrecheckoutShippingAddress.Address.SelectedAsDefault
Description: The shipping address details to another saved shipping location.AuthorizePrecheckoutRequest.PrecheckoutShippingAddress.Address.ShippingAlias
Description: The shipping address details to another saved shipping location.AuthorizePrecheckoutRequest.PrecheckoutRewardProgram.RewardProgramId
Description: Identifies the loyalty program id that this entity is part of.AuthorizePrecheckoutRequest.PrecheckoutRewardProgram.RewardNumber
Description: This is the account number printed on the card.AuthorizePrecheckoutRequest.PrecheckoutRewardProgram.RewardId
Description: Identifies the loyalty program offering that this entity is part of.AuthorizePrecheckoutRequest.PrecheckoutRewardProgram.RewardName
Description: The name of the loyalty program.AuthorizePrecheckoutRequest.PrecheckoutRewardProgram.ExpiryMonth
Description: Month in which the loyalty program will expire as printed on the card.AuthorizePrecheckoutRequest.PrecheckoutRewardProgram.ExpiryYear
Description: Year in which the loyalty program will expire as printed on the card.AuthorizePrecheckoutRequest.PrecheckoutRewardProgram.RewardLogo
Description: The loyalty program logo image and details.AuthorizePrecheckoutRequest.Error.Description
Description: The error description.AuthorizePrecheckoutRequest.Error.ReasonCode
Description: The error reason code.AuthorizePrecheckoutRequest.Error.Recoverable
Description: The error recoverable.AuthorizePrecheckoutRequest.Error.Source
Description: The error source.AuthorizePrecheckoutRequest.Country.Code
Description: The country code of the precheckout service.AuthorizePrecheckoutRequest.Country.Name
Description: The name code of the precheckout service.AuthorizePrecheckoutRequest.Country.CallingCode
Description: The country calling code of the precheckout service.AuthorizePrecheckoutRequest.Country.Locale
Description: The country locale of the precheckout service.AuthorizePrecheckoutRequest.EmailAddress
Description: The email address of the customer for the precheckout service.<?xml version="1.0"encoding="UTF-8"?> <AuthorizePrecheckoutRequest> <PrecheckoutData> <Cards> <Card> <BrandId>master</BrandId> <BrandName>MasterCard</BrandName> <BillingAddress> <City>123 Fake St</City> <Country>US</Country> <CountrySubdivision>US-MO</CountrySubdivision> <Line1>326 Fake St</Line1> <PostalCode>63146</PostalCode> </BillingAddress> <CardHolderName>Joe Cardholder</CardHolderName> <ExpiryMonth>02</ExpiryMonth> <ExpiryYear>2017</ExpiryYear> <CardId>52</CardId> <LastFour>1234</LastFour> <CardAlias>MasterCard card</CardAlias> <SelectedAsDefault>true</SelectedAsDefault> </Card> </Cards> <Contact> <FirstName>Joe</FirstName> <MiddleName>M</MiddleName> <LastName>Cardholder</LastName> <Gender>M</Gender> <DateOfBirth> <Year>1984</Year> <Month>12</Month> <Day>19</Day> </DateOfBirth> <NationalID>123456789</NationalID> <Country>US</Country> <EmailAddress>joe@gmail.com</EmailAddress> <PhoneNumber>555-5555</PhoneNumber> </Contact> <ShippingAddresses> <ShippingAddress> <City>OFallon</City> <Country>US</Country> <CountrySubdivision>US-MO</CountrySubdivision> <Line1>2222 Fake Avenue</Line1> <PostalCode>63025</PostalCode> <RecipientName>Joe Cardholder</RecipientName> <RecipientPhoneNumber>555-5555</RecipientPhoneNumber> <AddressId>52</AddressId> <SelectedAsDefault>true</SelectedAsDefault> <ShippingAlias>Home</ShippingAlias> </ShippingAddress> </ShippingAddresses> <WalletId>Mobile</WalletId> <PrecheckoutTransactionId>P1g2j234987kjfg0fg6</PrecheckoutTransactionId> <ConsumerWalletId>11235813</ConsumerWalletId> </PrecheckoutData> </AuthorizePrecheckoutRequest>
<?xml version="1.0"encoding="UTF-8" standalone="yes"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <xs:element name="AuthorizePrecheckoutResponse"type="AuthorizePrecheckoutResponse"/> <xs:complexType name="AuthorizePrecheckoutResponse"> <xs:sequence> <xs:element name="Status" type="xs:string"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </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> </xs:schema>
AuthorizePrecheckoutResponse.Status
Description: The status message of the response from
precheckout data.
Details: String
**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
<?xml version="1.0" encoding="UTF-8"?> <AuthorizePrecheckoutResponse> <Status>Status</Status> </AuthorizePrecheckoutResponse>
In case an error occurs, Errors will be returned back as described in Appendix REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
Source |
Reason Code |
Description |
Recoverable |
---|---|---|---|
OAuthToken |
MISSING_REQUIRED_INPUT |
OAuth Token is invalid |
false |
OAuthToken |
INVALID_INPUT_VALUE |
OAuth Token is invalid |
false |
This service is used by a MasterPass to notify/request a MasterPass consumer's checkout data from a wallet provider during an Express Checkout.Before the wallet provider responds to this call it should send the consumer's information via the AuthorizeExpressCheckout service (next section). MasterPass getting the response is notification to get the data from the MasterPass temporary database.
This URL will need to be supplied to MasterPass by the wallet.
https://www.anywallet.com/walletapi/wallet/v6/expresscheckout
POST
XML
POST https://www.anywallet.com/walletapi/wallet/v6/expresscheckout
<?xml version="1.0"encoding="UTF-8" standalone="yes"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <xs:element name="WalletExpressCheckoutRequest"type="WalletExpressCheckoutRequest"/> <xs:complexType name="WalletExpressCheckoutRequest"> <xs:sequence> <xs:element name="MerchantCheckoutId" type="xs:string"/> <xs:element name="OauthToken" type="xs:string"/> <xs:element name="CurrencyCode" type="xs:string"/> <xs:element name="OrderAmount" type="xs:long"/> <xs:element name="PrecheckoutTransactionId" type="xs:string"/> <xs:element name="ConsumerWalletId" type="xs:string"/> <xs:element name="MerchantParameterId" type="xs:string"/> <xs:element name="CardId" type="xs:string"/> <xs:element name="ShippingAddressId" type="xs:string"/> <xs:element name="RewardProgramId" type="xs:string"minOccurs="0"/> <xs:element name="WalletId" type="xs:string"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </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> </xs:schema>
WalletExpressCheckoutRequest.MerchantCheckoutId
Description: This is the MasterPass identifier of the
merchant checkout project. A single merchant can have
multiple checkout IDs.
Details: String
WalletExpressCheckoutRequest.OauthToken
Description:
Verifier token that is associated with the consumer and merchant
connection. This token was provided on the Authorize Pairing call
that connected the consumer and merchant.
Details: Required; String.
WalletExpressCheckoutRequest.OrderAmount
Description: Order amount for the checkout provided by the
merchant.
Details: Required; Numeric.
WalletExpressCheckoutRequest.OriginUrl
Description:
The URL that the merchant is using to initialize the Lightbox.
Details: Optional, Contains scheme, host name, port
if not 80 or 443 and does not include path information of URL.
Example: http://www.weekend.com or
https://weekend.com:8323
WalletExpressCheckoutRequest.PrecheckoutTransactionId
Description:
This is a transaction identifier that MasterPass generates and
provides to a merchant when the merchant requests consumer data in
a GetPreCheckoutData request. ID associated with the PreCheckout
Transaction.
Details: Required; Alpha Numeric
WalletExpressCheckoutRequest.ConsumerWalletID
Description:
Identifier that the wallet has given to a consumer.
Details: String
WalletExpressCheckoutRequest.MerchantParameterId
Description:
Must use in authorize express checkout call.
Details: Optional
WalletExpressCheckoutRequest.CardId
Description:
ID of the card alias selected by the consumer.
Details: Optional
WalletExpressCheckoutRequest.ShippingAddressId
Description:
ID of the shipping address selected by the consumer.
Details: Optional
WalletExpressCheckoutRequest.RewardProgramId
Description:
ID of the loyalty card selected by the consumer.
Details: Optional
WalletExpressCheckoutRequest.WalletId
Description:
Identifier provided by MasterPass for a specific wallet
provider.
Details: String
WalletExpressCheckoutRequest.ExtensionPoint
Description:
Reserved for future use.
Details: Optional
**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
<?xml version="1.0" encoding="UTF-8"?> <WalletExpressCheckoutRequest> <MerchantCheckoutId>sfasd897sadfhjkl4w329fa_sadfj37</MerchantCheckoutId> <OauthToken>f7f16d8462a9424365498afade20caaa</OauthToken> <CurrencyCode>CurrencyCode</CurrencyCode> <OrderAmount>152.36</OrderAmount> <PrecheckoutTransactionId>896498734</PrecheckoutTransactionId> <ConsumerWalletId>464697</ConsumerWalletId> <MerchantParameterId>149da8645h5</MerchantParameterId> <CardId>35466</CardId> <ShippingAddressId>665644</ShippingAddressId> <RewardProgramId>987646</RewardProgramId> <WalletId>67496464</WalletId> </WalletExpressCheckoutRequest>
<?xml version="1.0"encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <xs:element name="Response" type="Response"/> <xs:complexType name="Response "> <xs:sequence> <xs:element name="Message" type="xs:string"minOccurs="0" /> <xs:element name="Errors" type="Errors"minOccurs="0" /> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:element name="Error" type="Error"/> <xs:complexType name="Error"> <xs:sequence> <xs:element name="Description" type="xs:string"/> <xs:element name="ReasonCode" type="xs:string"/> <xs:element name="Recoverable" type="xs:boolean"/> <xs:element name="Source" type="xs:string"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="Errors" type="Errors"/> <xs:complexType name="Errors"> <xs:sequence> <xs:element name="Error" type="Error"minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </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> </xs:schema>
Response.Message
Description: Success or
Failure.
Details: String
Response.Errors
Description: List of errors
that were received.
Details: Optional, String
Description: XSD type any reserved for future use.
Details: Optional
In case an error occurs, Errors will be returned back as described in Appendix REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
Source |
Reason Code |
Description |
Recoverable |
---|---|---|---|
OAuthToken |
MISSING_REQUIRED_INPUT |
OAuth Token is invalid |
false |
OAuthToken |
INVALID_INPUT_VALUE |
OAuth Token is invalid |
false |
This resource allows a customer to perform a one-click buy behavior. The customer can bypass logging into their wallet once they have signed into the merchant.
If you want to allow customers to experience the express checkout flow. Customers can check out faster without having wallet authenticate the consumer to confirm their information.
This service allows the customer to avoid signing into their wallet. It is similar to a one-click checkout process. The customer is not prompted by the wallet to confirm order.
https://api.mastercard.com/masterpass/partner/v6/expresscheckout
POST
XML
<?xml version="1.0"encoding="UTF-8" standalone="yes"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <xs:element name="AuthorizeExpressCheckoutRequest"type="AuthorizeExpressCheckoutRequest"/> <xs:complexType name="AuthorizeExpressCheckoutRequest"> <xs:sequence> <xs:element name="PreCheckoutTransactionId" type="xs:string"minOccurs="1"/> <xs:element name="CurrencyCode" type="xs:string"/> <xs:element name="OrderAmount" type="xs:long"/> <xs:element name="MerchantParameterId" type="xs:string"minOccurs="1"/> <xs:element name="OAuthToken" type="xs:string"minOccurs="1"/> <xs:element name="Errors" type="Errors"minOccurs="0"/> <xs:element name="AuthorizedExpressCheckout" type="AuthorizedCheckout"minOccurs="1"/> <xs:element name="DeviceType" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="DESKTOP"/> <xs:enumeration value="MOBILE"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="AuthorizedCheckout" type="AuthorizedCheckout"/> <xs:complexType name="AuthorizedCheckout"> <xs:sequence> <xs:element name="Card" type="Card"/> <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="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="Contact"> <xs:sequence> <xs:element name="FirstName" type="NonEmptyString"/> <xs:element name="MiddleName" 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="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="ShippingAddress"> <xs:complexContent> <xs:extension base="Address"> <xs:sequence> <xs:element name="RecipientName" type="NonEmptyString"/> <xs:element name="RecipientPhoneNumber" type="xs:string"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <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="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="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"/> <xs:pattern value="\d{4}"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="EmailAddress"> <xs:restriction base="xs:string"> <xs:pattern value="[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*@[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="Gender"> <xs:restriction base="xs:token"> <xs:enumeration value="M"/> <xs:enumeration value="F"/> </xs:restriction> </xs:simpleType> <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: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:simpleType name="Country"> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z]{2}"/> </xs:restriction> </xs:simpleType> <xs:complexType name="Error"> <xs:sequence> <xs:element name="Description" type="xs:string"minOccurs="0" /> <xs:element name="ReasonCode" type="xs:string"/> <xs:element name="Recoverable" type="xs:boolean"/> <xs:element name="Source" type="xs:string"/> <xs:element name="Details" type="Details"minOccurs="0" maxOccurs="1" /> </xs:sequence> </xs:complexType> <xs:complexType name="Errors"> <xs:sequence> <xs:element name="Error" type="Error"minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> <xs:complexType name="Details"> <xs:sequence> <xs:element name="Detail" type="Detail"minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> <xs:complexType name="Detail"> <xs:sequence> <xs:element name="Name" type="xs:string"/> <xs:element name="Value" type="xs:string"/> </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: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> </xs:schema>
AuthorizeExpressCheckoutRequest.PreCheckoutTransactionId
Description:
The unique ID of the precheckout transaction
Details: Required
AuthorizeExpressCheckoutRequest.OrderAmount
Description:
The order amount of the precheckout transaction
Details: Required
AuthorizeExpressCheckoutRequest.MerchantParameterId
Description:
The merchant parameter ID of the precheckout transaction
Details: Required
AuthorizeExpressCheckoutRequest.oAuthToken
Description:
Verifier that the merchant uses to retrieve their access token.
Details: Required
AuthorizeExpressCheckoutRequest.Errors
Description:
List of errors that were received.
Details: Optional
AuthorizeExpressCheckoutRequest.Errors.Error.Description
Description:
Description of the error.
Details: Optional, String
AuthorizeExpressCheckoutRequest.Errors.Error.ReasonCode
Description:
Code defining the error.
Details: Required, String
AuthorizeExpressCheckoutRequest.Errors.Error.Recoverable
Description:
True if system can recover from error.
Details: Required, Boolean
AuthorizeExpressCheckoutRequest.Errors.Error.Source
Description:
The source of the error.
Details: Required, String
AuthorizeExpressCheckoutRequest.Errors.Error.Details
Description:
The details of the error.
Details: Optional, String
AuthorizeExpressCheckoutRequest.Errors.Error.Details.Detail
Details: Optional
AuthorizeExpressCheckoutRequest.Errors.Error.Details.Detail.Name
Description: The name of the detail.
Details: Required, String
AuthorizeExpressCheckoutRequest.Errors.Error.Details.Detail.Value
Description: The value of the detail.
Details: Required, String
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout
Description: Root element for Express Checkout data.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card
Description: The root element for card data.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card.BrandId
Description: The unique ID of the card brand.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card.BrandName
Description: The brand name printed on the customer's
card.
Details: Required
Example: MasterCard, Visa, AMEX, etc.
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card.AccountNumber
Description: The account number printed on the
customer's card.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card.BillingAddress
Description: The billing address that is associated with the
customer's card.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card.BillingAddress.City
Description: The city that is associated with the customer's
card.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card.BillingAddress.Country
Description: The country that is associated with the
customer's card.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card.BillingAddress.CountrySubdivision
Description: The country subdivision that is associated with
the customer's card.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card.BillingAddress.Line1
Description: The billing address that is associated with the
customer's card.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card.BillingAddress.Line2
Description: The billing address that is associated with the
customer's card.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card.BillingAddress.Line3
Description: The billing address that is associated with the
customer's card.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card.BillingAddress.PostalCode
Description: The postal code that is associated with the
customer's card.
Details: Optional
AuthorizeExpressCheckoutRequest.
AuthorizedExpressCheckout.Card.CardholderName
Description: The printed name on the card of the
purchaser.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card.ExpiryMonth
Description: The month in which the card will expire; as
printed on the card.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Card.ExpiryYear
Description: The year in which the card will expire; as
printed on the card.
Details: Required
AuthorizeExpressCheckoutRequest
AuthorizedExpressCheckout.Contact.FirstName
Description:
First name (given name) of the customer making the purchase.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Contact.MiddleName
Description: Middle name of the customer making the
purchase.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Contact.LastName
Description: Last name (family name or surname) of the
customer making the purchase.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Contact.Gender
Description: This is the consumer's gender, either 'F'
for female or 'M' for male.
Details: Optional and where local law requires
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Contact.DateOfBirth
Description: This is the date of birth of the
consumer.
Details: Optional and where local law requires
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Contact.NationalId
Description: This is the consumer's national id.
It is required for certain countries and should not be specified
for other countries.
Details: Optional and where local law requires
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Contact.Country
Description: This is the consumer's country of
residence.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Contact.EmailAddress
Description: Email address of the customer making the
purchase.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.Contact.PhoneNumber
Description: Phone number of the customer making the
purchase.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.ShippingAddress.RecipientName
Description: The recipient name that will be noted on the
shipping address.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.ShippingAddress.RecipientPhoneNumber
Description: The recipient's phone number.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.ShippingAddress.City
Description: The city that is associated with the customer's
card.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.ShippingAddress.Country
Description: The country that is associated with the
customer's card.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.ShippingAddress.CountrySubdivision
Description: The country subdivision that is associated with
the customer's card.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.ShippingAddress.Line1
Description: The billing address that is associated with the
customer's card.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.ShippingAddress.Line2
Description: The billing address that is associated with the
customer's card.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.ShippingAddress.Line3
Description: The billing address that is associated with the
customer's card.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.ShippingAddress.PostalCode
Description: The postal code that is associated with the
customer's card.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.AuthenticationOptions
Description: The authentication options during
checkout.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.AuthenticationOptions.AuthenticateMethod
Description: The method of authentication used during
Checkout, if any.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.AuthenticationOptions.CardEnrollmentMethod
Description: Indicates the method by which the card was
added to the Partner wallet.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.AuthenticationOptions.Cavv
Description: The <Cavv> value received on the
Authenticate response from Cardinal.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.AuthenticationOptions.EciFlag
Description: The <EciFlag> value received on
the Authenticate response from Cardinal.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.AuthenticationOptions.MasterCardAssignedID
Description: This field is part of the Maestro "MARP"
program and does not need to be populated by the Partner.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.AuthenticationOptions.PaResStatus
Description: The <PAResStatus> value received on
the Authenticate response from Cardinal.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.AuthenticationOptions.SignatureVerification
Description: The <SignatureVerification> value
received on the Authenticate response from Cardinal.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.AuthenticationOptions.Xid
Description: The <Xid> value received on the
Authenticate response from Cardinal.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.RewardProgram
Description: The reward program of the checkout.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.RewardProgram.RewardNumber
Description: This is the account number printed on the
card.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.RewardProgram.RewardId
Description: Identifies the reward program offering that
this entity is part of.
Details: Required
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.RewardProgram.RewardName
Description: Reward program name
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.RewardProgram.ExpiryMonth
Description: Month in which the reward program will
expire as printed on the card.
Details: Optional
AuthorizeExpressCheckoutRequest.AuthorizedExpressCheckout.RewardProgram.ExpiryYear
Description: Year in which the reward program will expire as
printed on the card.
Details: Optional
Description: XSD type any reserved for future use.
Details: Optional
<?xml version="1.0"encoding="UTF-8"?> <AuthorizeExpressCheckoutRequest> <PreCheckoutTransactionId>a4d6x6s-tqda3l-hxrmfvag-1-hxroo2ac-2pb</PreCheckoutTransactionId> <CurrencyCode>USD</CurrencyCode> <OrderAmount>100</OrderAmount> <MerchantParameterId>a4d6x6s-tqda3l-hxrmfvag-1-hxrooyy5-2vu</MerchantParameterId> <OAuthToken>86ce9346b1dddbb40f379017fe375337b2e40932</OAuthToken> <AuthorizedExpressCheckout> <Card> <BrandId>Master</BrandId> <BrandName>MasterCard</BrandName> <AccountNumber>5435579315709649</AccountNumber> <BillingAddress> <City>Eureka</City> <Country>US</Country> <CountrySubdivision>US-MO</CountrySubdivision> <Line1>1 Address Line</Line1> <PostalCode>63025</PostalCode> </BillingAddress> <CardHolderName>Lee M Cardholder</CardHolderName> <ExpiryMonth>01</ExpiryMonth> <ExpiryYear>2016</ExpiryYear> </Card> <Contact> <FirstName>Lee</FirstName> <MiddleName>M</MiddleName> <LastName>Cardholder</LastName> <Gender>M</Gender> <DateOfBirth> <Year>1954</Year> <Month>03</Month> <Day>11</Day> </DateOfBirth> <NationalID>1234</NationalID> <Country>US</Country> <EmailAddress>11234@gmail.com</EmailAddress> <PhoneNumber>3144873456</PhoneNumber> </Contact> <ShippingAddress> <City>Eureka</City> <Country>US</Country> <CountrySubdivision>US-MO</CountrySubdivision> <Line1>Line1</Line1> <PostalCode>63025</PostalCode> <RecipientName>RecipientName</RecipientName> <RecipientPhoneNumber>RecipientPhoneNumber</RecipientPhoneNumber> </ShippingAddress> <RewardProgram/> </AuthorizedExpressCheckout> <OriginUrl>http://OriginUrl.com</OriginUrl> <DeviceType>DESKTOP</DeviceType> </AuthorizeExpressCheckoutRequest>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"version="1.0"> <xs:element name="AuthorizeExpressCheckoutResponse" type="AuthorizeExpressCheckoutResponse" /> <xs:complexType name="AuthorizeExpressCheckoutResponse"> <xs:sequence> <xs:element name="Status" type="xs:string" minOccurs="0" /> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0" /> </xs:sequence> </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> </xs:schema>
Status
Description: Displays to the customer that their express checkout process has been submitted.
Details: Required
Description: XSD type any reserved for future use.
Details: Optional
<?xml version="1.0" encoding="UTF-8"?> <AuthorizeExpressCheckoutResponse> <Status>Status</Status> </AuthorizeExpressCheckoutResponse>
In case an error occurs, Errors will be returned back as described in Appendix REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
Source |
Reason Code |
Description |
Recoverable |
---|---|---|---|
OAuthToken |
MISSING_REQUIRED_INPUT |
OAuth Token is invalid |
false |
OAuthToken |
INVALID_INPUT_VALUE |
OAuth Token is invalid |
false |
This resource allows a partner hosted wallet to get the pairings established with a merchant. It shows what merchants are paired with certain wallet.
To enable your users to manage the connections they have authorized already with merchants. This is part of the un-pairing experience.
This service allows a wallet to get the list of connections so they can be displayed to the consumer who needs a place to see the list of connections they have established with a merchant.
https://api.mastercard.com/masterpass/partner/v6/connectedmerchants
POST
XML
https://api.mastercard.com/masterpass/partner/v6/connectedmerchants
<?xml version="1.0"encoding="UTF-8" standalone="yes"?> <xs:element name="ConnectedMerchantsRequest"/> <xs:complexType name="ConnectedMerchantsRequest"> <xs:sequence> <xs:element name="ConsumerWalletId" type="xs:string"/> <xs:element name="WalletId" type="xs:string"/> <xs:element name="StartDate" type="xs:dateTime"/> <xs:element name="EndDate" type="xs:dateTime"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </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> </xs:schema>
Description: A unique identifier for the consumer's
wallet. This is up to the wallet partner to provide
Details: Required
Description: Partition name MasterPass uses to identify
the wallet. This is received in the pairing initialization
redirect.
Details: Required
Example: a4d6x3165n12thw1gpy151hw2jqjmy4s5
Description: Displays the date when the connection has
started.
Details: Date and Time
Description: Displays the date when the connection has
ended.
Details: Date and Time
**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ConnectedMerchantsRequest> <ConsumerWalletId>11235813</ConsumerWalletId> <WalletId>PHWallet</WalletId> </ConnectedMerchantsRequest>
<?xml version="1.0"encoding="UTF-8" standalone="yes"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <xs:element name="Connection" type="Connection"/> <xs:complexType name="Connection"> <xs:sequence> <xs:element name="ConnectionId" type="xs:long"/> <xs:element name="MerchantName" type="xs:string"/> <xs:element name="ConnectionName" type="xs:string"/> <xs:element name="Logo" type="Logo"/> <xs:element name="DataTypes" type="DataTypes"/> <xs:element name="OneClickSupported" type="xs:boolean"/> <xs:element name="OneClickEnabled" type="xs:boolean"/> <xs:element name="LastUpdatedUsed" type="xs:dateTime"/> <xs:element name="ConnectedSinceDate" type="xs:dateTime"/> <xs:element name="ExpirationDate" type="xs:dateTime"/> <xs:element name="MerchantUrl" type="xs:anyURI"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="ConnectionList" type="ConnectionList"/> <xs:complexType name="ConnectionList"> <xs:sequence> <xs:element name="Connection" type="Connection"minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="Logo" type="Logo"/> <xs:complexType name="Logo"> <xs:sequence> <xs:element name="Ref" type="xs:string"/> <xs:element name="Height" type="xs:string"minOccurs="0"/> <xs:element name="Width" type="xs:string"minOccurs="0"/> <xs:element name="BackgroundColor" type="xs:string"minOccurs="0"/> <xs:element name="Url" type="xs:anyURI"minOccurs="0"/> <xs:element name="LongDescription" type="xs:string"minOccurs="0"/> <xs:element name="AlternateText" type="xs:string"minOccurs="0"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="DataTypes" type="DataTypes"/> <xs:complexType name="DataTypes"> <xs:sequence> <xs:element name="Code" type="xs:string"/> <xs:element name="Description" type="xs:string"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </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> </xs:schema>
Description: A unique identifier for the connection
id.
Details: String
Description: Name of the merchant to be
displayed to consumer for selection.
Details: String
Description: Name of the connection to
be displayed to consumer for selection.
Details: String
Description: The
merchant logo to display
Details: Logo
Description: Data types requested by merchant.
Details: Required, can include card, shipping, loyalty,
profile.
Description: Displays if the one click connection is
supported.
Details: Boolean
Description: Displays if the one click connection is
established.
Details: Boolean
Description: Displays the last updated connection.
Details: Date and Time
Description: Displays the date when the connection was
made.
Details: Date and Time
Description: Displays the expiration date of the
connection.
Details: Date and Time
Description: Displays the merchant's URL of the
connection.
Details: URL
Description: Displays connected wallet list.
Details: String
Description: XSD type any reserved for future use.
Details: Optional
<?xml version="1.0"encoding="UTF-8"?> <ConnectionList> <Connection> <ConnectionId>13348706</ConnectionId> <MerchantName>Best Merchant</MerchantName> <Logo> <Url>../assets/img/merchant_icon.png</Url> <AlternateText>banana.PNG</AlternateText> </Logo> <OneClickSupported>false</OneClickSupported> <OneClickEnabled>true</OneClickEnabled> <ConnectedSinceDate>07/29/2014</ConnectedSinceDate> <MerchantUrl>http://bestmerchant.com/testexample</MerchantUrl> </Connection> <Connection> <ConnectionId>13317574</ConnectionId> <MerchantName>Awesome Merchant</MerchantName> <Logo> <Url>../assets/img/merchant_icon.png</Url> </Logo> <OneClickSupported>false</OneClickSupported> <OneClickEnabled>false</OneClickEnabled> <ConnectedSinceDate>07/28/2014</ConnectedSinceDate> <MerchantUrl>https://awesomemerchant.com/testexample</MerchantUrl> </Connection> </ConnectionList>
In case an error occurs, Errors will be returned back as described in Appendix REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
Source |
Reason Code |
Description |
Recoverable |
---|---|---|---|
OAuthToken |
MISSING_REQUIRED_INPUT |
OAuth Token is invalid |
false |
OAuthToken |
INVALID_INPUT_VALUE |
OAuth Token is invalid |
false |
A wallet user needs to be able to delete connections previously established with a Merchant.
The Partner will use this call to delete a previously established connection with a Merchant. This is part of the un-pairing experience.
api.mastercard.com/masterpass/partner/v6/deletepairing
POST
XML
Element Descriptions:
https://api.mastercard.com/masterpass/partner/v6/deletepairing
<?xml version="1.0"encoding="UTF-8" standalone="yes"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <xs:element name="DeletePairingRequest" type="DeletePairingRequest"/> <xs:complexType name="DeletePairingRequest"> <xs:sequence> <xs:element name="ConsumerWalletId" type="xs:string"/> <xs:element name="WalletId" type="xs:string"/> <xs:element name="ExtensionPoint" type="ExtensionPoint" minOccurs="0" /> <xs:element name="ConnectionId" type="xs:string"/> </xs:sequence> </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> </xs:schema>
DeletePairingRequest.MerchantName
Description: Name of the merchant.DeletePairingRequest.ConsumerWalletId
Description: Consumer wallet ID that identifies the wallet from the delete pairing request.DeletePairingRequest.WalletId
Description: Wallet ID that identifies the wallet from the delete pairing request.DeletePairingRequest.ConnectionId
Description: A unique identifier for the connection id.**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <DeletePairingRequest> <MerchantName>AnyMerchant</MerchantName> <ConsumerWalletId>11235813</ConsumerWalletId> <WalletId>12916</WalletId> <ConnectionId>634483</ConnectionId> </DeletePairingRequest>
<?xml version="1.0"encoding="UTF-8" standalone="yes"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <xs:element name="DeletePairingResponse" type="DeletePairingResponse"/> <xs:complexType name="DeletePairingResponse"> <xs:sequence> <xs:element name="StatusMsg" type="xs:string"/> <xs:element name="Errors" type="Errors"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:element name="Error" type="Error"/> <xs:complexType name="Error"> <xs:sequence> <xs:element name="Description" type="xs:string"/> <xs:element name="ReasonCode" type="xs:string"/> <xs:element name="Recoverable" type="xs:boolean"/> <xs:element name="Source" type="xs:string"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="Errors" type="Errors"/> <xs:complexType name="Errors"> <xs:sequence> <xs:element name="Error" type="Error"minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </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> </xs:schema>
DeletePairingResponse.StatusMsg
Description: Status message response from deleting a pairing with a wallet.DeletePairingResponse.Errors
Description: Error response from deleting a pairing with a wallet.Description: XSD type any reserved for future use.
Details: Optional
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <DeletePairingResponse> <StatusMsg>Success</StatusMsg> <Errors> <Error> <Description>Description</Description> <ReasonCode>ReasonCode</ReasonCode> <Recoverable>true</Recoverable> <Source>Source</Source> </Error> </Errors> </DeletePairingResponse>
In case an error occurs, Errors will be returned back as described in Appendix REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
Source |
Reason Code |
Description |
Recoverable |
---|---|---|---|
OAuthToken |
MISSING_REQUIRED_INPUT |
OAuth Token is invalid |
false |
OAuthToken |
INVALID_INPUT_VALUE |
OAuth Token is invalid |
false |
This resource allows a partner hosted wallet to obtain the updated list of loyalty programs accepted by MasterPass. If desired by the partner, they can allow the wallet user to add these specific loyalty programs to their wallet.
Users are able to add loyalty programs from many different merchants to their wallet.This can be used along with checkouts in order to pass the loyalty program number along to the merchant for further use. If a merchant provides the value for checkout initialization parameter "accept_reward_program" as True, then the partner can display the list of loyalty program numbers added by the user to pass through in the Checkout. This allows the wallet user to accrue value to the loyalty program based on that purchase.
It is recommended to cache the response from the Loyalty Programs Service to avoid unnecessary duplicate calls. However, the data should be cleared within 1 hour so that changes to the list are propagated quickly.
This service allows the partner to obtain the latest list of loyalty programs that are supported for checkout. This is a REST service exposed on MasterCard OpenAPI infrastructure.
https://api.mastercard.com/masterpass/partner/v6/reward-program-offerings
GET
XML
https://api.mastercard.com/masterpass/partner/v6/reward-program-offerings
<?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="rewardProgramOfferingsResponse"type="rewardProgramOfferingsResponse"/> <xs:complexType name="rewardProgramOffering"> <xs:sequence> <xs:element name="Id" type="xs:string"/> <xs:element name="Logo" type="xs:string"/> <xs:element name="Name" type="xs:string"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:complexType name="rewardProgramOfferings"> <xs:sequence> <xs:element name="RewardProgramOffering" type="rewardProgramOffering"maxOccurs="unbounded"/> <xs:element name="ExtensionPoint" type="ExtensionPoint"minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:complexType name="rewardProgramOfferingsResponse"> <xs:sequence> <xs:element name="RewardProgramOfferings" type="rewardProgramOfferings"/> </xs:sequence> </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> </xs:schema>
RewardProgramOffering
Description: A loyalty program that is offered to consumers. There may be many of these added over time. Generally these are programs offered directly by merchants.
RewardProgramOffering.Id
Description: The unique identifier of a loyalty program offering. This id should be used to programmatically reference the intended loyalty program offering.
RewardProgramOffering.Logo
Description: A URL to the branding image for the loyalty program offering. It is recommended to pass this URL directly out to the partner hosted wallet application. If the image is downloaded and stored within the partner database it must be refreshed at least daily in order to pick up potential changes to the image.
RewardProgramOffering.Name
Description: The display name for the loyalty program offering. This name should be used when presenting the loyalty program offering to the user.
**.ExtensionPoint
Description: XSD type any reserved for future use.
Details: Optional
<rewardProgramOfferingsResponse> <RewardProgramOfferings> <RewardProgramOffering> <Id>xbrand</Id> <Logo>https://www.paypass.com/online/seam/resource/rewardOfferImage?id=xbrand</Logo> <Name>X Brand</Name> </RewardProgramOffering> <RewardProgramOffering> <Id>ybrand</Id> <Logo>https://www.paypass.com/online/seam/resource/rewardOfferImage?id=ybrand</Logo> <Name>Y Brand</Name> </RewardProgramOffering> </RewardProgramOfferings> </rewardProgramOfferingsResponse>
This resource allows a partner hosted wallet to create a wallet for storage within the MasterPass databases and later retrieve all contents within that wallet.
Partners that host their own wallet user interface may want to store their user's personally identifiable information (PII) within the MasterPass database.That can be accomplished using a set of services referred to as Wallet Storage APIs.This service provides the ability to manage ids of wallets and it provides a convenient method for retrieving the full contents of the wallet with one call.
This service allows a partner to create a new wallet identifier for the MasterPass database and to retrieve all contents of that wallet. At the end of this call, there will be essentially a logical container created to store the particular user's data.
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/<wallet_provider_id>/wallet/
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/<wallet_provider_id>/wallet/<wallet_id>
POST, GET or DELETE
XML
wallet_provider_id
Description: This is an identifier assigned to the partner.It is generated during configuration of the wallet within MasterCard and should be communicated to the partner as part of the onboarding process.This is the Partner ID field within the wallet PM3 configuration.
Details:Required
Description: This is a unique identifier for the wallet. The GET, PUT and DELETE methods require this parameter. The POST method does not accept this parameter and it will return a generated id to use for the subsequent calls.
Details:Required for GET, PUT and DELETE
Typical REST services will accept an object in the POST body, however this service does not require any additional payload. POST is just used to provide an operation different than the GET method.
This response varies by method. The POST method returns the generated ID to be used in subsequent calls. The DELETE method returns "Success" on successful delete. The GET method returns the full list of Card, Shipping Address and Reward Program entities stored with the given wallet ID. See the service documentation for Card, Shipping Address and Reward Program for details on the GET response schema.
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet POST
Response:
l7hcrmmrp9ld5tsum2inic2a83p676s1qj2cb4ng5df8q0utmvd
NOTE: This call is not from this service.See Card Service for details.It is here to add something to the wallet to demonstrate how the next call works.
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/l7hcrmmrp9ld5tsum2inic2a83p676s1qj2cb4ng5df8q0utmvd/card
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Card> <BrandID>master</BrandID> <AccountNumber>5435579315709649</AccountNumber> <BillingAddress> <Line1>2000 Purchase Street</Line1> <City>Purchase</City> <CountrySubdivision>US-NY</CountrySubdivision> <Country>US</Country> <PostalCode>10577</PostalCode> </BillingAddress> <CardHolderName>Lee M Cardholder</CardHolderName> <ExpiryMonth>5</ExpiryMonth> <ExpiryYear>2016</ExpiryYear> </Card>
11dgjje9suejvk3j3ssvmgjflr3mhgu9oi8gano6kuainnjkt22f
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/l7hcrmmrp9ld5tsum2inic2a83p676s1qj2cb4ng5df8q0utmvd
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Wallet> <Card> <ID>1k8t5p5p05a5pohut86spv2ku1unmrhs81lqouu716kdoq37bl46</ID> <BrandID>master</BrandID> <AccountNumber>5435579315709649</AccountNumber> <BillingAddress> <Line1>2000 Purchase Street</Line1> <City>Purchase</City> <CountrySubdivision>US-NY</CountrySubdivision> <Country>US</Country> <PostalCode>10577</PostalCode> </BillingAddress> <CardHolderName>Lee M Cardholder</CardHolderName> <ExpiryMonth>5</ExpiryMonth> <ExpiryYear>2016</ExpiryYear> </Card> </Wallet>
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/l7hcrmmrp9ld5tsum2inic2a83p676s1qj2cb4ng5df8q0utmvd
Response Code: 204
This resource allows a partner hosted wallet to store user cards in the MasterPass database.
Partners that host their own wallet user interface may want to store their user's personally identifiable information (PII) within the MasterPass database.That can be accomplished using a set of services referred to as Wallet Storage APIs.This service provides the full CRUD (create, read, update and delete) operations for individual cards. This service can be used after a wallet_id is created using the Wallet Storage API: Wallet Service.
This service allows a partner to store user cards in the MasterPass database.
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/<wallet_provider_id>/wallet/<wallet_id>/card
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/<wallet_provider_id>/wallet/<wallet_id>/card/<card_id>
POST, GET, PUT or DELETE
XML
wallet_provider_id
Description: This is an identifier assigned to the partner.It is generated during configuration of the wallet within MasterCard and should be communicated to the partner as part of the onboarding process.This is the Partner ID field within the wallet PM3 configuration.
Details:Required
wallet_id
Description: This is a unique identifier for the user's wallet. The wallet service must be called first to get this id.
Details:Required
card_id
Description: This is a unique identifier for the card entity. The POST method does accept this parameter and it will return a generated id that will be used for this value in the GET, PUT and DELETE method.
Details:Required for GET, PUT and DELETE
The POST and PUT methods both take an XML object within the request payload. This object represents the entity that will be stored. The following schema defines the object. Explanation of each of the individual fields follows that.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="Address"> <xs:sequence> <xs:element name="Line1" type="xs:string"/> <xs:element name="Line2" type="xs:string" minOccurs="0"/> <xs:element name="Line3" type="xs:string" minOccurs="0"/> <xs:element name="City" type="xs:string"/> <xs:element name="CountrySubdivision" type="xs:string" minOccurs="0"/> <xs:element name="Country" type="xs:string"/> <xs:element name="PostalCode" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="Card"> <xs:sequence> <xs:element name="ID" type="xs:string" minOccurs="0"/> <xs:element name="BrandID" type="xs:string"/> <xs:element name="ArtPointer" type="xs:anyURI" minOccurs="0"/> <xs:element name="AccountNumber" type="xs:string"/> <xs:element name="BillingAddress" type="Address"/> <xs:element name="CardHolderName" type="xs:string"/> <xs:element name="ExpiryMonth" type="xs:string" minOccurs="0"/> <xs:element name="ExpiryYear" type="xs:string" minOccurs="0"/> <xs:element name="Default" type="xs:boolean" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:schema>
Description: This is the identifier returned from the POST operation.
Details: Required for PUT
Card.BrandIDDescription: The code that identifies the card as being a MasterCard, American Express, Visa, etc. The value must be obtained from the Card Brands Service as the CardBrand.Id.
Details: Required
Card.ArtPointerDescription: This field is for future use and it should not be used.
Details: Should not be provided
Card.AccountNumberDescription: This is the primary account number (PAN) printed on the card.
Details: Required
Card.CardHolderNameDescription: This is the cardholder's name as printed on the card.
Details: Required
Card.ExpiryMonthDescription: Month in which the card will expire as printed on the card.
Details: Required for card brands that include an expiration date
Card.ExpiryYearDescription: Year in which the card will expire as printed on the card.
Details: Required for card brands that include an expiration date
Card.DefaultDescription: Identifies this card as a default card within the full list of cards for this wallet.
Details: Optional
Card.BillingAddressDescription: This is the billing address of the cardholder.
Details: Required
Card.BillingAddress.Line1Description: Primary street address of the cardholder.
Details: Required
Card.BillingAddress.Line2Description: Optional second line of the street address of the cardholder.
Details: Optional
Card.BillingAddress.Line3Description: Optional third line of the street address of the cardholder.
Details: Optional
Card.BillingAddress.CityDescription: City associated with the address of the cardholder.
Details: Required
Card.BillingAddress.CountryDescription: Country element must be set to standard 2-letter country code as defined in ISO 3166-2 (http://en.wikipedia.org/wiki/ISO_3166-2), such as US, GB etc.
Details: Required
Card.BillingAddress.CountrySubdivisionDescription: CountrySubdivision element must always be set to an ISO 3166-2 code for the following countries: Australia, Canada, Japan and the United States. It is also recommended that ISO 3166-2 codes be used for subdivisions within other countries as well, although these will not be validated by the service and any free text value or a blank value is acceptable. As a reference, US subdivision codes are defined here: http://en.wikipedia.org/wiki/ISO_3166-2:US; examples: US-VA, US-MO.
Details: Required for certain countries, Recommended, but optional for others
Card.BillingAddress.PostalCodeDescription: Mail post office postal code (a.k.a. zip code) associated with the address of the cardholder. This is currently required for US, CA, GB, JP, DE, and AU although the list may change over time.
Details: Required conditionally by country
This response varies by method. The POST method returns just the ID of the created entity to be used in subsequent calls. The PUT and DELETE methods return "Success" on successful transactions. The GET method returns the full object that was stored for the given card ID. The schema of the GET response is the same as the schema of the POST request.
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/ 16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/ 1dqajif7octqpq43grt3m910lrkqnhle1d5g7h3svb3fl85ejf88/card
<Card> <BrandID>master</BrandID> <AccountNumber>5435579315709649</AccountNumber> <BillingAddress> <Line1>2000 Purchase Street</Line1> <City>Purchase</City> <CountrySubdivision>US-NY</CountrySubdivision> <Country>US</Country> <PostalCode>10577</PostalCode> </BillingAddress> <CardHolderName>Lee M Cardholder</CardHolderName> <ExpiryMonth>5</ExpiryMonth> <ExpiryYear>2016</ExpiryYear> </Card>
1l0fvmhvbcilko209lbm7ta7pku2t2niq00bc627egegvaki1121
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/ 16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/ 1dqajif7octqpq43grt3m910lrkqnhle1d5g7h3svb3fl85ejf88/card/1l0fvmhvbcilko209lbm7ta7pku2t2niq00bc627egegvaki1121
<Wallet> <Card> <ID>1k8t5p5p05a5pohut86spv2ku1unmrhs81lqouu716kdoq37bl46</ID> <BrandID>master</BrandID> <AccountNumber>5435579315709649</AccountNumber> <BillingAddress> <Line1>2000 Purchase Street</Line1> <City>Purchase</City> <CountrySubdivision>US-NY</CountrySubdivision> <Country>US</Country> <PostalCode>10577</PostalCode> </BillingAddress> <CardHolderName>Lee M Cardholder</CardHolderName> <ExpiryMonth>5</ExpiryMonth> <ExpiryYear>2016</ExpiryYear> </Card> </Wallet>
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/ 16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/ 1dqajif7octqpq43grt3m910lrkqnhle1d5g7h3svb3fl85ejf88/card/1l0fvmhvbcilko209lbm7ta7pku2t2niq00bc627egegvaki1121
PUT
<Card> <ID>1k8t5p5p05a5pohut86spv2ku1unmrhs81lqouu716kdoq37bl46</ID> <BrandID>master</BrandID> <AccountNumber>5435579315709649</AccountNumber> <BillingAddress> <Line1>2000 Purchase Street</Line1> <City>Eureka</City> <CountrySubdivision>US-MO</CountrySubdivision> <Country>US</Country> <PostalCode>63038</PostalCode> </BillingAddress> <CardHolderName>Lee M Cardholder</CardHolderName> <ExpiryMonth>5</ExpiryMonth> <ExpiryYear>2020</ExpiryYear> </Card>
Response Example
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/ 16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/ 1dqajif7octqpq43grt3m910lrkqnhle1d5g7h3svb3fl85ejf88/card/1l0fvmhvbcilko209lbm7ta7pku2t2niq00bc627egegvaki1121
Response:
Response Code: 204
This resource allows a partner hosted wallet to store user shipping addresses in the MasterPass database.
Partners that host their own wallet user interface may want to store their user's personally identifiable information (PII) within the MasterPass database.That can be accomplished using a set of services referred to as Wallet Storage APIs.This service provides the full CRUD (create, read, update and delete) operations for individual shipping addresses. This service can be used after a wallet_id is created using the Wallet Storage API: Wallet Service.
This service allows a partner to store user shipping addresses in the MasterPass database.
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/<wallet_provider_id>/wallet/<wallet_id>/shipping-address
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/<wallet_provider_id>/wallet/<wallet_id>/shipping-address/<shipping_address_id>
POST, GET, PUT or DELETE
XML
wallet_provider_id
Description: This is an identifier assigned to the partner. It is generated during configuration of the wallet within MasterCard and should be communicated to the partner as part of the onboarding process. This is the Partner ID field within the wallet PM3 configuration.
Details:Required
wallet_id
Description: This is a unique identifier for the user's wallet. The wallet service must be called first to get this id.
Details:Required
shipping_address_id
Description: This is a unique identifier for the shipping address entity. The GET, PUT and DELETE methods require this parameter. The POST method does not accept this parameter and it will return a generated id to use for the subsequent calls.
Details:Required for GET, PUT and DELETE
The POST and PUT methods both take an XML object within the request payload. This object represents the entity that will be stored. The following schema defines the object. Explanation of each of the individual fields follows that.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="Address"> <xs:sequence> <xs:element name="Line1" type="xs:string"/> <xs:element name="Line2" type="xs:string" minOccurs="0"/> <xs:element name="Line3" type="xs:string" minOccurs="0"/> <xs:element name="City" type="xs:string"/> <xs:element name="CountrySubdivision" type="xs:string" minOccurs="0"/> <xs:element name="Country" type="xs:string"/> <xs:element name="PostalCode" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="PhoneNumber"> <xs:sequence> <xs:element name="CountryCode" type="xs:string"/> <xs:element name="Number" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="ShippingAddress"> <xs:complexContent> <xs:extension base="Address"> <xs:sequence> <xs:element name="ID" type="xs:string" minOccurs="0"/> <xs:element name="RecipientName" type="xs:string"/> <xs:element name="RecipientPhoneNumber" type="PhoneNumber"/> <xs:element name="Default" type="xs:boolean" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema>
ShippingAddress.ID
Description: This is the identifier returned from the POST operation.
Details: Required for PUT
ShippingAddress.RecipientName
Description: Name of the person that the package should be delivered to.
Details: Required
ShippingAddress.RecipientPhoneNumber.CountryCode
Description: Phone contact for the person that the package should be delivered to. This is the code assigned to the country, such as 1 for US or 44 for UK.
Details: Required
ShippingAddress.RecipientPhoneNumber.Number
Description: Phone contact for the person that the package should be delivered to. This is the number without country code, such as the area code and phone number of 6367227111 for the number +1-636-722-7111.
Details: Required
ShippingAddress.Default
Description: Identifies this shipping address as a default shipping address within the full list of shipping addresses for this wallet.
Details: Optional
ShippingAddress.Line1
Description: Primary street address for the delivery.
Details: Required
ShippingAddress.Line2
Description: Optional second line of the street address for the delivery.
Details: Optional
ShippingAddress.Line3
Description: Optional third line of the street address for the delivery.
Details: Optional
ShippingAddress.City
Description: City associated with the address for the delivery.
Details: Required
ShippingAddress.Country
Description: Country element must be set to standard 2-letter country code as defined in ISO 3166-2 (http://en.wikipedia.org/wiki/ISO_3166-2), such as US, GB etc.
Details: Required
ShippingAddress.CountrySubdivision
Description: CountrySubdivision element must always be set to an ISO 3166-2 code for the following countries: Australia, Canada, Japan and the United States. It is also recommended that ISO 3166-2 codes be used for subdivisions within other countries as well, although these will not be validated by the service and any free text value or a blank value is acceptable. As a reference, US subdivision codes are defined here: http://en.wikipedia.org/wiki/ISO_3166-2:US; examples: US-VA, US-MO.
Details: Required for certain countries, Recommended, but optional for others
ShippingAddress.PostalCode
Description: Mail post office postal code (a.k.a. zip code) associated with the address for the delivery. This is currently required for US, CA, GB, JP, DE, and AU although the list may change over time.
Details: Required conditionally by country
This response varies by method. The POST method returns just the ID of the created entity to be used in subsequent calls. The PUT and DELETE methods return "Success" on successful transactions. The GET method returns the full object that was stored for the given shipping address ID. The schema of the GET response is the same as the schema of the POST request.
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/ 16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/ 1dqajif7octqpq43grt3m910lrkqnhle1d5g7h3svb3fl85ejf88/shipping-address
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ShippingAddress> <Line1>2000 Purchase Street</Line1> <City>Purchase</City> <CountrySubdivision>US-NY</CountrySubdivision> <Country>US</Country> <PostalCode>10577</PostalCode> <RecipientName>Lee M Cardholder</RecipientName> <RecipientPhoneNumber> <CountryCode>1</CountryCode> <Number>6367227111</Number> </RecipientPhoneNumber> </ShippingAddress>
b3s3kp6d8uiin4g993h6bcs9kpatiuqal4spjj63pkeatj32c18
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/ 16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/ 1dqajif7octqpq43grt3m910lrkqnhle1d5g7h3svb3fl85ejf88/shipping-address/b3s3kp6d8uiin4g993h6bcs9kpatiuqal4spjj63pkeatj32c18
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ShippingAddress> <Line1>2000 Purchase Street</Line1> <City>Purchase</City> <CountrySubdivision>US-NY</CountrySubdivision> <Country>US</Country> <PostalCode>10577</PostalCode> <ID>b3s3kp6d8uiin4g993h6bcs9kpatiuqal4spjj63pkeatj32c18</ID> <RecipientName>Lee M Cardholder</RecipientName> <RecipientPhoneNumber> <CountryCode>1</CountryCode> <Number>6367227111</Number> </RecipientPhoneNumber> </ShippingAddress>
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/ 16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/ 1dqajif7octqpq43grt3m910lrkqnhle1d5g7h3svb3fl85ejf88/shipping-address/b3s3kp6d8uiin4g993h6bcs9kpatiuqal4spjj63pkeatj32c18
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ShippingAddress> <Line1>2000 Purchase Street</Line1> <City>Purchase</City> <CountrySubdivision>US-NY</CountrySubdivision> <Country>US</Country> <PostalCode>10577</PostalCode> <ID>b3s3kp6d8uiin4g993h6bcs9kpatiuqal4spjj63pkeatj32c18</ID> <RecipientName>Lee M Cardholder</RecipientName> <RecipientPhoneNumber> <CountryCode>1</CountryCode> <Number>6367227111</Number> </RecipientPhoneNumber> </ShippingAddress>
Response code: 204
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/ 16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/ 1dqajif7octqpq43grt3m910lrkqnhle1d5g7h3svb3fl85ejf88/shipping-address/ b3s3kp6d8uiin4g993h6bcs9kpatiuqal4spjj63pkeatj32c18
Response code: 204
This resource allows a partner hosted wallet to store user reward programs in the MasterPass database.
Partners that host their own wallet user interface may want to store their user's personally identifiable information (PII) within the MasterPass database. That can be accomplished using a set of services referred to as Wallet Storage APIs. This service provides the full CRUD (create, read, update and delete) operations for individual reward programs. This service can be used after a wallet_id is created using the Wallet Storage API: Wallet Service.
This service allows a partner to store user reward programs in the MasterPass database.
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/<wallet_provider_id>/wallet/<wallet_id>/reward-program
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/<wallet_provider_id>/wallet/<wallet_id>/reward-program/<reward_program_id>
POST, GET, PUT or DELETE
XML
wallet_provider_id
Description: This is an identifier assigned to the partner. It is generated during configuration of the wallet within MasterCard and should be communicated to the partner as part of the onboarding process. This is the Partner ID field within the wallet PM3 configuration.
Details:Required
wallet_id
Description: This is a unique identifier for the user's wallet. The wallet service must be called first to get this id.
Details:Required
reward_program_id
Description: This is a unique identifier for the reward program entity. The GET, PUT and DELETE methods require this parameter. The POST method does not accept this parameter and it will return a generated id to use for the subsequent calls.
Details:Required for GET, PUT and DELETE
The POST and PUT methods both take an XML object within the request payload. This object represents the entity that will be stored. The following schema defines the object. Explanation of each of the individual fields follows that.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="RewardProgram"> <xs:sequence> <xs:element name="ID" type="xs:string" minOccurs="0"/> <xs:element name="ProgramID" type="xs:string"/> <xs:element name="Number" type="xs:string"/> <xs:element name="ExpiryMonth" type="xs:string" minOccurs="0"/> <xs:element name="ExpiryYear" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:schema>
RewardProgram.ID
Description: This is the identifier returned from the POST operation.
Details: Required for PUT
RewardProgram.ProgramID
Description: Identifies the reward program offering that this entity is part of. The value must be obtained from the Reward Program Offering Service as the RewardProgramOffering.Id.
Details: Required
RewardProgram.Number
Description: This is the account number printed on the card.
Details: Required
RewardProgram.ExpiryMonth
Description: Month in which the reward program will expire as printed on the card.
Details: Required for reward program offerings that include an expiration date
RewardProgram.ExpiryYear
Description: Year in which the reward program will expire as printed on the card.
Details: Required for reward program offerings that include an expiration date
This response varies by method. The POST method returns just the ID of the created entity to be used in subsequent calls. The PUT and DELETE methods return "Success" on successful transactions. The GET method returns the full object that was stored for the given reward program ID. The schema of the GET response is the same as the schema of the POST request.
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/ 16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/ 1dqajif7octqpq43grt3m910lrkqnhle1d5g7h3svb3fl85ejf88/reward-program
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RewardProgram> <ProgramID>areward</ProgramID> <Number>1234567890123456</Number> <ExpiryMonth>05</ExpiryMonth> <ExpiryYear>2016</ExpiryYear> </RewardProgram>
um25en82ahaht65ipattd3871khnf7keitss7crmprng32n6u0f
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/ 16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/ 1dqajif7octqpq43grt3m910lrkqnhle1d5g7h3svb3fl85ejf88/reward-program/ um25en82ahaht65ipattd3871khnf7keitss7crmprng32n6u0f
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RewardProgram xmlns:ns2="http://types.pws2.ppol.mastercard.com"> <ID>um25en82ahaht65ipattd3871khnf7keitss7crmprng32n6u0f</ID> <ProgramID>areward</ProgramID> <Number>1234567890123456</Number> <ExpiryMonth>05</ExpiryMonth> <ExpiryYear>2016</ExpiryYear> </RewardProgram>
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/ 16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/ 1dqajif7octqpq43grt3m910lrkqnhle1d5g7h3svb3fl85ejf88/reward-program/ um25en82ahaht65ipattd3871khnf7keitss7crmprng32n6u0f
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RewardProgram xmlns:ns2="http://types.pws2.ppol.mastercard.com"> <ID>um25en82ahaht65ipattd3871khnf7keitss7crmprng32n6u0f</ID> <ProgramID>areward</ProgramID> <Number>1234567890123456</Number> <ExpiryMonth>05</ExpiryMonth> <ExpiryYear>2020</ExpiryYear> </RewardProgram>
Response code: 204
https://api.mastercard.com/masterpass/partner/v6/wallet-provider/ 16qmlkd3vtvmhjdtcpcdvuidhiqhrb1r2suu24k3oln2c0i95hf8/wallet/ 1dqajif7octqpq43grt3m910lrkqnhle1d5g7h3svb3fl85ejf88/reward-program/ um25en82ahaht65ipattd3871khnf7keitss7crmprng32n6u0f
Response code: 204
In case an error occurs, Errors will be returned back as described in Appendix REST Service Error Handling section below.
Here is the list of errors that will be returned from this service.
In case an error occurs during REST service calls, Errors as specified by the following schema will be returned.
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Errors" type="Errors"/> <xs:complexType name="Error"> <xs:sequence> <xs:element name="Description" type="xs:string" minOccurs="0"/> <xs:element name="ReasonCode" type="xs:string"/> <xs:element name="Recoverable" type="xs:boolean"/> <xs:element name="Source" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="Errors"> <xs:sequence> <xs:element name="Error" type="Error" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:schema>
Errors: An element used to encapsulate a collection of errors that occurred during a single request.
Errors.Error: An element used to encapsulate the details of a single error occurrence.
Errors.Error.Source: An identifier that represents the source of the error to which the reason code refers. Example: MerchantTransaction.CheckoutId.
The Source field values MUST follow the "dot" notation (i.e., "MerchantTransaction.CheckoutId"). The following tables outline standard Source values/prefixes and when they should be used.
Standard Source Values | |
---|---|
Source |
Description |
System |
The value that should be used to represent any source that should not be communicated externally. |
Standard Source Prefixes | |
---|---|
Source Prefix |
Description |
HttpHeader.* |
The prefix that should be used to represent the parent node for HTTP header values. |
HttpHeader.OAuth.* |
The prefix that should be used to represent the parent node(s) for OAuth-related values. |
Url.* |
The prefix that should be used to represent the parent node for URL parameters. |
Errors.Error.ReasonCode: An identifier that represents the reason for the error. Example: AUTHORIZATION_FAILED.
The following table lists the global reason codes and their
corresponding meanings. Any time that a global reason code will
meet the needs for error communication, the global reason code MUST
be used.
Global Reason Codes | ||
---|---|---|
Required Source |
Reason Code |
Description |
System |
REQUEST_TIMEOUT |
The request processing time took too long and it was determined that request should be timed out. |
System |
SYSTEM_ERROR |
An error that occurs due to a hardware, network, or connectivity failure. |
System |
VOLUME_THRESHOLD_EXCEEDED |
An error that occurs if a client makes too many requests and exceeds the throttling settings for a service. |
System |
URL_UNKNOWN |
An error that occurs when the client's request does not match a known service URL. |
|
AUTHORIZATION_FAILED |
An error that occurs when the client's OAuth credentials are not authorized to make the request |
|
AUTHENTICATION_FAILED |
An error that occurs when the client's OAuth credentials are not successfully validated. |
|
MISSING_REQUIRED_INPUT |
An error that indicates that a piece of data required in the request was not present. |
|
INVALID_INPUT_FORMAT |
An error that indicates that a piece of data in the request does not match the expected format or mask (i.e. submitting "123-456-test" as a phone number). |
|
INVALID_INPUT_LENGTH |
An error that indicates that a piece of data in the request is too long or too short. |
|
INVALID_INPUT_VALUE |
An error that indicates that the value for a piece of data in the request is invalid (i.e. submitting "Yes" to a field that requires "True" or "False", submitting a company ID that does not exist) |
|
RESOURCE_UNKOWN |
An error that indicates that a specific resource instance cannot be found. |
|
MAX_PAGE_LENGTH_EXCEEDED |
An error that indicates that the PageLength parameter used within pagination is too large. |
Errors.Error.Description: A textual description of the error that is appropriate for logging. The Description field MAY be used to communicate additional details related to the reason code. If provided, the Description field SHOULD contain a single complete sentence (i.e. "The CheckoutId does not exist.").
Errors.Error.Recoverable: An indicator stating whether it is reasonable to retry a failed request.
No assurances are given that the information provided herein is error-free. You acknowledge and agree that inaccuracies 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.MasterCard will not be responsible for any action you take as a result of this document, or any inaccuracies, inconsistencies, formatting errors, or omissions.
© 2014 MasterCard. Proprietary and Confidential. All rights reserved.