Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
; Use this online tool to generate code from sample JSON: Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "payment_method": {
; "credit_card_cvv": "123",
; "token": "{{token}}",
; "type": "tokenized"
; }
; }
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"payment_method.credit_card_cvv","123")
CkJsonObject::ckUpdateString(json,"payment_method.token","{{token}}")
CkJsonObject::ckUpdateString(json,"payment_method.type","tokenized")
CkHttp::ckSetRequestHeader(http,"x-payments-os-env","{{x-payments-os-env}}")
CkHttp::ckSetRequestHeader(http,"Content-Type","application/json")
CkHttp::ckSetRequestHeader(http,"app_id","{{app_id}}")
CkHttp::ckSetRequestHeader(http,"private_key","{{private_key}}")
CkHttp::ckSetRequestHeader(http,"idempotency_key","{{$randomInt}}")
CkHttp::ckSetRequestHeader(http,"api-version","1.3.0")
resp.i = CkHttp::ckPostJson3(http,"https://api.paymentsos.com/payments/{{paymentid}}/charges","application/json",json)
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndIf
Debug Str(CkHttpResponse::ckStatusCode(resp))
Debug CkHttpResponse::ckBodyStr(resp)
CkHttpResponse::ckDispose(resp)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure
Curl Command
curl -X POST
-H "app_id: {{app_id}}"
-H "private_key: {{private_key}}"
-H "Content-Type: application/json"
-H "api-version: 1.3.0"
-H "x-payments-os-env: {{x-payments-os-env}}"
-H "idempotency_key: {{$randomInt}}"
-d '{
"payment_method": {
"credit_card_cvv": "123",
"token": "{{token}}",
"type": "tokenized"
}
}'
https://api.paymentsos.com/payments/{{paymentid}}/charges
Postman Collection Item JSON
{
"name": "3. Create Charge",
"event": [
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
"var jsonData = JSON.parse(responseBody);",
"postman.setEnvironmentVariable(\"chargeid\", jsonData.id);"
]
}
}
],
"request": {
"method": "POST",
"header": [
{
"key": "app_id",
"value": "{{app_id}}"
},
{
"key": "private_key",
"value": "{{private_key}}"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "api-version",
"value": "1.3.0"
},
{
"key": "x-payments-os-env",
"value": "{{x-payments-os-env}}"
},
{
"key": "idempotency_key",
"value": "{{$randomInt}}"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"payment_method\": {\n \"credit_card_cvv\": \"123\",\n \"token\": \"{{token}}\",\n \"type\": \"tokenized\"\n }\n}"
},
"url": {
"raw": "https://api.paymentsos.com/payments/{{paymentid}}/charges",
"protocol": "https",
"host": [
"api",
"paymentsos",
"com"
],
"path": [
"payments",
"{{paymentid}}",
"charges"
]
},
"description": "Create a new charge"
},
"response": [
]
}