|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (29)
просмотр истории страницы Коды платежа |
В статье описана схема взаимодействия asr_fiscal с asr_billing и коды ошибок возвращаемые биллингом и обработчиками платёжных систем. |
|
asr_billing |
h2. Схема взаимодействия asr_fiscal с asr_billing |
|
общие 51 - Не указан параметр для поиска абонента 52 - User is deleted 52 - User or group is disabled 53 - Абонент не найден 71 - неизвестный оператор 73 - Неизвестная команда 99 - act_pay error (неизвестная ошибка) |
При обращении на обработчик платёжной системы, допустим http://169.254.14.44:1444/osmp.php, он передаёт данные в общий для всех платёжных систем интерфейс pay_work, откуда они отправляются в asr_billing для регистрации платежа. Получив ответ с кодом состояния операции от биллинга, pay_work обрабатывает его и возвращает в обработчик платёжной системы (в примере это osmp.php) где он может быть модифицирован - в зависимости от требований протокола. Ниже описаны возможные ответы биллинга обработчику pay_work и измененные коды для конкретных платежных систем. |
|
создание платежа ADD 0 - Создан платеж 0 - Платеж уже создан |
h2. asr_billing |
|
отмена платежа CANCEL 0 - Проведено успешно 102 - Транзакции не существует 202 - Транзакция уже отменена |
h3. Общие для всех операций |
|
проверка платежа CHECK 0 - SUCCESS 102 - Транзакции не существует |
|| Ответ биллинга || Описание || | 51 | Не указан параметр для поиска абонента | | 52 | User is deleted | | 52 | User or group is disabled | | 53 | Абонент не найден | | 54 | Дата платежа меньше, чем дата создания абонента | | 71 | неизвестный оператор | | 73 | Неизвестная команда | | 99 | act_pay error (неизвестная ошибка) | |
|
проведение платежа PAY 0 - ACCEPTED 20 - Платеж уже проведен, возвращаем старые данные 20 += Сумма дублирующего платежа не совпадает с оригиналом 20 += Дата дублирующего платежа не совпадает с оригиналом 52 - В платеже не указана сумма 81 - Невозможно получить старые данные |
h3. Создание платежа ADD |
|
asr_fiscal |
|| Ответ биллинга || Описание || | 0 | Создан платеж | | 0 | Платеж уже создан | |
|
общие 0 - коды биллинга 0, 20, 102 - OК 1 - код биллинга 30 - временная ошибка 4 - коды биллинга 50, 51 - неверный формат поиска абонента 5 - код биллинга 53 - абонент не найден 7 - код биллинга 52 - платежи не принимаются 300 - No results from DB |
h3. Отмена платежа CANCEL |
|
Обычно код из биллинга идёт в общий обработчик фискала, а после ещё в обработчик платежки |
|| Ответ биллинга || Описание || | 0 | Проведено успешно | | 102 | Транзакции не существует | | 202 | Транзакция уже отменена | |
|
OSMP case 0: if ($this->config['osmp']['show_abonent_fio'][0]) { $msg = 'Абонент найден. ' . $abonent_name; } else { $msg = 'OK'; } break; case 1: $msg = 'Временная ошибка. Повторите запрос позже'; break; case 4: $msg = 'Неверный формат идентификатора абонента'; break; case 5: $msg = 'Идентификатор абонента не найден (Ошиблись номером)'; break; case 7: $msg = 'Прием платежа запрещен провайдером'; break; case 8: $msg = 'Прием платежа запрещен по техническим причинам'; break; case 79: $msg = 'Счет абонента не активен'; break; case 90: $msg = 'Проведение платежа не окончено'; break; case 241: $msg = 'Сумма слишком мала'; break; case 242: $msg = 'Сумма слишком велика'; break; case 243: $msg = 'Невозможно проверить состояние счета'; break; default: $msg = 'Другая ошибка провайдера'; break; } |
h3. Проверка платежа CHECK |
|
SBRF case 0: case 20: case 102: $msg = 'OK'; $obj['res'] = 0; break; case 30: $msg = 'Временная ошибка. Повторите запрос позже'; $obj['res'] = 1; break; case 50: case 51: $msg = 'Неверный формат идентификатора абонента'; $obj['res'] = 4; break; case 53: $msg = 'Идентификатор абонента не найден (Ошиблись номером)'; $obj['res'] = 5; break; case 52: $msg = 'Прием платежа запрещен провайдером'; $obj['res'] = 7; break; case 8: $msg = 'Прием платежа запрещен по техническим причинам'; break; case 79: $msg = 'Счет абонента не активен'; break; case 90: $msg = 'Проведение платежа не окончено'; break; case 241: $msg = 'Сумма слишком мала'; break; case 242: $msg = 'Сумма слишком велика'; break; case 243: $msg = 'Невозможно проверить состояние счета'; break; default: $msg = 'Другая ошибка провайдера'; break; } |
|| Ответ биллинга || Описание || | 0 | SUCCESS | | 102 | Транзакции не существует | |
|
А некоторык обработчики платежек сразу обрабатывают коды биллинга |
h3. Проведение платежа PAY |
QIWI |
0 - OK 4 - какая-то другая ошибка из биллинга 3 - нет ответа от биллинга |
|| Ответ биллинга || Описание || | 0 | ACCEPTED | | 20 | Платеж уже проведен, возвращаем старые данные | | 20 | Сумма дублирующего платежа не совпадает с оригиналом | | 20 | Дата дублирующего платежа не совпадает с оригиналом | | 52 | В платеже не указана сумма | | 81 | Невозможно получить старые данные | h2. asr_fiscal h3. Общие для всех платежных систем || Ответ биллинга || Переопределяется || Описание || | 0, 20, 102 | 0 | OК | | 30 | 1 | Временная ошибка | | 50, 51 | 4 | Неверный формат поиска абонента | | 53 | 5 | Абонент не найден | | 52 | 7 | Платежи не принимаются | | 300 | \- | No results from DB | h3. ОСМП [Любые платежные системы использующие ОСМП протокол|http://docs.carbonsoft.ru/49087103] || Ответ биллинга || Отправляемое описание || | 0 | В зависимости от [опции "Отображать ФИО абонента при платеже"|CarbonBilling:Платежные системы. Общее]: * Включена: Абонент найден. ФИО абонента * Выключена: OK | | 1 | Временная ошибка. Повторите запрос позже | | 4 | Неверный формат идентификатора абонента | | 5 | Идентификатор абонента не найден (Ошиблись номером) | | 7 | Прием платежа запрещен провайдером | | 8 | Прием платежа запрещен по техническим причинам | | 79 | Счет абонента не активен | | 90 | Проведение платежа не окончено | | 241 | Сумма слишком мала | | 242 | Сумма слишком велика | | 243 | Невозможно проверить состояние счета | | Прочее | Другая ошибка провайдера | h3. Сбербанк ОСМП [Сбербанк (ОСМП)|http://docs.carbonsoft.ru/50364716] || Ответ биллинга || Переопределяется || Отправляемое описание || | 0, 20 | \- | OK | | 102 | 0 | OK | | 30 | 1 | Временная ошибка. Повторите запрос позже | | 50 | \- | \- | | 51 | 4 | Неверный формат идентификатора абонента | | 53 | 5 | Идентификатор абонента не найден (Ошиблись номером) | | 52 | 7 | Прием платежа запрещен провайдером | | 54 | 12 | Неверная дата платежа | | 8 | \- | Прием платежа запрещен по техническим причинам | | 79 | \- | Счет абонента не активен | | 90 | \- | Проведение платежа не окончено | | 241 | \- | Сумма слишком мала | | 242 | \- | Сумма слишком велика | | 243 | \- | Невозможно проверить состояние счета | | Прочее | \- | Другая ошибка провайдера | h3. QIWI QIWI сразу обрабатывает коды биллинга || Ответ биллинга || Отправляемое описание || | 0 | OK | | 3 | Нет ответа от биллинга | | 4 | Какая-то другая ошибка из биллинга | |