Contactless Mobile Payments

Contactless mobile payments refer to transactions authenticated using a mobile device (e.g., smartphone, tablet, smartwatch) at a contactless terminal. The terminal reads card data from a contactless chip within the mobile device.

A credit/debit card added to an account on the payer's mobile device is tokenized, and the device is assigned a device-specific identifier called a DPAN (Device PAN). The DPAN is converted into the corresponding FPAN (Funding PAN) by the payment processor.

FPAN is the Primary Account Number (PAN) of the payer's card. This is the actual card number that is registered against the DPAN and is used to process the transaction. An FPAN may be associated with multiple DPANs.

A contactless mobile payment is initiated by the contactless terminal, and sent to the gateway as a Capture, Authorize, Pay, or Refund transaction. For example, transactions that are authorized offline by the chip on the mobile device will be sent as a Capture only, whereas transactions requiring authorization by the issuer will use an online Authorize transaction, and then a Capture transaction.

Support for contactless mobile payments is available from API version 43 onwards.

Prerequisites

  • Your payment service provider and your acquirer must enable you for cardholder present transactions.
  • You must have a terminal enabled for contactless payments.

Common Fields Used for Contactless Mobile Transactions

The following API fields are relevant to contactless mobile payments via the gateway.

Mandatory Fields
  • transaction.source=CARD_PRESENT: If you do not provide this field, the default transaction source configured on your acquirer link by your payment service provider will be used. [REST][NVP]

  • sourceOfFunds.type=CARD [REST][NVP]

  • order.amount [REST][NVP]

  • order.currency [REST][NVP]

  • sourceOfFunds.provided.card.emvRequest: Provide the EMV tags as read from the chip, and that are supported by the gateway. See EMV Transaction Fields.

    Tag 9F1C (terminal identifier) must be provided in this field.

Optional Fields

Ensure that values for the following POS terminal fields are set correctly based on how the terminal generated the card data for the transaction. If data for these fields is available, always provide it. The gateway will pass the data as required to the acquirer. If the acquirer requires a field and if it's not present, then the transaction will fail.

  • posTerminal.address
  • posTerminal.attended: If you do not provide this field, the gateway defaults the value to UNKNOWN_OR_UNSPECIFIED
  • posTerminal.authorizationMethod
  • posTerminal.cardHolderActivated: If you do not provide this field, the gateway defaults the value to NOT_CARDHOLDER_ACTIVATED
  • posTerminal.inputCapability: This field is mandatory for EMV transactions.
  • posTerminal.location: This field is mandatory for EMV transactions.
  • posTerminal.panEntryMode
  • posTerminal.pinEntryCapability
  • posTerminal.onlineReasonCode: This field is mandatory for chip and chip fallback transactions (including reversals) for all online transactions.
  • posTerminal.serialNumber
  • POS Terminal API Reference [REST][NVP]

  • order.gratuityAmount: Provide this field if the payment includes a gratuity amount.
    [REST][NVP]

  • order.cashbackAmount: Provide this field if the payment includes a cashback amount.
    [REST][NVP]

  • order.cashAdvance: Provide this field if the payment includes a cash advance amount.
    [REST][NVP]

Transaction Response

If the DPAN to FPAN mapping is successful, the RETRIEVE_TRANSACTION response for a contactless mobile payment will return:

  • 6.4 masked FPAN, where available from the acquirer, in sourceOfFunds.provided.card.number field. For transit merchants, a full FPAN may be returned. See Aggregated Transit Fare Payments.
  • FPAN expiry, where available from the acquirer, in sourceOfFunds.provided.card.expiry field.
  • masked DPAN in sourceOfFunds.provided.card.deviceSpecificNumber field

If you are configured to receive unmasked PANs in the transaction response, the gateway will return an unmasked DPAN and an unmasked FPAN (either 6.4 masked or unmasked depending on the acquirer support).

Copyright © 2023 Mastercard