Просмотр Исходного

В статье описана схема взаимодействия asr_fiscal с asr_billing и коды ошибок возвращаемые биллингом и обработчиками платёжных систем.

h2. Схема взаимодействия asr_fiscal с asr_billing

При обращении на обработчик платёжной системы, допустим http://169.254.14.44:1444/osmp.php, он передаёт данные в общий для всех платёжных систем интерфейс pay_work, откуда они отправляются в asr_billing для регистрации платежа. Получив ответ с кодом состояния операции от биллинга, pay_work обрабатывает его и возвращает в обработчик платёжной системы (в примере это osmp.php) где он может быть модифицирован - в зависимости от требований протокола.
Ниже описаны возможные ответы биллинга обработчику pay_work и измененные коды для конкретных платежных систем.

h2. asr_billing

h3. Общие для всех операций

|| Ответ биллинга || Описание ||
| 51 | Не указан параметр для поиска абонента |
| 52 | User is deleted |
| 52 | User or group is disabled |
| 53 | Абонент не найден |
| 71 | неизвестный оператор |
| 73 | Неизвестная команда |
| 99 | act_pay error (неизвестная ошибка) |

h3. Создание платежа ADD

|| Ответ биллинга || Описание ||
| 0 | Создан платеж |
| 0 | Платеж уже создан |

h3. Отмена платежа CANCEL

|| Ответ биллинга || Описание ||
| 0 | Проведено успешно |
| 102 | Транзакции не существует |
| 202 | Транзакция уже отменена |

h3. Проверка платежа CHECK

|| Ответ биллинга || Описание ||
| 0 | SUCCESS |
| 102 | Транзакции не существует |

h3. Проведение платежа PAY

|| Ответ биллинга || Описание ||
| 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 | Прием платежа запрещен провайдером |
| 8 | \- | Прием платежа запрещен по техническим причинам |
| 79 | \- | Счет абонента не активен |
| 90 | \- | Проведение платежа не окончено |
| 241 | \- | Сумма слишком мала |
| 242 | \- | Сумма слишком велика |
| 243 | \- | Невозможно проверить состояние счета |
| Прочее | \- | Другая ошибка провайдера |

h3. QIWI
QIWI сразу обрабатывает коды биллинга

|| Ответ биллинга || Отправляемое описание ||
| 0 | OK |
| 3 | Нет ответа от биллинга |
| 4 | Какая-то другая ошибка из биллинга |