Sample code for 30+ languages & platforms
Tcl

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