Примеры кода на 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"
?>