Приклад використання
<?php
require __DIR__ . '/../app/sdk.php';
use UPC\UpcSDK;
use UPC\UpcPaymentData;
$sdk = new UpcSDK(__DIR__ . '/../keys/private.pem');
$payment_data = new UpcPaymentData('77777799004', 'E9977774', 1111, '23', '520', 100);
$signature = $sdk->signature($payment_data);
var_dump($signature);
UpcSDK клас, в коструктор потрібно передати шлях до приватного ключа UpcSDK->signature метод для формування підпису, приймає обєкт UpcPaymentData UpcPaymentData клас, для формування об'єкту платежу, в конструктор потрібно передати наступні параметри:
Приклад
$payment_data = new UpcPaymentData('77777799004', 'E9977774', 1111, '23', '520', 100);
<?php
require __DIR__ . '/../app/sdk.php';
use UPC\UpcSDK;
$sdk = new UpcSDK(__DIR__ . '/../keys/private.pem');
$reversal = $sdk->reversal(
[
'MerchantID' => '77777799004',
'TerminalID' => `E9977774`,
"PurchaseTime" => time(),
"OrderID" => 1,
"CurrencyID" => "980",
"TotalAmount" => 100,
"RRN" => "AX1122121212",
"ApprovalCode" => 121212,
"RefundAmount" => 100
]
);
Для підпису використовується клас Sign, кожен метод є статичним, приймає параметри і шлях до ключа
<?php
use UPC\Sign;
Sign::paymentSign($params, $privateKeyPath);
Sign::recurrentPaymentSign($params, $privateKeyPath);
Sign::reversalPaymentSign($params, $privateKeyPath);
Sign::preAuthorizationSign($params, $privateKeyPath);
приклад
<?php
use UPC\Sign;
$signature = Sign::reversalPaymentSign($params, $private_key);
Приклад використання
<?php
require __DIR__ . '/../app/sdk.php';
use UPC\UpcSDK;
use UPC\UpcPaymentData;
$sdk = new UpcSDK(__DIR__ . '/../keys/private.pem');
$payment_data = new UpcPaymentData('77777799004', 'E9977774', 1111, '23', '520', 100);
$trans_state = $sdk->tranState($payment_data, 'ecg.test.upc.ua');
var_dump($trans_state);
UpcSDK клас, в коструктор потрібно передати шлях до приватного ключа UpcSDK->tranState метод для формування підпису, приймає обєкт UpcPaymentData, а також як опціональний парамер- урл для тестового середовища це буде хост ecg.test.upc.ua
Приклад використання
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Checkout Page</title>
</head>
<body>
<?php
require __DIR__ . '/../app/sdk.php';
use UPC\UpcSDK;
use UPC\UpcPaymentData;
$sdk = new UpcSDK(__DIR__ . '/../keys/private.pem');
$signature = $sdk->signature($payment_data);
$trans_state = $sdk->tranState($payment_data, "secure.upc.ua");
$post_data = [
'Version' => 1,
'MerchantID' => '1111111',
'TerminalID' => 'E9977774',
'TotalAmount' => 1111,
'Currency' => '980',
'locale' => 'en',
'PurchaseTime' => 150611110821,
'OrderID' => '150611110821x',
'PurchaseDesc' => 'tran test',
];
$payment_data = new UpcPaymentData($post_data['MerchantID'],
$post_data['TerminalID'],
$post_data['PurchaseTime'],
$post_data['OrderID'],
$post_data['Currency'],
$post_data['TotalAmount'] );
$post_data['Signature'] = $sdk->signature($payment_data);
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<form action="https://secure.upc.ua/go/pay" method="POST">
<?php
foreach ($post_data as $name => $value) {
echo "<input name=\"$name\" type=\"hidden\" value=\"$value\" />";
}
?>
<input type="submit" />
</form>
</body>
</html>