Sample code for 30+ languages & platforms
Delphi ActiveX Requires Chilkat v11.0.0+

Adyen Create Payment Session

See more Adyen Examples

Creates an Adyen payment session.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
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');