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

Adyen Create Payment Session

See more Adyen Examples

Creates an Adyen payment session.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  final http = 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"
  // }
  final json = CkJsonObject();
  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');

  final resp = CkHttpResponse();
  try {
    http.httpJson('POST', 'https://checkout-test.adyen.com/v41/paymentSession', json, 'application/json', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final sbResponseBody = CkStringBuilder();
  resp.getBodySb(sbResponseBody);

  final jResp = CkJsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  final respStatusCode = resp.statusCode;
  print('Status Code = $respStatusCode');
  print('Response Body:');
  print(jResp.emit());

  if (respStatusCode >= 400) {
    print('Response Header:');
    print(resp.header);
    print('Failed.');
    return;
  }

  // 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

  final paymentSession = jResp.stringOf('paymentSession');
}