Chilkat Online Tools

C++ / GP-API Collection / TRA_5.0 Verification

Back to Collection Items

#include <CkHttp.h>
#include <CkJsonObject.h>
#include <CkHttpResponse.h>

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

    CkHttp http;
    bool success;

    // 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",
    //     "card": {
    //       "number": "4242424242424242",
    //       "expiry_month": "12",
    //       "expiry_year": "25",
    //       "cvv": "123",
    //       "cvv_indicator": "PRESENT",
    //       "avs_address": "16 Summerfield Court",
    //       "avs_postal_code": "12345"
    //     }
    //   }
    // }

    CkJsonObject json;
    json.UpdateString("account_name","{{acc_name}}");
    json.UpdateString("channel","CNP");
    json.UpdateString("currency","USD");
    json.UpdateString("reference","My Own Reference");
    json.UpdateString("country","US");
    json.UpdateString("payment_method.first_name","Jane");
    json.UpdateString("payment_method.last_name","Doe");
    json.UpdateString("payment_method.entry_mode","ECOM");
    json.UpdateString("payment_method.card.number","4242424242424242");
    json.UpdateString("payment_method.card.expiry_month","12");
    json.UpdateString("payment_method.card.expiry_year","25");
    json.UpdateString("payment_method.card.cvv","123");
    json.UpdateString("payment_method.card.cvv_indicator","PRESENT");
    json.UpdateString("payment_method.card.avs_address","16 Summerfield Court");
    json.UpdateString("payment_method.card.avs_postal_code","12345");

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

    CkHttpResponse *resp = http.PostJson3("https://{{url}}/ucp/verifications","application/json",json);
    if (http.get_LastMethodSuccess() == false) {
        std::cout << http.lastErrorText() << "\r\n";
        return;
    }

    std::cout << resp->get_StatusCode() << "\r\n";
    std::cout << resp->bodyStr() << "\r\n";
    delete resp;
    }

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",
        "card": {
            "number": "4242424242424242",
            "expiry_month": "12",
            "expiry_year": "25",
            "cvv": "123",
            "cvv_indicator": "PRESENT",
            "avs_address": "16 Summerfield Court",
            "avs_postal_code": "12345"
        }
    }
}'
https://{{url}}/ucp/verifications

Postman Collection Item JSON

{
  "name": "TRA_5.0 Verification",
  "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",
        "disabled": true
      }
    ],
    "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        \"card\": {\n            \"number\": \"4242424242424242\",\n            \"expiry_month\": \"12\",\n            \"expiry_year\": \"25\",\n            \"cvv\": \"123\",\n            \"cvv_indicator\": \"PRESENT\",\n            \"avs_address\": \"16 Summerfield Court\",\n            \"avs_postal_code\": \"12345\"\n        }\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": [
  ]
}