This page documents a feature that is currently in development. This documentation might not match the final implementation.

Ecommerce Token Processing in Meta Pay

This document describes how to process the ecom-token-v1 payment container type when you integrate with Meta Pay. The payment instrument delivered in this container is an ecommerce token also referred to as network token. Ecommerce tokens are a replacement for processing online payments using cards without using PAN data. Meta Pay operates as a Token Requestor and handles tokenization of user cards with payment networks - specifically Visa and Mastercard.

Please note the following Mastercard disclosure: Mastercard, through Cloud Token Offering, provides tokenization as an incentive to merchants (and aggregators and developers acting on behalf of merchants) to enable secure remote payments. The incentive is offered to (a) advance the adoption of this technology-enabled payment option; and (b) route transactions through such card network’s systems and networks. As such, you, as a merchant (or aggregator or developer acting on behalf of a merchant) may opt in to the token value-added transaction type and route to Mastercard. If you do not want to route to Mastercard in exchange for this incentive, then you can accept debit card payments in a more traditional interface that also allows for a routing choice.

For more general information, see Overview of Meta Pay Integration. See Payment processing for information common to all container types.

The information below is intended for payment partners.

Container Data Example

The following is an example of container data for a ecom-token-v1 container:

{
   container_type: 'ecom-token-v1',
   created_time: 1582230020020,
   merchant_id: '123e4567-e89b-12d3-a456-426614174000',
   container_context: '76077dca-8c57-4536-bf48-30bd3f02196e',
   token_data: {
     account_holder_name: '<name>',
     brand: 'visa',
     number: '5413339000001513',
     expiry_month: '12',
     expiry_year: '2022',
     cryptogram: 'AlhlvxmN2ZKuAAESNFZ4GoABFA==',
     eci: '0',
}

Container Data Details

The following defines the structure of container data for ecom-token-v1:

PropertyTypeDescriptionRequired

container_type

FBPayContainerType

The container type.

Yes

container_context

String

An opaque ID that uniquely identifies the context that the container is intended for. Verify the container context to prevent misuse of containers.

Yes

merchant_id

String

The unique identifier for the merchant.

Yes

created_time

Integer

The unix time in milliseconds.

Yes

token_data

Object

The data for an ecommerce token.

Yes

token_data.account_holder_name

String

The name on the payment card.

Yes

token_data.brand

String

Network brand of the token. Valid values are visa, mc and amex

Yes

token_data.number

String

Token number assigned to user's selected card.

Yes

token_data.cryptogram

String

A cryptogram, containing a transaction-unique value.

Yes

token_data.eci

String

Electronic Commerce Indicator.

Yes

token_data.expiry_month

String

The month the network token expires. Valid values are '01' to '12'.

Yes

token_data.expiry_year

String

The year the network token expires. Specify the year with 4 digits.

Yes

token_data.billing_address

Object

The billing address for the network token.

No

billing_address.street1

String

The street address for the billing address.

No

billing_address.street2

String

A second line for the billing address.

No

billing_address.city

String

The city for the billing address.

No

billing_address.state

String

The state for the billing address.

No

billing_address.postal_code

String

The postal code for the billing address.

Yes

billing_address.country

String

The Alpha-2 code from the ISO 3166-1 standard for the billing address.

Yes