Credit card transactions / 3DS 2.X

As part of this API, there is several ways applicable to create a credit card transaction.

According to the liability setting chosen, you can choose for the best ways to create a transaction.

Consumer information is not provided

If you have a liability setting set on Merchant, the following option is recommended.

Example of a transaction not passing the consumer information via the API request

POST https://acc-interconnect.icepay.com/api/contract/transaction


HEADERS – Content-Type application/json


CHECKSUM – ContractProfileId. Replace with value from ICEPAY portal in environment variables


{
  "Contract": {
    "ContractProfileId": "Replace with value from ICEPAY portal in environment variables",
    "AmountInCents": 100,
    "CurrencyCode": "EUR",
    "Reference": "Automatically generated for you. You may override it for each request"
  },
  "Fulfillment": {
    "PaymentMethod": "CREDITCARD",
    "IssuerCode": "CREDITCARD",
    "AmountInCents": 100,
    "CurrencyCode": "EUR",
    "Reference": "Automatically generated for you. You may override it for each request",
    "Timestamp":"Automatically generated for you. You may override it for each request",
    "LanguageCode": "nl",
    "Description": "Order: Automatically generated for you. You may override it for each request"
  },
  "Postback": {
    "UrlCompleted": "Replace with your own Completed URL in environment variables",
    "UrlError": "Replace with your own Error URL in environment variables",
    "UrlsNotify": [
      "Replace with your own Notification URL in environment variables"
    ]
  },
  "ConsumerFootprint": {
    "IPAddress": "10.244.1.217"
  }
}

Consumer information is provided

Example of a transaction passing the consumer information via the API request

If you have a liability setting set on Issuer or IssuerWithMerchantFallback, the following option is recommended. (The consumer information are parsed in the request and do not need to be completed by your consumer)

POST https://acc-interconnect.icepay.com/api/contract/transaction


HEADERS – Content-Type application/json


CHECKSUM – ContractProfileId. Replace with value from ICEPAY portal in environment variables


{
  "Contract": {
    "ContractProfileId": "Replace with value from ICEPAY portal in environment variables",
    "AmountInCents": 100,
    "CurrencyCode": "EUR",
    "Reference": "Automatically generated for you. You may override it for each request"
  },
  "Fulfillment": {
    "PaymentMethod": "CREDITCARD",
    "IssuerCode": "CREDITCARD",
    "AmountInCents": 100,
    "CurrencyCode": "EUR",
    "Reference": "Automatically generated for you. You may override it for each request",
    "Consumer": {
      "Reference": null,
      "Address": {
        "CountryCode": "NL",
        "City": "Somecity",
        "PostalCode": "1234AA",
        "Street": "Street",
        "HouseNumber": "40",
        "HouseNumberExtension": null,
        "CareOf": null,
        "IPAddress": "192.168.0.1",
      },
      "Category": "Person",
      "IdentificationNumber": null,
      "Prefix": "Mr",
      "FirstName": "John",
      "LastName": "Doetwo",
      "Initials": null,
      "Email": "test@test.com",
      "Phone": null,
      "MobilePhone": "0612345678",
      "LanguageCode": "nl",
      "IPAddress": "192.168.0.1"
    },
    "DeliveryConsumer": null,
    "Order": null,
    "Timestamp": "Automatically generated for you. You may override it for each request",
    "LanguageCode": "nl",
    "Description": "Order: {{reference}}"
  },
  "Postback": {
    "UrlCompleted": "Replace with your own Completed URL in environment variables",
    "UrlError": "Replace with your own Error URL in environment variables",
    "UrlsNotify": [
      "Replace with your own Notification URL in environment variables"
    ]
  },
  "ConsumerFootprint": {
    "IPAddress": "10.244.1.217"
  }
}