Публикация в группе: Предложения по новому функционалу WP-Recall

Категории группы: Идеи и Предложения

Оплата закрытых публикаций SMS сообщениями через

https://cp.payy.ru

Регистрация простая на payy.ru

Имеются протоколы настройки:

Инициализация платежа осуществляется посредством отправки HTTP запроса методом GET или POST по адресу
https://cp.payy.ru/mobile/get.php

В запросе передаются следующие параметры:

Переменная Описание переменной Тип Пример значения
 id  ID проекта, одобренного в личном кабинете Партнера integer 12345
 number  Мобильный номер Абонента string 79859694999
 sum  Сумма к оплате float 135.00
 param  Массив данных, направленных Партнером при инициализации платежа array param=array('prm' => 'ind')
 md5  Дайджест запроса string d2c12fd82ddaa2da1e675c70228d33a1

Дайджест запроса рассчитывается из параметров запроса, которые задаются в строго указанном порядке:
md5 = id + number + sum + secret_key

Ответ сервиса передается в формате JSON. В случае успешного проведения транзакции, в объекте передается 2 параметра:
1. Статус транзакции;
2. Описание.
В случае успешного проведения транзакции, в объекте передается статус 200, а в описании передается идентификатор транзакции.
ПРИМЕР: {"200":"12345"}
В случае ошибки, передается код ошибки с кратким описанием. Возможные коды ошибки и их описание:

Номер ошибки Название ошибки Описание ошибки
400 Unknown id Передан неверный параметр id
401 Unknown number Отсутствует номер Абонента
402 Unknown message Не переданы данные в поле описание платежа
403 Unknown sum Не указана сумма для оплаты
404 Unknown md5 Не передан, либо неверный параметр дайджеста запроса
405 Service Unavailable Сервисная ошибка при проведении платежа
406 Error number Ошибка в номере

ПРИМЕР: {"406":"Error number"}

 

 

ЗАВЕРШЕНИЕ ТРАНЗАКЦИИ

Обращение к динамическому обработчику осуществляется посредством отправки HTTP запроса методом POST.
Платформа PAYY передает обработчику следующие параметры:

Переменная Описание переменной Тип Пример значения
 id  ID проекта, одобренного в личном кабинете Партнера integer 12345
 transaction  Идентификатор транзакции в системе integer 12345
 number  Мобильный номер Абонента string 79859694999
 sum  Сумма к оплате float 135.00
 md5  Дайджест запроса string d2c12fd82ddaa2da1e675c70228d33a1
 country  Код страны integer 1234
 operator  Код оператора integer 4567
 pay  Доход Партнера (отчисления в валюте страны) float 100.50
 param  Массив данных, направленных Партнером при инициализации платежа array param=array('prm' => 'ind')

Дайджест запроса рассчитывается из параметров запроса, которые задаются в строго указанном порядке:
md5 = id + number + sum + secret_key
полученный результат посылается для проверки целостности в параметре md5.

 

Пример скрипта, дающего ответ в кодировке utf-8 в формате JSON объекта с ключом status:

Код: пример скрипта, дающего ответ в кодировке utf-8 в формате JSON объекта с ключом status
1
2
3
4
5
<?php
header("Content-Type: text/plain; charset=utf-8");
$arrParam = array("status" => "200");
exit(json_encode($arrParam));
?>

 

Пример обработчика с использованием секретного кода и проверкой целостности запроса:

Код: обработчик с использованием секретного кода и проверкой целостности запроса
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

if(isset($_POST['id'], $_POST['number'], $_POST['country'], $_POST['operator'], $_POST['sum'], $_POST['pay'], $_POST['md5']))
{

$service_id = 12345;
$secret_key = '6dfgmEW98vmWEbdfe3';

$md5 = md5($service_id.$_POST['number'].$_POST['sum'].$secret_key);

if(strcasecmp($md5, $_POST['md5']) == 0)
{
header("Content-Type: text/plain; charset=utf-8");
$arrParam = array("status" => "200");
exit(json_encode($arrParam));
}
} 

?>

$service_id - ID проекта, одобренного в личном кабинете Партнера

 

Передача объекта со статусом 200 считается успешным.

Система поддерживает повторную отправку запроса в случае, если при его передаче произошло одно из следующих событий:
• Время ожидания ответа от внешнего сервера истекло. Максимальное время ожидания ответа 20 секунд;
• Web-сервером возвращен код ошибки, т.е. любой код, отличный от 200;
• Ответ был некорректным: отсутствовал текст ответного сообщения.

 

 

ПРОВЕРКА СТАТУСА ТРАНЗАКЦИИ

Проверка статуса платежа осуществляется посредством отправки HTTP запроса методом GET или POST по адресу
https://cp.payy.ru/mobile/status.php

Партнер передает следующие параметры для проверки статуса операции:

Переменная Описание переменной Тип Пример значения
 transaction  Идентификатор транзакции в системе integer 12345
 id  ID проекта, одобренного в личном кабинете Партнера integer 12345
 number  Мобильный номер Абонента string 79859694999
 md5  Дайджест запроса string d2c12fd82ddaa2da1e675c70228d33a1

Дайджест запроса рассчитывается из параметров запроса, которые задаются в строго указанном порядке:
md5 = id + number + sum + secret_key

Переменная Описание переменной Тип Пример значения
 id  ID проекта, одобренного в личном кабинете Партнера integer 12345
 number  Мобильный номер Абонента string 79859694999
 sum  Сумма к оплате float 135.00
 secret_key  Секретный код, указанный в личном кабинете Партнера string GK$rg(#edERF

Ответ сервиса передается в формате JSON. В случае успешного проведения транзакции, в объекте передается 2 параметра.

В случае успешного проведения транзакции, в объекте передается статус 200, со значением success.
ПРИМЕР: {"200":"success"}

В случае отказа от транзакции передается статус 400 со значение pending.
ПРИМЕР: {"400":"pending"}

 

0

Автор публикации

не в сети 9 лет

Sergas

-1
Комментарии: 1Публикации: 1Регистрация: 28-03-2015Продаж/Покупок: 0/0