Это старая версия документа.
Paysys API
API по созданию модулей для Paysys
Для тестирования систем используется опция
$conf{PAYSYS_TEST_SYSTEM}='192.168.0.88:Paynet';
|192.168.0.88| IP адреса с которого будут отправляться запросы на тестирование |
Paynet | Название платёжного модуля |
В платёжном модуле должна присутствовать функция [paysys_name]_check_payment, она вызывается по умолчанию
Лог проведения транзакция cgi-bin/paysys_check.log для ведения лога нужно включить режим отладки 1 или выше ( $conf{PAYSYS_DEBUG}=1; )
Проверить существующего абонента
my ($result, $list) = paysys_check_user({ CHECK_FIELD => $CHECK_FIELD, USER_ID => $account });
$result | код возврата |
---|---|
$list | список параметров абонента |
Проведение платежа
my $result_code = paysys_pay({ PAYMENT_SYSTEM => $payment_system, PAYMENT_SYSTEM_ID => $payment_system_id, CHECK_FIELD => $CHECK_FIELD, USER_ID => $request_params{customer_id}, SUM => $request_params{sum}, EXT_ID => $request_params{transaction_id}, DATA => \%request_params, CURRENCY => $conf{PAYSYS_PAYNET_CURRENCY}, MK_LOG => 1, DEBUG => $debug });
Параметры
PAYMENT_SYSTEM | Краткое название платёжной системы |
---|---|
PAYMENT_SYSTEM_ID | Номер платёжной системы |
CHECK_FIELD | Поле синхронизации абонента |
USER_ID | ID абонента |
SUM | Сума оплаты |
EXT_ID | Внешний уникальный идентификатор оплаты |
DATA | Хаш параметров оплаты для ведения лога |
CURRENCY | Курс обмена для платежей данной системы. Идентифицируется по короткому названию. При указании данной опции система проверяет по короткому имени есть ли такой курс в системе и использует его при платежах. |
CURRENCY_ISO | Курс обмена. Идентифицируется по ISO коду |
MK_LOG | Вести лог |
DEBUG | Режим отладки |
PAYMENT_ID⇒ 1, | При включении данного параметра функция возвращает 2 значения ($status_code, $payments_id $status_code - код выполнения операции $payments_id - Идентификатор платежа в ABillS |
PAYMENT_DESCRIBE | Описание платежа. Добавляется в описание платежа. Если параметр не заполнен передаётся название платёжной системы |
Отмена платежа
my $result = paysys_pay_cancel({ TRANSACTION_ID => "$payment_system:$transaction_id" });
Параметры:
TRANSACTION_ID | Номер транзакции |
---|---|
PAYMENT_ID | Номер платежа в модуле Paysys |
Проверка существующей транзакции
my $result = paysys_pay_check({ TRANSACTION_ID => "$payment_system:$transaction_id" });
Параметры:
TRANSACTION_ID | Номер транзакции |
---|---|
PAYMENT_ID | Номер платежа в модуле Paysys |
Если система не может найти транзакцию возвращает 0 при успешном поиске возвращается номер транзакции
Ошибки
0 | Операция прошла успешно |
---|---|
1 | Пользователя нет в системе |
2 | Ошибка базы |
3 | Такая оплата уже существует в системе |
5 | Неправильная сумма платежа. возникает в системах с тандемной оплатой если абонент начинает транзакцию с одной суммой но в процессе транзакции меняет сумму |
6 | Слишком маленькая сумма |
7 | Сумма оплаты больше разрешённой |
8 | Транзакция не найдена |
9 | Оплата уже существует |
10 | Такой оплаты не найдено в системе |
11 | Для данной группы абонентов запрещено использовать внешние оплаты (Paysys) |
12 | Неизвестаня SQL ошибка оплаты |
13 | Ошибка при записи в журнал внешних оплат (Paysys) |
14 | |
17 | SQL При проведении оплаты |
28 | Не правильный курс обмена |