1. Go to this page and download the library: Download itelmenko/unitpay-php-sdk 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/ */
itelmenko / unitpay-php-sdk example snippets
roject Data
$secretKey = '9e977d0c0e1bc8f5cc9775a8cc8744f1';
$publicId = '15155-ae12d';
// My item Info
$itemName = 'Iphone 6 Skin Cover';
// My Order Data
$orderId = 'a183f94-1434-1e44';
$orderSum = 900;
$orderDesc = 'Payment for item "' . $itemName . '"';
$orderCurrency = 'RUB';
$unitPay = new unitpay\UnitPay($secretKey);
$unitPay
->setBackUrl('http://domain.com')
->setCustomerEmail('[email protected]')
->setCustomerPhone('79001235555')
->setCashItems(array(
new unitpay\CashItem($itemName, 1, $orderSum)
));
$redirectUrl = $unitPay->form(
$publicId,
$orderSum,
$orderId,
$orderDesc,
$orderCurrency
);
header("Location: " . $redirectUrl);
header('Content-Type: text/html; charset=UTF-8');
/**
* API integration
*
* @link https://unitpay.ru/doc#initPayment
*/
r';
// My Order Data
$orderId = 'a183f94-1434-1e44';
$orderSum = 900;
$orderDesc = 'Payment for item "'.$itemName.'"';
$orderCurrency = 'RUB';
$unitPay = new unitpay\UnitPay($secretKey);
/**
* Base params: account, desc, sum, currency, projectId, paymentType
* Additional params:
* Qiwi, Mc:
* phone
* alfaClick:
* clientId
*
* @link https://unitpay.ru/doc#initPayment
* @link https://unitpay.ru/doc#paymentTypes
*/
$response = $unitPay->api('initPayment', [
'account' => $orderId,
'desc' => $orderDesc,
'sum' => $orderSum,
'paymentType' => 'yandex',
'currency' => $orderCurrency,
'projectId' => $projectId
]);
// If need user redirect on Payment Gate
if (isset($response->result->type)
&& $response->result->type == 'redirect') {
// Url on PaymentGate
$redirectUrl = $response->result->redirectUrl;
// Payment ID in Unitpay (you can save it)
$paymentId = $response->result->paymentId;
// User redirect
header("Location: " . $redirectUrl);
// If without redirect (invoice)
} elseif (isset($response->result->type)
&& $response->result->type == 'invoice') {
// Url on receipt page in Unitpay
$receiptUrl = $response->result->receiptUrl;
// Payment ID in Unitpay (you can save it)
$paymentId = $response->result->paymentId;
// Invoice Id in Payment Gate (you can save it)
$invoiceId = $response->result->invoiceId;
// User redirect
header("Location: " . $receiptUrl);
// If error during api request
} elseif (isset($response->error->message)) {
$error = $response->error->message;
print 'Error: '.$error;
}
/**
* Demo handler for your projects
*
* @link https://unitpay.ru/doc#confirmPayment
*/
o
$itemName = 'Iphone 6 Skin Cover';
// My Order Data
$orderId = 'a183f94-1434-1e44';
$orderSum = 900;
$orderDesc = 'Payment for item "' . $itemName . '"';
$orderCurrency = 'RUB';
$unitPay = new unitpay\UnitPay($secretKey);
try {
// Validate request (check ip address, signature and etc)
$unitPay->checkHandlerRequest();
list($method, $params) = array($_GET['method'], $_GET['params']);
// Very important! Validate request with your order data, before complete order
if (
$params['orderSum'] != $orderSum ||
$params['orderCurrency'] != $orderCurrency ||
$params['account'] != $orderId ||
$params['projectId'] != $projectId
) {
// logging data and throw exception
throw new InvalidArgumentException('Order validation Error!');
}
switch ($method) {
// Just check order (check server status, check order in DB and etc)
case 'check':
echo $unitPay->getSuccessHandlerResponse('Check Success. Ready to pay.');
break;
// Method Pay means that the money received
case 'pay':
// Please complete order
echo $unitPay->getSuccessHandlerResponse('Pay Success');
break;
// Method Error means that an error has occurred.
case 'error':
// Please log error text.
echo $unitPay->getSuccessHandlerResponse('Error logged');
break;
}
// Oops! Something went wrong.
} catch (Exception $e) {
echo $unitPay->getErrorHandlerResponse($e->getMessage());
}
bash
$ php composer.phar
"unitpay/php-sdk": "^1.0"
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.