PHP code example of schibsted / sdk-php-payment-gateway
1. Go to this page and download the library: Download schibsted/sdk-php-payment-gateway library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
schibsted / sdk-php-payment-gateway example snippets
use schibsted\payment\sdk\response\Success;
use schibsted\payment\sdk\response\Response;
use schibsted\payment\resources\Order;
$spid_config = [
VGS_Client::CLIENT_ID => '<YOUR ID>',
VGS_Client::CLIENT_SECRET => '<YOUR SECRET>',
VGS_Client::CLIENT_SIGN_SECRET => '<YOUR SIGNATURE SECRET>',
VGS_Client::PRODUCTION => false,
VGS_Client::API_VERSION => 2,
];
$spid_client = new VGS_Client($spid_config);
$oauth_token = $spid_client->auth();
$payment_gateway_config = [
'host' => 'https://api-gateway-stage.payment.schibsted.no',
'port' => '443',
'adapter_config' => [ CURLOPT_CONNECTTIMEOUT_MS => 1000],
'token' => $oauth_token
];
$amount = 12000; // 120 euro, amount in CENT
$vat = 2500; // 25%, amount in hundredths
$order_res = new Order($payment_gateway_config);
$data = [
"purchaseFlow" => "SALE",
"fromPaymentProviderInfo" => [
[
"ppaProvider" => "ADYEN_CARD",
"storedPaymentMethodId" => $method_id
]
],
"description" => "Some description of a payment",
"fromUserIp" => "127.0.0.1",
"currency" => "EUR",
"clientId" => $this->client_id,
"merchantId" => $merchant_id,
"transactionReference" => uniqid(),
"orderItems" => [
[
"quantity" => 1,
"type" => "DEFAULT",
"price" => $amount,
"vat" => $vat,
"name" => "Some name of item",
"description" => 'Some description of item',
]
]
];
$result = $order_res->create($data);
if ($result instanceof Success === false) {
$content = $result->getContent();
$c = $content['errorCode'] ?? '-';
$m = $content['errorMessage'] ?? 'unknown';
$r = $content['requestId'] ?? '<NO REQUEST ID>';
throw new \Exception("Create Order failed: $c : $r : $m");
}
$order = $result->getContent();
$order_id = $order['id'];
if (is_numeric($order_id) == false) {
throw new \Exception("Order object not valid");
}
$result = $order_res->initialize($order_id);
if ($result instanceof Success === false) {
$content = $result->getContent();
$c = $content['errorCode'] ?? '-';
$m = $content['errorMessage'] ?? 'unknown';
$r = $content['requestId'] ?? '<NO REQUEST ID>';
throw new \Exception("Order Init failed: $c : $r : $m");
}
$result = $order_res->complete($order_id);
if ($result instanceof Success === false) {
$content = $result->getContent();
$c = $content['errorCode'] ?? '-';
$m = $content['errorMessage'] ?? 'unknown';
$r = $content['requestId'] ?? '<NO REQUEST ID>';
throw new \Exception("Order Complete failed: $c : $r : $m");
}
return $result->getContent();