Примеры кода на PHP
Для быстрой интеграции платежного сервиса PrimePayments на ваш сайт, мы подготовили небольшие примеры кода - вызовы методов API.
1. Создание ссылки, получение ссылки на форму оплаты
$data = [
'action' => 'initPayment',
'project' => '1', // ID проекта
'sum' => 1000, // сумма
'currency' => 'RUB', // валюта
'innerID' => "innerID", // innerID
'payWay' => '1', // например 1 для карт, 5 для qiwi
'email' => "user@site.com", // e-mail
'returnLink' => 1 // returnLink=1 нужно только для API v1
];
$secret1 = '######'; // секретное слово 1
$data['sign'] =md5($secret1.$data['action'].$data['project'].$data['sum'].$data['currency'].$data['innerID'].$data['email'].$data['payWay']);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://pay.primepayments.io/API/v2/' );
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close ($ch);
$answer = json_decode($server_output, true);
if (isset($answer['status']) && $answer['status'] == 'OK') {
// в переменной link будет ссылка
// на этот адрес вам нужно перенаправить пользователя
$link = $answer['result'];
} else {
echo "Произошла ошибка: ".$answer['result'];
}
2. Заказ выплаты
<?php
$data = [
'action' => 'initPayout',
'project' => 1, // ID проекта
'sum' => '100', // сумма
'currency' => 'RUB', // сумма
'payWay' => '1', // карты
'email' => 'test@test.com', // e-mail
'purse' => '1111222233334444', // кошелек
'comment' => "Комментарий к выплате"
];
$secret1 = 'secret1'; // секретное слово 1
$data['sign'] =md5($secret1.$data['action'].$data['project'].$data['sum'].$data['currency'].$data['payWay'].$data['email'].$data['purse']);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://pay.primepayments.io/API/v2/' );
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close ($ch);
$answer = json_decode($server_output, true);
if (!$answer) $error = 'Не удалось выполнить запрос!';
else {
if ($answer['status'] == 'ERROR') echo 'Произошла ошибка: ' . $answer['result'];
if ($answer['status'] == 'OK') {
echo 'Заявка создана, ID: ' . $answer['result']['payout_id'];
}
}
?>
3. Прием оповещения об оплате
<?php
$secret2 = '#########'; // Секретное слово 2
$hash = md5 ( $secret2 . $_POST['orderID'] . $_POST['payWay'] . $_POST['innerID'] . $_POST['sum'] . $_POST['webmaster_profit'] );
if ($hash != $_POST['sign']) die('wrong sign'); // проверка подписи
// здесь ваш код для покупки/зачисления
echo 'OK'; // в конце дать ответ "OK"
?>