Инициализация платежа


Передать параметры платежа с вашего сайта на кассу можно несколькими способами. Все они равноценные, используйте способ какой подходит Вам.

Параметры запроса:
Красные - обязательные поля.
Зеленые - дополнительные поля.

WP_PAYMENT_SITE - ID PLATFORM (ID площадки, целое число)
WP_PAYMENT_COM - Коментарий к платежу (Он используется с функцией base64_encode)
WP_PAYMENT_VAR - Уникальный код к платежку (Можете использовать при передаче ID запроса или ID пользователя)
WP_PAYMENT_AMOUNT - Сумма платежа
WP_PAYMENT_HASH - Создание секретного ключа в связке с ID площадки и суммы оплаты

Форма оплаты:
<?
define('WP_ID'1); //id площадки
define('WP_HASH''123456789'); //секретный код
if (!empty($_POST['summa'])) {
try {
$filter = array(
'money' => abs($_POST['money']),
'hash' => strtoupper(hash('sha256'implode(":"abs($_POST['money']).WP_ID))),
'var' => 'ID Пользователя',);

echo 
'<form  action="http://wordpay.ru/api/payment/" method="POST">
<input type="hidden" name="WP_PAYMENT_SITE" value="'
.WP_ID.'">
<input type="number" name="WP_PAYMENT_AMOUNT" value="'
.$filter['money'].'">
<input type="hidden" name="WP_PAYMENT_COMM" value="'
.base64_encode('Оплата платежа').'">
<input type="hidden" name="WP_PAYMENT_VAR" value="'
.$filter['var'].'"> 
<input type="hidden" name="WP_PAYMENT_HASH" value="'
.$filter['hash'].'"> 
<input type="submit" value="Оплатить">
</form>'
;
}
}
echo 
'Пополнить на:<br/>
<form method="post">
<input name="summa" type="text" value="1.00"/> RUB<br/>
<input type="submit" value="Пополнить"/>
</form>'
;
?>

Обработчик платежа


После оплаты данные о платеже отправляются на URL Result.
По этим данным производите зачисление на своем сайте.
При успешной обработке должна вернуться строка YES|MNM_PAY_ID (MNM_PAY_ID - id платежа), иначе платеж считается необработанным и касса будет присылать повторные уведомления.

<?php
define
('WP_ID'1); //id площадки
define('WP_HASH''12345678'); //секретный код
if (isset($_POST['WP_PAYMENT_AMOUNT']) && isset($_POST['WP_PAYMENT_DATE']) && isset($_POST['WP_PAYMENT_HASH']))
{
$wp = array(
'platform' => trim(filter_input(INPUT_POST'WP_PAYMENT_SITE'FILTER_UNSAFE_RAW)), //ID PLATFORM
'money' => trim(filter_input(INPUT_POST'WP_PAYMENT_AMOUNT'FILTER_UNSAFE_RAW)), //MONEY
'var' => trim(filter_input(INPUT_POST'WP_PAYMENT_VAR'FILTER_UNSAFE_RAW)), //ID USER or NUMBER PAY
'time' => trim(filter_input(INPUT_POST'WP_PAYMENT_DATE'FILTER_UNSAFE_RAW)), //DATE 2020-03-30 10:44:15
'id' => trim(filter_input(INPUT_POST'WP_PAYMENT_ID'FILTER_UNSAFE_RAW)), //ID Pay
'com' => trim(htmlspecialchars(base64_decode($_POST['WP_PAYMENT_COMM']), ENT_QUOTES'UTF-8')), // Commetnts
'hash' => trim(filter_input(INPUT_POST'WP_PAYMENT_HASH'FILTER_UNSAFE_RAW)), //Hash
);

$hash strtoupper(hash('sha256'implode(":"WP_HASH.WP_ID)));
if(
$hash != $wp['hash']) exit('NO | Не верный хэш');
elseif(
WP_ID != $wp['platform']) exit('NO | Не верный ID платформы');

$update $db->prepare("UPDATE `users` SET `money` = `money` + ? WHERE `id` = ?");
$update -> execute([$wp['money'],$wp['var']]);
exit(
'YES|'.$wp['id']);
}
?>

Дополнительная информация


Для подключения нашего сервиса для начала Вам необходимо пройти регистрацию на сайте.
После регистрации перейдите в "Кабинет", в раздел "Площадки"
Создайте свою площадку.
Далее заполните поля:
1. Success - адрес на который попадает покупатель, в случае успешной покупки товара.
2. Result - Происходит передача информации о проведение платежа
3. Error - адрес на который попадает покупатель, в случае не удачной покупки товара.
4. Адрес сайта - ссылка на ваш проект, с http:// или https://
5. Key - код для проверки подлинности платежа. Нужен для предотвращения подмены данных. Никому не сообщайте данный код

Автоматический вывод средств


Автоматический вывод средств происходит по адресу : https://wordpay.ru/api/moneyback/ посредством POST запросов и ответ вы получаете в формате json_encode
Параметры запроса:
Красные - обязательные поля.
Зеленые - дополнительные поля.

hash - секретный код
money - сумма платежа
Платежные системы (Выбрать только один пункт)
qiwi - qiwi платежная система (Передавать сразу с номером куда отправлять , вид номер 792270277xx)
mobile - Мобильный телефон (Передавать сразу с номером куда отправлять вид номер 792270277xx)
card - Банковская карта (Передавать сразу с номером куда отправлять)
ya - Яндекс.деньги (Передавать сразу с номером куда отправлять)

Готовые функции:


<?
function CurlWordPay($money,$merch,$number,$hash){
if( $curl curl_init() ) {
    curl_setopt($curlCURLOPT_URL'https://wordpay.ru/api/moneyback/');
    curl_setopt($curlCURLOPT_RETURNTRANSFER,true);
    curl_setopt($curlCURLOPT_POSTtrue);
    curl_setopt($curlCURLOPT_POSTFIELDS"money={$money}&{$merch}={$number}&hash={$hash}");
    $out curl_exec($curl);
    curl_close($curl);
    return $out;
}
}
function MoneyBack($sp,$obj){
$obj json_decode($obj);
if($sp == 1) print $obj->{'message'};
elseif($sp == 2) print $obj->{'money'};
elseif($sp == 3) print $obj->{'money_go'};
elseif($sp == 4) print $obj->{'status'};
else return 'Не выбран способ';
}
?>

Пример использования:


<?php
$url 
CurlWordPay(сумма,способ платежа,номер,секретный код);
if(
MoneyBack(4,$url) == 0){
echo 
MoneyBack(1,$url);
}else{
echo 
MoneyBack(1,$url);
$update $db->prepare("UPDATE `users` SET `money` = `money` - ? WHERE `id` = ?");
$update -> execute([MoneyBack(2,$url),$user->id);
}
?>

Параметры получения ответа:
message - сообщения с ответом
money - сумма платежа
money_go - сумма платежа без комиссии
status - статус платежа

Пример оплаты через iframe


Параметры передачи GET:
MNM_COM - Назначение платежа (Ключ платежа, можно передавать ID)
MNM_PLATFORM - ID вашей платформы

Пример iframe

Ответ оплаты приходит согласно настройкам площадки на обработчик платежа