marcopolo Online payment
Sign up

The CreatePayment/CreateHostedCheckout requests for creating tokens is always identical, regardless of its subsequent use.

However, the token's future use defines the usage pattern it may be used for. Consequentially, you need to create separate tokens for

Add the following properties to your request:


{
   "order":{
      "amountOfMoney":{
         "amount":100,
         "currencyCode":"EUR"
      },
      "customer":{
         "device":{
            "acceptHeader":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
            "locale":"en_EN",
            "timezoneOffsetUtcMinutes":180,
            "userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
            "browserData":{
               "colorDepth":"24",
               "javaEnabled":true,
               "javaScriptEnabled ":true,
               "screenHeight":1080,
               "screenWidth":1920
            }
         }
      }
   },
   "cardPaymentMethodSpecificInput":{
      "card":{
         "cardNumber":"4874970686672022",
         "cvv":"123",
         "expiryDate":"1236",
         "cardholderName":"John Doe"
      },
      "paymentProductId":1,
      "authorizationMode":"SALE",
      "tokenize":"true",
      "unscheduledCardOnFileRequestor":"cardholderInitiated",
      "unscheduledCardOnFileSequenceIndicator":"first",
      "threeDSecure":{
         "redirectionData":{
            "returnUrl":"https://yourRedirectionUrl.com"
         },
         "challengeIndicator":"challenge-required"
      }
   }
}
Properties

cardPaymentMethodSpecificInput.tokenize: Fixed value "true". Make sure you have your customers' consent to store their card credentials

cardPaymentMethodSpecificInput.unscheduledCardOnFileRequestor: Fixed value "cardholderInitiated"
cardPaymentMethodSpecificInput.recurringPaymentSequenceIndicator: Fixed value "first"
threeDSecure.challengeIndicator: Fixed value "challenge-required" to enforce SCA

  • When processing transactions via Server-to-server, make sure to add 3-D Secure properties to your request
  • Enforce processing the first transaction with SCA by sending property challengeIndicator with value "challenge-required". Otherwise when using the token for subsequent transactions, the issuer might not accept a frictionless flow
  • You need explicit approval from your customers to create tokens. Depending on your integration method, differences apply:
    • Server-to-server: Include the approval step on your checkout page before sending the request to our platform
    • Hosted Checkout Page: Our payment page contains a selectable option, stating "Remember my payment details for future purchases". However, if you include property "tokenize" with value "true" in your request as shown in JSON example above, this flag will disappear. Make sure to include the approval step in your webshop environment if you use tokenize this way

Was this page helpful?

Do you have any comments?

Thank you for your response.