Portmone: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
мНемає опису редагування
Рядок 3: Рядок 3:
==Правила расщепления==
==Правила расщепления==


Версия 3 позволяет очень гибко перераспределять поступающие средства, используя такие фичи как расщепление и мультимерчант. Приведем виртуальный пример для демонстрации возможностей:
Версия 3 позволяет очень гибко перераспределять поступающие средства, используя такие фичи как расщепление и мультимерчант. Правила задаются в виде JSON:  
 
Если группа клиента 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:44, 12 червня 2025

Версия 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