Delphi ActiveX Requires Chilkat v11.0.0+
Delphi ActiveX
Adyen Create Payment Session
See more Adyen Examples
Creates an Adyen payment session.Chilkat Delphi ActiveX Downloads
var
success: Integer;
http: TChilkatHttp;
json: TChilkatJsonObject;
resp: TChilkatHttpResponse;
sbResponseBody: TChilkatStringBuilder;
jResp: TChilkatJsonObject;
respStatusCode: Integer;
paymentSession: WideString;
begin
success := 0;
http := TChilkatHttp.Create(Self);
// Use this online tool to generate the code from sample JSON:
// Generate Code to Create JSON
// The following JSON is sent in the request body, and is constructed by the code that follows.
// {
// "merchantAccount": "YourMerchantAccount",
// "sdkVersion": "1.9.7",
// "channel": "Web",
// "amount": {
// "currency": "EUR",
// "value": 17408
// },
// "reference": "Your order number",
// "countryCode": "NL",
// "shopperLocale": "nl_NL",
// "origin": "https://www.yourshop.com",
// "returnUrl": "https://www.yourshop.com/checkout/completed"
// }
json := TChilkatJsonObject.Create(Self);
json.UpdateString('merchantAccount','YourMerchantAccount');
json.UpdateString('sdkVersion','1.9.7');
json.UpdateString('channel','Web');
json.UpdateString('amount.currency','EUR');
json.UpdateInt('amount.value',17408);
json.UpdateString('reference','Your order number');
json.UpdateString('countryCode','NL');
json.UpdateString('shopperLocale','nl_NL');
json.UpdateString('origin','https://www.yourshop.com');
json.UpdateString('returnUrl','https://www.yourshop.com/checkout/completed');
http.SetRequestHeader('X-API-Key','YourAPIkey');
resp := TChilkatHttpResponse.Create(Self);
success := http.HttpJson('POST','https://checkout-test.adyen.com/v41/paymentSession',json.ControlInterface,'application/json',resp.ControlInterface);
if (success = 0) then
begin
Memo1.Lines.Add(http.LastErrorText);
Exit;
end;
sbResponseBody := TChilkatStringBuilder.Create(Self);
resp.GetBodySb(sbResponseBody.ControlInterface);
jResp := TChilkatJsonObject.Create(Self);
jResp.LoadSb(sbResponseBody.ControlInterface);
jResp.EmitCompact := 0;
respStatusCode := resp.StatusCode;
Memo1.Lines.Add('Status Code = ' + IntToStr(respStatusCode));
Memo1.Lines.Add('Response Body:');
Memo1.Lines.Add(jResp.Emit());
if (respStatusCode >= 400) then
begin
Memo1.Lines.Add('Response Header:');
Memo1.Lines.Add(resp.Header);
Memo1.Lines.Add('Failed.');
Exit;
end;
// Sample JSON response:
// {
// "paymentSession": "eyJjaGVja291 ... iMS45LjcifQ=="
// }
// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
paymentSession := jResp.StringOf('paymentSession');