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

Adyen Create Payment Session

See more Adyen Examples

Creates an Adyen payment session.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set http [new_CkHttp]

#  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"
#  }
set json [new_CkJsonObject]

CkJsonObject_UpdateString $json "merchantAccount" "YourMerchantAccount"
CkJsonObject_UpdateString $json "sdkVersion" "1.9.7"
CkJsonObject_UpdateString $json "channel" "Web"
CkJsonObject_UpdateString $json "amount.currency" "EUR"
CkJsonObject_UpdateInt $json "amount.value" 17408
CkJsonObject_UpdateString $json "reference" "Your order number"
CkJsonObject_UpdateString $json "countryCode" "NL"
CkJsonObject_UpdateString $json "shopperLocale" "nl_NL"
CkJsonObject_UpdateString $json "origin" "https://www.yourshop.com"
CkJsonObject_UpdateString $json "returnUrl" "https://www.yourshop.com/checkout/completed"

CkHttp_SetRequestHeader $http "X-API-Key" "YourAPIkey"

set resp [new_CkHttpResponse]

set success [CkHttp_HttpJson $http "POST" "https://checkout-test.adyen.com/v41/paymentSession" $json "application/json" $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkJsonObject $json
    delete_CkHttpResponse $resp
    exit
}

set sbResponseBody [new_CkStringBuilder]

CkHttpResponse_GetBodySb $resp $sbResponseBody

set jResp [new_CkJsonObject]

CkJsonObject_LoadSb $jResp $sbResponseBody
CkJsonObject_put_EmitCompact $jResp 0

set respStatusCode [CkHttpResponse_get_StatusCode $resp]
puts "Status Code = $respStatusCode"
puts "Response Body:"
puts [CkJsonObject_emit $jResp]

if {$respStatusCode >= 400} then {
    puts "Response Header:"
    puts [CkHttpResponse_header $resp]
    puts "Failed."
    delete_CkHttp $http
    delete_CkJsonObject $json
    delete_CkHttpResponse $resp
    delete_CkStringBuilder $sbResponseBody
    delete_CkJsonObject $jResp
    exit
}

#  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

set paymentSession [CkJsonObject_stringOf $jResp "paymentSession"]

delete_CkHttp $http
delete_CkJsonObject $json
delete_CkHttpResponse $resp
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp