Примеры кода на 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
];
$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"
?>
4. Создание заказа через браузер (работает только для API v1)
<?php
$project = '1'; // ID проекта
$secret1 = 'secret1'; // Секретное слово 1
$innerID = 1; // innerID
$email = 'test@test.com'; // e-mail
$sum = 100; // сумма
$currency = 'RUB'; // валюта
$sign = md5($secret1 . 'initPayment' . $project . $sum . $currency. $innerID . $email ); //Генерация подписи
?>
<form method="POST" action="https://pay.primepayments.io/API/v2/">
<input type="hidden" name="action" value="initPayment">
<input type="hidden" name="project" value="<?=$project; ?>">
<input type="hidden" name="sum" value="<?=$sum; ?>">
<input type="hidden" name="currency" value=<?=$currency; ?>>
<input type="hidden" name="innerID" value="<?=$innerID; ?>">
<input type="hidden" name="email" value="<?=$email; ?>">
<input type="hidden" name="sign" value="<?=$sign?>">
<input type="hidden" name="comment" value="Пополнение баланса #<?=$innerID; ?>">
<center><input type="submit" value="НАЖМИТЕ ДЛЯ ОПЛАТЫ" /></center>
</form>