Portmone
Версия 3
Правила расщепления
Версия 3 позволяет гибко перераспределять поступающие средства, используя такие фичи как расщепление и мультимерчант. Правила задаются в виде JSON:
[ { "field_name": "grp", "field_value": [1, 2, 13], "params": [ { "percent": 100, "payee_id": 123456, "description": "Доступ до мережі Інтернет для {{user.fio}}" } ] }, { "field_name": "_district", "field_value": ["obolon"], "params": [ { "percent": 10, "payee_id": 1000, "description": "Доступ до мережі Інтернет ({{user.ppc}})" }, { "percent": 20, "payee_id": 1001, "description": "Послуга техпідтримки" }, { "percent": 70, "payee_id": 1002, "description": "Послуга відпочинку" } ] }, { "params": [ { "percent": 100, "payee_id": 1005, "description": "Доступ до мережі Інтернет" } ] } ]
Правило - это блок {...} в котором находятся 3 параметра:
- field_name (необязательный)
- field_value (необязательный)
- params (обязательный) - параметры расщепления
Правила проверяются сверху вниз, и если условия правила совпадают с данными абонента - модуль формирует правила расщепления и прекращает обработку правил.
В примере выше, если група абонента 1, 2 или 13, то расщепление фактически выключается, 100% суммы оплаты пойдет мерчанту 123456. Если же абонент не находится в этих группах, то проверяется, что его допполе _district имеет значение obolon. В этом случае платеж распределяется между тремя мерчантами 1000, 1001 и 1002. Во всех остальных случаях 100% суммы оплаты пойдет мерчанту 1005
В поле description в { {...} } можно указывать данные клиента:
user.id : id пользователя user.name : логин user.fio : ФИО user.ppc : платежный код user.grp : номер группы клиента user.grp_name : имя группы user.state : on - доступ открыт, off - закрыт user.state_off : установлен если state равен off user.contract : договор user.contract_date_as_text : дата договора в виде dd.mm.yyyy user.balance : баланс user.comment : комментарий user.discount : скидка user.recommended_pay : рекомендованная сумма платежа user.dopdata : дополнительные данные
При тестировании пополнения от имени абонента можете включить debug-режим и увидеть как идет обработка правил