Server-Side Implementation

Creating transactionsAnchorIcon

Creating a Masterpass transaction is the same as creating any other transaction with a nonce.

Collect device data from the client and include the device_data_from_the_client in the transaction.
  1. Ruby
result = gateway.transaction.sale(
  :amount => "10.00",
  :payment_method_nonce => nonce_from_the_client,
  :device_data => device_data_from_the_client,
  :options => {
    :submit_for_settlement => true
  }
)

if result.success?
  # See result.transaction for details
else
  # Handle errors
end

Vaulting MasterpassAnchorIcon

Once you have been approved for recurring transactions, your customer's Masterpass card selection can be saved to your Vault and used for recurring transactions. If you attempt to vault a Masterpass card without first going through the approval process, you will get a validation error: "Nonce is not vaultable."
  1. Ruby
result = gateway.payment_method.create(
  :customer_id => "131866",
  :payment_method_nonce => nonce_from_the_client
)
You can also save the customer's Masterpass card to your Vault at the same time as your transaction by using Transaction: Sale with options.store_in_vault or options.store_in_vault_on_success. You can create a recurring transaction by using Transaction: Sale with recurring.

It is important to note that Masterpass does not support split shipments or one-off transactions with vaulted payment information. If you attempt to create a non-recurring transaction from a vaulted Masterpass card, you'll receive a validation error: "Vaulted cards from this payment method can only be used for recurring transactions."

Card verificationAnchorIcon

Card verification in the gateway is not supported with Masterpass. Masterpass automatically verifies a card when the customer adds it to their wallet.