Chilkat Online Tools

Xojo / GP-API Collection / TRA_5.0 Verification

Back to Collection Items

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

Dim http As New Chilkat.Http
Dim success As Boolean

// 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"
//     }
//   }
// }

Dim json As New Chilkat.JsonObject
success = json.UpdateString("account_name","{{acc_name}}")
success = json.UpdateString("channel","CNP")
success = json.UpdateString("currency","USD")
success = json.UpdateString("reference","My Own Reference")
success = json.UpdateString("country","US")
success = json.UpdateString("payment_method.first_name","Jane")
success = json.UpdateString("payment_method.last_name","Doe")
success = json.UpdateString("payment_method.entry_mode","ECOM")
success = json.UpdateString("payment_method.card.number","4242424242424242")
success = json.UpdateString("payment_method.card.expiry_month","12")
success = json.UpdateString("payment_method.card.expiry_year","25")
success = json.UpdateString("payment_method.card.cvv","123")
success = json.UpdateString("payment_method.card.cvv_indicator","PRESENT")
success = json.UpdateString("payment_method.card.avs_address","16 Summerfield Court")
success = 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.AuthToken = "{{token}}"
http.SetRequestHeader "Accept","application/json"

Dim resp As Chilkat.HttpResponse
resp = http.PostJson3("https://{{url}}/ucp/verifications","application/json",json)
If (http.LastMethodSuccess = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

System.DebugLog(Str(resp.StatusCode))
System.DebugLog(resp.BodyStr)

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": [
  ]
}