Back to Collection Items
var
http: TChilkatHttp;
success: Integer;
json: TChilkatJsonObject;
resp: IChilkatHttpResponse;
begin
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := TChilkatHttp.Create(Self);
// 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": {
// "source_type": "ewallet",
// "type": "untokenized",
// "vendor": "applepay",
// "additional_details": {
// "untokenized_result_status": "pending_failed"
// }
// }
// }
json := TChilkatJsonObject.Create(Self);
json.UpdateString('payment_method.source_type','ewallet');
json.UpdateString('payment_method.type','untokenized');
json.UpdateString('payment_method.vendor','applepay');
json.UpdateString('payment_method.additional_details.untokenized_result_status','pending_failed');
http.SetRequestHeader('x-payments-os-env','{{x-payments-os-env}}');
http.SetRequestHeader('Content-Type','application/json');
http.SetRequestHeader('app_id','{{app_id}}');
http.SetRequestHeader('private_key','{{private_key}}');
http.SetRequestHeader('idempotency_key','{{$randomInt}}');
http.SetRequestHeader('api-version','1.3.0');
resp := http.PostJson3('https://api.paymentsos.com/payments/{{paymentid}}/charges','application/json',json.ControlInterface);
if (http.LastMethodSuccess = 0) then
begin
Memo1.Lines.Add(http.LastErrorText);
Exit;
end;
Memo1.Lines.Add(IntToStr(resp.StatusCode));
Memo1.Lines.Add(resp.BodyStr);
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": {
"source_type": "ewallet",
"type": "untokenized",
"vendor": "applepay",
"additional_details": {
"untokenized_result_status": "pending_failed"
}
}
}'
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 \"source_type\": \"ewallet\",\n \"type\": \"untokenized\",\n \"vendor\": \"applepay\",\n \"additional_details\": {\n \"untokenized_result_status\": \"pending_failed\"\n }\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": [
]
}