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

Adyen Verify Payment Result

See more Adyen Examples

Once a payment has completed, this verifies the result from your server with a /payments/result request.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

$http = chilkat::CkHttp->new();

#  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.

#  {
#    "payload": "2he28Ddhwj242he28Ddhwj..."
#  }
$json = chilkat::CkJsonObject->new();
$json->UpdateString("payload","2he28Ddhwj242he28Ddhwj...");

$http->SetRequestHeader("X-API-Key","Your_API_key");

$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpJson("POST","https://checkout-test.adyen.com/v41/payments/result",$json,"application/json",$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

$sbResponseBody = chilkat::CkStringBuilder->new();
$resp->GetBodySb($sbResponseBody);

$jResp = chilkat::CkJsonObject->new();
$jResp->LoadSb($sbResponseBody);
$jResp->put_EmitCompact(0);

$respStatusCode = $resp->get_StatusCode();
print "Status Code = " . $respStatusCode . "\r\n";
print "Response Body:" . "\r\n";
print $jResp->emit() . "\r\n";

if ($respStatusCode >= 400) {
    print "Response Header:" . "\r\n";
    print $resp->header() . "\r\n";
    print "Failed." . "\r\n";
    exit;
}

#  Sample JSON response:

#  {
#    "pspReference": "851559480052382F",
#    "resultCode": "Authorised",
#    "merchantReference": "123",
#    "paymentMethod": "ideal",
#    "shopperLocale": "nl_NL"
#  }

#  Sample code for parsing the JSON response...
#  Use the following online tool to generate parsing code from sample JSON:
#  Generate Parsing Code from JSON

$pspReference = $jResp->stringOf("pspReference");
$resultCode = $jResp->stringOf("resultCode");
$merchantReference = $jResp->stringOf("merchantReference");
$paymentMethod = $jResp->stringOf("paymentMethod");
$shopperLocale = $jResp->stringOf("shopperLocale");