Примеры кода на PHP

Для быстрой интеграции платежного сервиса PrimePayments на ваш сайт, мы подготовили небольшие примеры кода - вызовы методов API.

1. Создание заказа


<?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.ru/API/v1/">
	<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>


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.ru/API/v1/' );
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. Получение ссылки на страницу с формой оплаты


$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.ru/API/v1/' );
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'];
}