Transaction: originalPayee, payee & merchant

Avatar
  • обновлен
  • Отвечен

Хотелось бы развернутого ответа о их использовании

1) Что такое originalPayee? почему его можно задать только при создании транзакции?

2) Как взаимосвязаны  payee & merchant ? 
Почему можно задать payee и не задавать merchant?
Почему можно задать payee отличный от merchant->title ?
Почему при установке merchant автоматически не проставляется payee? А при обновлении merchant->title во всех транзакциях обновляется payee ? 

(при указании merchant->title имеется в виду что для транзакции указан merchant и это обращение к его title)


Прикрепленные ответы
Avatar
skvav
  • Ответ
  • Отвечен
Цитата от Ryadnov

т.е. через АПИ originalPayee уже не переименовать.

>> Если где-то не ставится, то, возможно, просто не было в этом необходимости.
какое "где-то"? же об API говорим)
вот кейс - предположим что я создаю транзакцию

{
    currentClientTimestamp: 1495411200,
    serverTimestamp:        0,
    transaction:    [
        [
            'id': '2fac2619-48d9-46da-bbea-6b1ac1895164',
            ....
            'originalPayee': null,
            'payee': null,
            'merchant': '792b6fd6-416a-4e96-a326-5c71ec0d60f6',
        ],
    ],
    merchant:    [
        [
            'id': '792b6fd6-416a-4e96-a326-5c71ec0d60f6',
            ....
            'title': 'ЗАО РОГА И КОПЫТА',
        ],
    ]
}

В данном случае payee и originalPayee автоматически не заполнятся, а останутся null (ну или любое другое исходное значение)

Опишу с самого начала весь принцип :)

1) originalPayee используется для подсказки категории и получателя в операции. Оно обычно берется из смс или плагина и сохраняется неизменным в этом поле для дальнейшего использования на сервере.

2) payee - это название получателя. Показывается в списке операций в веб-версии. В приложениях показывается, если не задан merchant. После suggest может содержать почищенное либо адаптированное значение originalPayee. К примеру originalPayee = "McDonalds', payee = 'МакДональдс' после suggest.

3) merchant - получатель из справочника, который заполняется вручную пользователем. Если задан, то в списках операций приложения показывается его title. Если нет, то берется payee. При смене merchant payee автоматически не меняется, если только клиент не делает это явно.

Avatar
support
  • Отвечен

1) Это оригинальное имя Получателя платежа, по которому определяется категория операции и которое может быть автоматически переименовано после обработки.

2) Payee - строковое представление Получателя, merchant - значение из справочника Получателей. Не каждый получатель заносится в справочник, чтобы не перегружать его. В справочник обычно заносится то, что пользователь создал сам или переименовал автоматически распознанное. Если у операции указан merchant, то payee автоматически заполняется на его основе (отсюда и все зависимости при переименованиях). При этом у операции может не быть merchant'а, тогда учитывается payee.

Avatar
Ryadnov
Цитата от support

1) Это оригинальное имя Получателя платежа, по которому определяется категория операции и которое может быть автоматически переименовано после обработки.

2) Payee - строковое представление Получателя, merchant - значение из справочника Получателей. Не каждый получатель заносится в справочник, чтобы не перегружать его. В справочник обычно заносится то, что пользователь создал сам или переименовал автоматически распознанное. Если у операции указан merchant, то payee автоматически заполняется на его основе (отсюда и все зависимости при переименованиях). При этом у операции может не быть merchant'а, тогда учитывается payee.

>> и которое может быть автоматически переименовано после обработки
автоматически переименовано это внутри системы? Через АПИ у транзакции не получается изменить originalPayee

>> Если у операции указан merchant, то payee автоматически заполняется на его основе
нет, не ставится, поэтому и странно что есть зависимости в переименованиях

Avatar
support
Цитата от Ryadnov

>> и которое может быть автоматически переименовано после обработки
автоматически переименовано это внутри системы? Через АПИ у транзакции не получается изменить originalPayee

>> Если у операции указан merchant, то payee автоматически заполняется на его основе
нет, не ставится, поэтому и странно что есть зависимости в переименованиях

>> автоматически переименовано это внутри системы? Через АПИ у транзакции не получается изменить originalPayee
Да, в ядре в момент обработки создаваемой операции, по предпочтениям пользователя, если он уже переименовывал этого получателя ранее.

>> нет, не ставится, поэтому и странно что есть зависимости в переименованиях
Если где-то не ставится, то, возможно, просто не было в этом необходимости.

Avatar
Ryadnov
  • На рассмотрении
Цитата от support

>> автоматически переименовано это внутри системы? Через АПИ у транзакции не получается изменить originalPayee
Да, в ядре в момент обработки создаваемой операции, по предпочтениям пользователя, если он уже переименовывал этого получателя ранее.

>> нет, не ставится, поэтому и странно что есть зависимости в переименованиях
Если где-то не ставится, то, возможно, просто не было в этом необходимости.

т.е. через АПИ originalPayee уже не переименовать.

>> Если где-то не ставится, то, возможно, просто не было в этом необходимости.
какое "где-то"? же об API говорим)
вот кейс - предположим что я создаю транзакцию

{
    currentClientTimestamp: 1495411200,
    serverTimestamp:        0,
    transaction:    [
        [
            'id': '2fac2619-48d9-46da-bbea-6b1ac1895164',
            ....
            'originalPayee': null,
            'payee': null,
            'merchant': '792b6fd6-416a-4e96-a326-5c71ec0d60f6',
        ],
    ],
    merchant:    [
        [
            'id': '792b6fd6-416a-4e96-a326-5c71ec0d60f6',
            ....
            'title': 'ЗАО РОГА И КОПЫТА',
        ],
    ]
}

В данном случае payee и originalPayee автоматически не заполнятся, а останутся null (ну или любое другое исходное значение)

Avatar
skvav
  • Ответ
  • Отвечен
Цитата от Ryadnov

т.е. через АПИ originalPayee уже не переименовать.

>> Если где-то не ставится, то, возможно, просто не было в этом необходимости.
какое "где-то"? же об API говорим)
вот кейс - предположим что я создаю транзакцию

{
    currentClientTimestamp: 1495411200,
    serverTimestamp:        0,
    transaction:    [
        [
            'id': '2fac2619-48d9-46da-bbea-6b1ac1895164',
            ....
            'originalPayee': null,
            'payee': null,
            'merchant': '792b6fd6-416a-4e96-a326-5c71ec0d60f6',
        ],
    ],
    merchant:    [
        [
            'id': '792b6fd6-416a-4e96-a326-5c71ec0d60f6',
            ....
            'title': 'ЗАО РОГА И КОПЫТА',
        ],
    ]
}

В данном случае payee и originalPayee автоматически не заполнятся, а останутся null (ну или любое другое исходное значение)

Опишу с самого начала весь принцип :)

1) originalPayee используется для подсказки категории и получателя в операции. Оно обычно берется из смс или плагина и сохраняется неизменным в этом поле для дальнейшего использования на сервере.

2) payee - это название получателя. Показывается в списке операций в веб-версии. В приложениях показывается, если не задан merchant. После suggest может содержать почищенное либо адаптированное значение originalPayee. К примеру originalPayee = "McDonalds', payee = 'МакДональдс' после suggest.

3) merchant - получатель из справочника, который заполняется вручную пользователем. Если задан, то в списках операций приложения показывается его title. Если нет, то берется payee. При смене merchant payee автоматически не меняется, если только клиент не делает это явно.


Связаться с нами
Следите за нами