configure()

The configure( ) function allows you to configure Hosted Session interactions. You can choose to collect payment details either using proxy payment fields hosted by MasterCard Payment Gateway and rendered within an iFrame, or through a digital wallet interaction.

Usage

PaymentSession.configure(configuration)

Example

PaymentSession.configure({
    fields: {
        // Attach hosted fields to your payment page
           card: {
              number: "#card-number",
              securityCode: "#security-code",
              expiryMonth: "#expiry-month",
              expiryYear: "#expiry-year"
           },
           giftCard: {
                  number: "#gift-card-number",
                  pin: "#gift-card-pin"
           },
           ach: {
                  accountType: "#ach-account-type",
                  bankAccountHolder: "#ach-account-holder",
                  bankAccountNumber: "#ach-account-number",
                  routingNumber: "#ach-routing-number"
           }
    },
    frameEmbeddingMitigation: ["javascript", "x-frame-options", "csp"],
    callbacks: {
        initialized: function(response) {
            //handle initialization response
            if(response.status === "ok") {
                // ...
            } else if (response.status === "system_error") {
                console.log(response.message);
            }
        },
        formSessionUpdate: function(response) {
            //handle session update response
        },
        visaCheckout: function(response) {
            //handle Visa Checkout response
        },
        amexExpressCheckout: function(response) {
            // handle Amex Express Checkout response
		}
    },
    order: {
        amount: 10.00,
        currency: "AUD"
    },
    wallets: {
        visaCheckout: {
            enabled: true
            // Add Visa Checkout API specific attributes here
            countryCode: "AU",
            displayName: "Display name",
            locale: "en_au",
            logoUrl: "http://logo.logo",
            payment: {
                cardBrands: [
                    "VISA"
                ]
            },
            review: {
                buttonAction: "Pay",
                message: "Message"
            },
            shipping: {
                acceptedRegions: [
                    "AU"
                ],
                collectShipping: true
            }
        }
       amexExpressCheckout: {
        enabled: true,
        // Add Amex Express Checkout API specific attributes here
        initTags: {
        "theme": "responsive",
        "env": "qa",
        "disable_btn": "false",
        "button_color": "light",
        "client_id": "398f9858-5567-434f-a929-242d6fc7fea8",
        "display_type":"custom"  // IF USING OWN IMAGE FOR BUTTON
        }
      }  
   }
})
  

Arguments

configuration Object COMPULSORY

The object parameter to specify the configuration for the Hosted Session interaction.

Fields:

session String

The unique identifier for the session. If you do not provide a sessionID the client library creates one.

fields Object OPTIONAL

An object containing selectors for the payment fields you want to replace with the corresponding proxy fields, which are hosted by MasterCard Payment Gateway and rendered within an iFrame. The proxy fields will have the same look and feel as the replaced fields.

card String OPTIONAL

A container for the card fields.

number String OPTIONAL

A selector for the card number field.

securityCode String OPTIONAL

A selector for the security code field.

expiryMonth String OPTIONAL

A selector for the expiry month field.

expiryYear String OPTIONAL

A selector for the expiry year field.

giftCard String OPTIONAL

A container for the gift card fields.

number String OPTIONAL

A selector for the gift card number field.

pin String OPTIONAL

A selector for the gift card PIN field.

ach String OPTIONAL

A container for the Automated Clearing House payment fields.

accountType String OPTIONAL

A selector for the Automated Clearing House account type field.

bankAccountHolder String OPTIONAL

A selector for the Automated Clearing House accountholder field.

bankAccountNumber String OPTIONAL

A selector for the Automated Clearing House account number field.

routingNumber String OPTIONAL

A selector for the Automated Clearing House routing number field.

frameEmbeddingMitigation String COMPULSORY

Specifies the mitigation option(s) for clickjacking prevention. For more information, see Implementing a Hosted Session Integration.

formatCard Enum OPTIONAL

If set to true, this field controls the formatting and the validation of input in the hosted Card Number field provided by Hosted Session. By default, this field is set to false.
  • American Express Cards: input will display in the standard American Express card number format of 4 6 5 (for example, 9999 999999 99999)
  • all other cards: input will display in the standard 4 4 4 4 card number format (for example, 9999 9999 9999 9999 999)
Only numbers are accepted in the hosted Card Number field.

wallets Object OPTIONAL

An object containing the configuration for a wallet interaction. Currently, you can only initiate a Visa Checkout or an Amex Express Checkout interaction.

visaCheckout Object OPTIONAL

An object containing configuration for a Visa Checkout wallet interaction. See Visa Checkout integration guidelines on how to retrieve the payment details from a Visa Checkout interaction.

enabled Boolean OPTIONAL

Set this to true if you wish to enable Visa Checkout wallet. By default, the value is set to false.

amexExpressCheckout Object OPTIONAL

An object containing configuration for an Amex Express Checkout wallet interaction. See Amex Express Checkout integration guidelines on how to retrieve the payment details from an Amex Express Checkout interaction.

enabled Boolean OPTIONAL

Set this to true if you wish to enable Amex Express Checkout wallet. By default, the value is set to false.

intiTags Object OPTIONAL

An object containing initialization tag configuration for a Amex Express Checkout wallet interaction. Use this to provide parameters defined in the Amex Express Checkout Init Tags API. This object is required if wallets.amexExpressCheckout.enabled is set to true.

order Object OPTIONAL

An object containing order data required for the wallet interaction. Optionally, you can provide this order data in the session.

amount Decimal OPTIONAL

Amount

currency String OPTIONAL

Currency

callbacks Object OPTIONAL

An object that specifies functions to be invoked for various Hosted Session events.

initialized Function OPTIONAL

A function to be invoked when a wallet interaction is initialized.

formSessionUpdate Function OPTIONAL

A function to be invoked when the session is updated.

visaCheckout Function OPTIONAL

A function to be invoked when the Visa Checkout interaction is completed.

amexExpressCheckout Function OPTIONAL

A function to be invoked when the Amex Express Checkout interaction is completed.

Copyright © 2023 MasterCard