Sample code for 30+ languages & platforms
Visual FoxPro

Adyen Create Payment Session

See more Adyen Examples

Creates an Adyen payment session.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loHttp
LOCAL loJson
LOCAL loResp
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode
LOCAL lcPaymentSession

lnSuccess = 0

loHttp = CreateObject('Chilkat.Http')

* 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"
* }
loJson = CreateObject('Chilkat.JsonObject')
loJson.UpdateString("merchantAccount","YourMerchantAccount")
loJson.UpdateString("sdkVersion","1.9.7")
loJson.UpdateString("channel","Web")
loJson.UpdateString("amount.currency","EUR")
loJson.UpdateInt("amount.value",17408)
loJson.UpdateString("reference","Your order number")
loJson.UpdateString("countryCode","NL")
loJson.UpdateString("shopperLocale","nl_NL")
loJson.UpdateString("origin","https://www.yourshop.com")
loJson.UpdateString("returnUrl","https://www.yourshop.com/checkout/completed")

loHttp.SetRequestHeader("X-API-Key","YourAPIkey")

loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpJson("POST","https://checkout-test.adyen.com/v41/paymentSession",loJson,"application/json",loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loJson
    RELEASE loResp
    CANCEL
ENDIF

loSbResponseBody = CreateObject('Chilkat.StringBuilder')
loResp.GetBodySb(loSbResponseBody)

loJResp = CreateObject('Chilkat.JsonObject')
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = 0

lnRespStatusCode = loResp.StatusCode
? "Status Code = " + STR(lnRespStatusCode)
? "Response Body:"
? loJResp.Emit()

IF (lnRespStatusCode >= 400) THEN
    ? "Response Header:"
    ? loResp.Header
    ? "Failed."
    RELEASE loHttp
    RELEASE loJson
    RELEASE loResp
    RELEASE loSbResponseBody
    RELEASE loJResp
    CANCEL
ENDIF

* 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

lcPaymentSession = loJResp.StringOf("paymentSession")

RELEASE loHttp
RELEASE loJson
RELEASE loResp
RELEASE loSbResponseBody
RELEASE loJResp