Chilkat Online Tools

lianja / GP-API Collection / TKA_2.6 Verification with Tokenization

Back to Collection Items

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

loHttp = createobject("CkHttp")

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

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

// {
//   "account_name": "{{acc_name}}",
//   "channel": "CNP",
//   "currency": "USD",
//   "reference": "My Own Reference",
//   "country": "US",
//   "payment_method": {
//     "first_name": "Jane",
//     "last_name": "Doe",
//     "entry_mode": "ECOM",
//     "id": "PMT_f275ef91-c2cb-49b1-92ce-595b25067cfa"
//   }
// }

loJson = createobject("CkJsonObject")
loJson.UpdateString("account_name","{{acc_name}}")
loJson.UpdateString("channel","CNP")
loJson.UpdateString("currency","USD")
loJson.UpdateString("reference","My Own Reference")
loJson.UpdateString("country","US")
loJson.UpdateString("payment_method.first_name","Jane")
loJson.UpdateString("payment_method.last_name","Doe")
loJson.UpdateString("payment_method.entry_mode","ECOM")
loJson.UpdateString("payment_method.id","PMT_f275ef91-c2cb-49b1-92ce-595b25067cfa")

loHttp.SetRequestHeader("Content-Type","application/json")
loHttp.SetRequestHeader("X-GP-Idempotency","12345")
loHttp.SetRequestHeader("X-GP-Version","{{version}}")
// Adds the "Authorization: Bearer {{token}}" header.
loHttp.AuthToken = "{{token}}"
loHttp.SetRequestHeader("Accept","application/json")

loResp = loHttp.PostJson3("https://{{url}}/ucp/verifications","application/json",loJson)
if (loHttp.LastMethodSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    release loJson
    return
endif

? str(loResp.StatusCode)
? loResp.BodyStr
release loResp


release loHttp
release loJson

Curl Command

curl -X POST
	-H "Content-Type: application/json"
	-H "Authorization: Bearer {{token}}"
	-H "Accept: application/json"
	-H "X-GP-Version: {{version}}"
	-H "X-GP-Idempotency: 12345"
	-d '{
    "account_name": "{{acc_name}}",
    "channel": "CNP",
    "currency": "USD",
    "reference": "My Own Reference",
    "country": "US",
    "payment_method": {
        "first_name": "Jane",
        "last_name": "Doe",
        "entry_mode": "ECOM",
        "id":"PMT_f275ef91-c2cb-49b1-92ce-595b25067cfa"
    }
}'
https://{{url}}/ucp/verifications

Postman Collection Item JSON

{
  "name": "TKA_2.6 Verification with Tokenization",
  "event": [
    {
      "listen": "test",
      "script": {
        "exec": [
          "pm.environment.unset(\"trn_id\");\r",
          "\r",
          "var jsonData = JSON.parse(responseBody);\r",
          "postman.setEnvironmentVariable(\"trn_id\", jsonData.id);\r",
          "postman.setEnvironmentVariable(\"reference\", jsonData.reference);\r",
          "tests[\"Transaction ID \" + pm.environment.get(\"trn_id\")] = true;\r",
          "\r",
          "tests[\"Response time is acceptable\"] = _.inRange(responseTime, 100, 1500); \r",
          "\r",
          "\r",
          "pm.test(\"Successful POST request\", function () {\r",
          "    pm.expect(pm.response.code).to.be.oneOf([200,201,202]);\r",
          "});\r",
          "\r",
          "pm.test(\"Status code name has string\", function () {\r",
          "    pm.response.to.have.status(\"OK\");\r",
          "});"
        ],
        "type": "text/javascript"
      }
    },
    {
      "listen": "prerequest",
      "script": {
        "exec": [
          "var str = String(\"00000000\"+ Math.floor(Math.random()*100000000) + 1).slice(-8);",
          "",
          "pm.environment.set(\"reference\",str);"
        ],
        "type": "text/javascript"
      }
    }
  ],
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "Content-Type",
        "value": "application/json"
      },
      {
        "key": "Authorization",
        "value": "Bearer {{token}}"
      },
      {
        "key": "Accept",
        "value": "application/json"
      },
      {
        "key": "X-GP-Version",
        "type": "text",
        "value": "{{version}}"
      },
      {
        "key": "X-GP-Idempotency",
        "value": "12345",
        "type": "text"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n    \"account_name\": \"{{acc_name}}\",\n    \"channel\": \"CNP\",\n    \"currency\": \"USD\",\n    \"reference\": \"My Own Reference\",\n    \"country\": \"US\",\n    \"payment_method\": {\n        \"first_name\": \"Jane\",\n        \"last_name\": \"Doe\",\n        \"entry_mode\": \"ECOM\",\n        \"id\":\"PMT_f275ef91-c2cb-49b1-92ce-595b25067cfa\"\n    }\n}"
    },
    "url": {
      "raw": "https://{{url}}/ucp/verifications",
      "protocol": "https",
      "host": [
        "{{url}}"
      ],
      "path": [
        "ucp",
        "verifications"
      ]
    },
    "description": "This request verifys a card. As you can see in the body of the request, Jane Doe's card details to be verified are present. On success, the status of the transaction in the response will be \"verified\".\r\n\r\nFor more details on verifying a card, visit: https://developer.globalpay.com/api/verifications#/Verify/post_verifications"
  },
  "response": [
  ]
}