Portmone: відмінності між версіями
Sv (обговорення | внесок) |
Sv (обговорення | внесок) |
||
| Рядок 3: | Рядок 3: | ||
==Правила расщепления== | ==Правила расщепления== | ||
Версия 3 позволяет очень гибко перераспределять поступающие средства, используя такие фичи как расщепление и мультимерчант. Приведем виртуальный пример для демонстрации возможностей: | |||
Если группа клиента 1 или 5 или 10, то распределить платеж между мерчантами М1, M2, M3 в соотношении 20%-30%-50% | |||
Если группа иная, но установлено поле ФОП, то разпределить платеж между мерчантами M2 и M4 в соотношении 50%-50% | |||
Если не ФОП и при этом группа 7, то все финансы перечислить на M5 | |||
Если не ФОП и при этом группа 8, то все финансы перечислить на M6 | |||
Всех остальных делить между M5 и M6 в соотношении 10%-90% | |||
Правила задаются в виде JSON: | |||
<pre> | <pre> | ||
[ | [ | ||
| Рядок 17: | Рядок 26: | ||
}, | }, | ||
{ | { | ||
"field_name": " | "field_name": "_district", | ||
"field_value": [" | "field_value": ["obolon"], | ||
"params": [ | "params": [ | ||
{ | { | ||
| Рядок 48: | Рядок 57: | ||
] | ] | ||
</pre> | </pre> | ||
Правило - это блок {...} в котором находятся 3 параметра: | |||
* field_name (необязательное) | |||
* field_value (необязательное) | |||
* params (обязательное) - параметры расщепления | |||
Правила проверяются сверху вниз, и если правило совпадает - модуль формирует правила расщепления и прекращает обработку правил. | |||
В примере выше, если група абонента 1, 2 или 13, то расщепление фактически выключается, 100% суммы оплаты пойдет мерчанту 123456. | |||
Если же абонент не находится в этих группах, то проверяется, что его допполе _district имеет значение obolon. В этом случае платеж распределяется между тремя мерчантами 1000, 1001 и 1002. | |||
Во всех остальных случаях 100% суммы оплаты пойдет мерчанту 1005 | |||
Версія за 17:43, 12 червня 2025
Версия 3
Правила расщепления
Версия 3 позволяет очень гибко перераспределять поступающие средства, используя такие фичи как расщепление и мультимерчант. Приведем виртуальный пример для демонстрации возможностей:
Если группа клиента 1 или 5 или 10, то распределить платеж между мерчантами М1, M2, M3 в соотношении 20%-30%-50% Если группа иная, но установлено поле ФОП, то разпределить платеж между мерчантами M2 и M4 в соотношении 50%-50% Если не ФОП и при этом группа 7, то все финансы перечислить на M5 Если не ФОП и при этом группа 8, то все финансы перечислить на M6 Всех остальных делить между M5 и M6 в соотношении 10%-90%
Правила задаются в виде 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