Chilkat Online Tools

phpAx / GP-API Collection / AUT_1.1 3DS2 Initiate

Back to Collection Items

<?php

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

// For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Http')
$http = new COM("Chilkat.Http");

// Use this online tool to generate code from sample JSON: Generate Code to Create JSON

// The following JSON is sent in the request body.

// {
//   "three_ds": {
//     "source": "BROWSER",
//     "preference": "NO_PREFERENCE"
//   },
//   "account_name": "{{acc_name}}",
//   "channel": "CNP",
//   "amount": "5",
//   "currency": "EUR",
//   "country": "US",
//   "method_url_completion_status": "YES",
//   "payment_method": {
//     "id": "{{pmt_id}}"
//   },
//   "order": {
//     "time_created_reference": "2019-04-26T10:19:32.552327Z",
//     "amount": "1001",
//     "currency": "EUR",
//     "reference": "3400dd37-101d-4940-be15-3c963b6109b3",
//     "address_match_indicator": "false",
//     "shipping_address": {
//       "line1": "Apartment 852",
//       "line2": "Complex 741",
//       "line3": "House 963",
//       "city": "Chicago",
//       "postal_code": "50001",
//       "state": "IL",
//       "country": "840"
//     },
//     "gift_card_count": "01",
//     "gift_card_currency": "EUR",
//     "gift_card_amount": "25000",
//     "delivery_email": "james.mason@example.com",
//     "delivery_timeframe": "ELECTRONIC_DELIVERY",
//     "shipping_method": "ANOTHER_VERIFIED_ADDRESS",
//     "shipping_name_matches_cardholder_name": "true",
//     "preorder_indicator": "MERCHANDISE_AVAILABLE",
//     "preorder_availability_date:": "2019-04-18",
//     "reorder_indicator": "FIRST_TIME_ORDER",
//     "transaction_type": "GOODS_SERVICE_PURCHASE"
//   },
//   "payer": {
//     "reference": "6dcb24f5-74a0-4da3-98da-4f0aa0e88db3",
//     "account_age": "LESS_THAN_THIRTY_DAYS",
//     "account_creation_date": "2019-01-10",
//     "account_change_date": "2019-01-28",
//     "account_change_indicator": "THIS_TRANSACTION",
//     "account_password_change_date": "2019-01-15",
//     "account_password_change_indicator": "LESS_THAN_THIRTY_DAYS",
//     "home_phone": {
//       "country_code": "44",
//       "subscriber_number": "123456789"
//     },
//     "work_phone": {
//       "country_code": "44",
//       "subscriber_number": "1801555888"
//     },
//     "payment_account_creation_date": "2019-01-01",
//     "payment_account_age_indicator": "LESS_THAN_THIRTY_DAYS",
//     "suspicious_account_activity": "NO_SUSPICIOUS_ACTIVITY",
//     "purchases_last_6months_count": "03",
//     "transactions_last_24hours_count": "01",
//     "transaction_last_year_count": "05",
//     "provision_attempt_last_24hours_count": "01",
//     "shipping_address_time_created_reference": "2019-01-28",
//     "shipping_address_creation_indicator": "THIS_TRANSACTION"
//   },
//   "payer_prior_three_ds_authentication_data": {
//     "authentication_method": "FRICTIONLESS_AUTHENTICATION",
//     "acs_transaction_reference": "26c3f619-39a4-4040-bf1f-6fd433e6d615",
//     "authentication_timestamp": "2020-07-28T10:26:49.712Z",
//     "authentication_data": "secret123"
//   },
//   "recurring_authorization_data": {
//     "max_number_of_instalments": "05",
//     "frequency": "25",
//     "expiry_date": "2019-08-25"
//   },
//   "payer_login_data": {
//     "authentication_data": "secret123",
//     "authentication_timestamp": "2020-07-28T10:26:49.712Z",
//     "authentication_type": "MERCHANT_SYSTEM_AUTHENTICATION"
//   },
//   "browser_data": {
//     "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
//     "color_depth": "TWENTY_FOUR_BITS",
//     "ip": "123.123.123.123",
//     "java_enabled": "true",
//     "javascript_enabled": "true",
//     "language": "en-US",
//     "screen_height": "1080",
//     "screen_width": "1920",
//     "challenge_window_size": "FULL_SCREEN",
//     "timezone": "0",
//     "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
//   },
//   "merchant_contact_url": "https://enp4qhvjseljg.x.pipedream.net/"
// }

// For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.JsonObject')
$json = new COM("Chilkat.JsonObject");
$json->UpdateString('three_ds.source','BROWSER');
$json->UpdateString('three_ds.preference','NO_PREFERENCE');
$json->UpdateString('account_name','{{acc_name}}');
$json->UpdateString('channel','CNP');
$json->UpdateString('amount','5');
$json->UpdateString('currency','EUR');
$json->UpdateString('country','US');
$json->UpdateString('method_url_completion_status','YES');
$json->UpdateString('payment_method.id','{{pmt_id}}');
$json->UpdateString('order.time_created_reference','2019-04-26T10:19:32.552327Z');
$json->UpdateString('order.amount','1001');
$json->UpdateString('order.currency','EUR');
$json->UpdateString('order.reference','3400dd37-101d-4940-be15-3c963b6109b3');
$json->UpdateString('order.address_match_indicator','false');
$json->UpdateString('order.shipping_address.line1','Apartment 852');
$json->UpdateString('order.shipping_address.line2','Complex 741');
$json->UpdateString('order.shipping_address.line3','House 963');
$json->UpdateString('order.shipping_address.city','Chicago');
$json->UpdateString('order.shipping_address.postal_code','50001');
$json->UpdateString('order.shipping_address.state','IL');
$json->UpdateString('order.shipping_address.country','840');
$json->UpdateString('order.gift_card_count','01');
$json->UpdateString('order.gift_card_currency','EUR');
$json->UpdateString('order.gift_card_amount','25000');
$json->UpdateString('order.delivery_email','james.mason@example.com');
$json->UpdateString('order.delivery_timeframe','ELECTRONIC_DELIVERY');
$json->UpdateString('order.shipping_method','ANOTHER_VERIFIED_ADDRESS');
$json->UpdateString('order.shipping_name_matches_cardholder_name','true');
$json->UpdateString('order.preorder_indicator','MERCHANDISE_AVAILABLE');
$json->UpdateString('order.preorder_availability_date:','2019-04-18');
$json->UpdateString('order.reorder_indicator','FIRST_TIME_ORDER');
$json->UpdateString('order.transaction_type','GOODS_SERVICE_PURCHASE');
$json->UpdateString('payer.reference','6dcb24f5-74a0-4da3-98da-4f0aa0e88db3');
$json->UpdateString('payer.account_age','LESS_THAN_THIRTY_DAYS');
$json->UpdateString('payer.account_creation_date','2019-01-10');
$json->UpdateString('payer.account_change_date','2019-01-28');
$json->UpdateString('payer.account_change_indicator','THIS_TRANSACTION');
$json->UpdateString('payer.account_password_change_date','2019-01-15');
$json->UpdateString('payer.account_password_change_indicator','LESS_THAN_THIRTY_DAYS');
$json->UpdateString('payer.home_phone.country_code','44');
$json->UpdateString('payer.home_phone.subscriber_number','123456789');
$json->UpdateString('payer.work_phone.country_code','44');
$json->UpdateString('payer.work_phone.subscriber_number','1801555888');
$json->UpdateString('payer.payment_account_creation_date','2019-01-01');
$json->UpdateString('payer.payment_account_age_indicator','LESS_THAN_THIRTY_DAYS');
$json->UpdateString('payer.suspicious_account_activity','NO_SUSPICIOUS_ACTIVITY');
$json->UpdateString('payer.purchases_last_6months_count','03');
$json->UpdateString('payer.transactions_last_24hours_count','01');
$json->UpdateString('payer.transaction_last_year_count','05');
$json->UpdateString('payer.provision_attempt_last_24hours_count','01');
$json->UpdateString('payer.shipping_address_time_created_reference','2019-01-28');
$json->UpdateString('payer.shipping_address_creation_indicator','THIS_TRANSACTION');
$json->UpdateString('payer_prior_three_ds_authentication_data.authentication_method','FRICTIONLESS_AUTHENTICATION');
$json->UpdateString('payer_prior_three_ds_authentication_data.acs_transaction_reference','26c3f619-39a4-4040-bf1f-6fd433e6d615');
$json->UpdateString('payer_prior_three_ds_authentication_data.authentication_timestamp','2020-07-28T10:26:49.712Z');
$json->UpdateString('payer_prior_three_ds_authentication_data.authentication_data','secret123');
$json->UpdateString('recurring_authorization_data.max_number_of_instalments','05');
$json->UpdateString('recurring_authorization_data.frequency','25');
$json->UpdateString('recurring_authorization_data.expiry_date','2019-08-25');
$json->UpdateString('payer_login_data.authentication_data','secret123');
$json->UpdateString('payer_login_data.authentication_timestamp','2020-07-28T10:26:49.712Z');
$json->UpdateString('payer_login_data.authentication_type','MERCHANT_SYSTEM_AUTHENTICATION');
$json->UpdateString('browser_data.accept_header','text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8');
$json->UpdateString('browser_data.color_depth','TWENTY_FOUR_BITS');
$json->UpdateString('browser_data.ip','123.123.123.123');
$json->UpdateString('browser_data.java_enabled','true');
$json->UpdateString('browser_data.javascript_enabled','true');
$json->UpdateString('browser_data.language','en-US');
$json->UpdateString('browser_data.screen_height','1080');
$json->UpdateString('browser_data.screen_width','1920');
$json->UpdateString('browser_data.challenge_window_size','FULL_SCREEN');
$json->UpdateString('browser_data.timezone','0');
$json->UpdateString('browser_data.user_agent','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36');
$json->UpdateString('merchant_contact_url','https://enp4qhvjseljg.x.pipedream.net/');

// Adds the "Authorization: Bearer <access_token>" header.
$http->AuthToken = '<access_token>';
$http->SetRequestHeader('X-GP-Version','{{version}}');

// resp is a Chilkat.HttpResponse
$resp = $http->PostJson3('https://{{url}}/ucp/authentications/{{aut_id}}/initiate','application/json',$json);
if ($http->LastMethodSuccess == 0) {
    print $http->LastErrorText . "\n";
    exit;
}

print $resp->StatusCode . "\n";
print $resp->BodyStr . "\n";


?>

Curl Command

curl -X POST
	-H "Authorization: Bearer <access_token>"
	-H "X-GP-Version: {{version}}"
	-d '{
    "three_ds": {
        "source": "BROWSER",
        "preference": "NO_PREFERENCE"
    },
    "account_name": "{{acc_name}}",
    "channel": "CNP",
    "amount": "5",
    "currency": "EUR",
    "country": "US",
    "method_url_completion_status": "YES",
    "payment_method": {
        "id": "{{pmt_id}}"
    },
    "order": {
        "time_created_reference": "2019-04-26T10:19:32.552327Z",
        "amount": "1001",
        "currency": "EUR",
        "reference": "3400dd37-101d-4940-be15-3c963b6109b3",
        "address_match_indicator": "false",
        "shipping_address": {
            "line1": "Apartment 852",
            "line2": "Complex 741",
            "line3": "House 963",
            "city": "Chicago",
            "postal_code": "50001",
            "state": "IL",
            "country": "840"
        },
        "gift_card_count": "01",
        "gift_card_currency": "EUR",
        "gift_card_amount": "25000",
        "delivery_email": "james.mason@example.com",
        "delivery_timeframe": "ELECTRONIC_DELIVERY",
        "shipping_method": "ANOTHER_VERIFIED_ADDRESS",
        "shipping_name_matches_cardholder_name": "true",
        "preorder_indicator": "MERCHANDISE_AVAILABLE",
        "preorder_availability_date:": "2019-04-18",
        "reorder_indicator": "FIRST_TIME_ORDER",
        "transaction_type": "GOODS_SERVICE_PURCHASE"
    },
    "payer": {
        "reference": "6dcb24f5-74a0-4da3-98da-4f0aa0e88db3",
        "account_age": "LESS_THAN_THIRTY_DAYS",
        "account_creation_date": "2019-01-10",
        "account_change_date": "2019-01-28",
        "account_change_indicator": "THIS_TRANSACTION",
        "account_password_change_date": "2019-01-15",
        "account_password_change_indicator": "LESS_THAN_THIRTY_DAYS",
        "home_phone": {
            "country_code": "44",
            "subscriber_number": "123456789"
        },
        "work_phone": {
            "country_code": "44",
            "subscriber_number": "1801555888"
        },
        "payment_account_creation_date": "2019-01-01",
        "payment_account_age_indicator": "LESS_THAN_THIRTY_DAYS",
        "suspicious_account_activity": "NO_SUSPICIOUS_ACTIVITY",
        "purchases_last_6months_count": "03",
        "transactions_last_24hours_count": "01",
        "transaction_last_year_count": "05",
        "provision_attempt_last_24hours_count": "01",
        "shipping_address_time_created_reference": "2019-01-28",
        "shipping_address_creation_indicator": "THIS_TRANSACTION"
    },
    "payer_prior_three_ds_authentication_data": {
        "authentication_method": "FRICTIONLESS_AUTHENTICATION",
        "acs_transaction_reference": "26c3f619-39a4-4040-bf1f-6fd433e6d615",
        "authentication_timestamp": "2020-07-28T10:26:49.712Z",
        "authentication_data": "secret123"
    },
    "recurring_authorization_data": {
        "max_number_of_instalments": "05",
        "frequency": "25",
        "expiry_date": "2019-08-25"
    },
    "payer_login_data": {
        "authentication_data": "secret123",
        "authentication_timestamp": "2020-07-28T10:26:49.712Z",
        "authentication_type": "MERCHANT_SYSTEM_AUTHENTICATION"
    },
    "browser_data": {
        "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
        "color_depth": "TWENTY_FOUR_BITS",
        "ip": "123.123.123.123",
        "java_enabled": "true",
        "javascript_enabled": "true",
        "language": "en-US",
        "screen_height": "1080",
        "screen_width": "1920",
        "challenge_window_size": "FULL_SCREEN",
        "timezone": "0",
        "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
    },
    "merchant_contact_url": "https://enp4qhvjseljg.x.pipedream.net/"
}'
https://{{url}}/ucp/authentications/{{aut_id}}/initiate

Postman Collection Item JSON

{
  "name": "AUT_1.1 3DS2 Initiate",
  "event": [
    {
      "listen": "test",
      "script": {
        "exec": [
          "//Json Parse",
          "",
          "var jsonData = JSON.parse(responseBody);",
          "var creq = jsonData.three_ds.challenge_value; ",
          "var acs_challenge_request_url = jsonData.three_ds.acs_challenge_request_url; ",
          "",
          "//console.log(pareq);",
          "pm.test(\"set  html\",function(){",
          "    var template='<!DOCTYPE html> <html> <head> <title>Sample 3DSecure Page</title> </head> <body><form action='+acs_challenge_request_url+' method=\"POST\">  <input type=\"hidden\" name=\"creq\" value= '+creq+' /> <input type=\"submit\" value=\"Submit\"> </form> </body> </html>'     // save your html in the template and then     ",
          "    pm.visualizer.set(template);     // set that template to pm.visualizer",
          "})",
          ""
        ],
        "type": "text/javascript"
      }
    }
  ],
  "request": {
    "auth": {
      "type": "oauth2",
      "oauth2": [
        {
          "key": "accessToken",
          "value": "{{token}}",
          "type": "string"
        },
        {
          "key": "addTokenTo",
          "value": "header",
          "type": "string"
        }
      ]
    },
    "method": "POST",
    "header": [
      {
        "key": "X-GP-Version",
        "type": "text",
        "value": "{{version}}"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n    \"three_ds\": {\n        \"source\": \"BROWSER\",\n        \"preference\": \"NO_PREFERENCE\"\n    },\n    \"account_name\": \"{{acc_name}}\",\n    \"channel\": \"CNP\",\n    \"amount\": \"5\",\n    \"currency\": \"EUR\",\n    \"country\": \"US\",\n    \"method_url_completion_status\": \"YES\",\n    \"payment_method\": {\n        \"id\": \"{{pmt_id}}\"\n    },\n    \"order\": {\n        \"time_created_reference\": \"2019-04-26T10:19:32.552327Z\",\n        \"amount\": \"1001\",\n        \"currency\": \"EUR\",\n        \"reference\": \"3400dd37-101d-4940-be15-3c963b6109b3\",\n        \"address_match_indicator\": \"false\",\n        \"shipping_address\": {\n            \"line1\": \"Apartment 852\",\n            \"line2\": \"Complex 741\",\n            \"line3\": \"House 963\",\n            \"city\": \"Chicago\",\n            \"postal_code\": \"50001\",\n            \"state\": \"IL\",\n            \"country\": \"840\"\n        },\n        \"gift_card_count\": \"01\",\n        \"gift_card_currency\": \"EUR\",\n        \"gift_card_amount\": \"25000\",\n        \"delivery_email\": \"james.mason@example.com\",\n        \"delivery_timeframe\": \"ELECTRONIC_DELIVERY\",\n        \"shipping_method\": \"ANOTHER_VERIFIED_ADDRESS\",\n        \"shipping_name_matches_cardholder_name\": \"true\",\n        \"preorder_indicator\": \"MERCHANDISE_AVAILABLE\",\n        \"preorder_availability_date:\": \"2019-04-18\",\n        \"reorder_indicator\": \"FIRST_TIME_ORDER\",\n        \"transaction_type\": \"GOODS_SERVICE_PURCHASE\"\n    },\n    \"payer\": {\n        \"reference\": \"6dcb24f5-74a0-4da3-98da-4f0aa0e88db3\",\n        \"account_age\": \"LESS_THAN_THIRTY_DAYS\",\n        \"account_creation_date\": \"2019-01-10\",\n        \"account_change_date\": \"2019-01-28\",\n        \"account_change_indicator\": \"THIS_TRANSACTION\",\n        \"account_password_change_date\": \"2019-01-15\",\n        \"account_password_change_indicator\": \"LESS_THAN_THIRTY_DAYS\",\n        \"home_phone\": {\n            \"country_code\": \"44\",\n            \"subscriber_number\": \"123456789\"\n        },\n        \"work_phone\": {\n            \"country_code\": \"44\",\n            \"subscriber_number\": \"1801555888\"\n        },\n        \"payment_account_creation_date\": \"2019-01-01\",\n        \"payment_account_age_indicator\": \"LESS_THAN_THIRTY_DAYS\",\n        \"suspicious_account_activity\": \"NO_SUSPICIOUS_ACTIVITY\",\n        \"purchases_last_6months_count\": \"03\",\n        \"transactions_last_24hours_count\": \"01\",\n        \"transaction_last_year_count\": \"05\",\n        \"provision_attempt_last_24hours_count\": \"01\",\n        \"shipping_address_time_created_reference\": \"2019-01-28\",\n        \"shipping_address_creation_indicator\": \"THIS_TRANSACTION\"\n    },\n    \"payer_prior_three_ds_authentication_data\": {\n        \"authentication_method\": \"FRICTIONLESS_AUTHENTICATION\",\n        \"acs_transaction_reference\": \"26c3f619-39a4-4040-bf1f-6fd433e6d615\",\n        \"authentication_timestamp\": \"2020-07-28T10:26:49.712Z\",\n        \"authentication_data\": \"secret123\"\n    },\n    \"recurring_authorization_data\": {\n        \"max_number_of_instalments\": \"05\",\n        \"frequency\": \"25\",\n        \"expiry_date\": \"2019-08-25\"\n    },\n    \"payer_login_data\": {\n        \"authentication_data\": \"secret123\",\n        \"authentication_timestamp\": \"2020-07-28T10:26:49.712Z\",\n        \"authentication_type\": \"MERCHANT_SYSTEM_AUTHENTICATION\"\n    },\n    \"browser_data\": {\n        \"accept_header\": \"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\",\n        \"color_depth\": \"TWENTY_FOUR_BITS\",\n        \"ip\": \"123.123.123.123\",\n        \"java_enabled\": \"true\",\n        \"javascript_enabled\": \"true\",\n        \"language\": \"en-US\",\n        \"screen_height\": \"1080\",\n        \"screen_width\": \"1920\",\n        \"challenge_window_size\": \"FULL_SCREEN\",\n        \"timezone\": \"0\",\n        \"user_agent\": \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36\"\n    },\n    \"merchant_contact_url\": \"https://enp4qhvjseljg.x.pipedream.net/\"\n}",
      "options": {
        "raw": {
          "language": "json"
        }
      }
    },
    "url": {
      "raw": "https://{{url}}/ucp/authentications/{{aut_id}}/initiate",
      "protocol": "https",
      "host": [
        "{{url}}"
      ],
      "path": [
        "ucp",
        "authentications",
        "{{aut_id}}",
        "initiate"
      ]
    },
    "description": "This request follows the 'Check Version' request in the 3DS2 flow. The merchant must submit data including the billing and shipping details of the payer, at least one phone number, the device data, transaction details, outcome from the ACS Method URL if it took place and a link to the merchant's About or Contact page.\r\n\r\nFor more information on the 3DS2 Initate step, please visit: https://developer.globalpay.com/api/3d-secure-two and https://developer.globalpay.com/api/authentications#/Initiate/initiate3DS"
  },
  "response": [
  ]
}