Conversation
WWWcool
left a comment
There was a problem hiding this comment.
Не понял в какой момент происходит добавление реккурентного токена к карте/кастумеру - это по идее на получение от провайдера должно работать, но кода нет. Тестов мало, нужен тесты на каскад и подтверждением работы
| {genlib, {git, "https://github.com/valitydev/genlib.git", {tag, "v1.1.0"}}}, | ||
| {woody, {git, "https://github.com/valitydev/woody_erlang.git", {tag, "v1.1.1"}}}, | ||
| {damsel, {git, "https://github.com/valitydev/damsel.git", {tag, "v2.2.27"}}}, | ||
| {damsel, {git, "https://github.com/valitydev/damsel.git", {branch, "BG-834/customer_payment"}}}, |
| {ok, Customer} = call(customer_management, 'Create', {#customer_CustomerParams{party_ref = PartyConfigRef}}), | ||
| Customer. |
There was a problem hiding this comment.
ключа идемпотентности нет, в параметрах создания нет привязки, значит если что то пойдет не так - у тебя будет миллиард пустых кастумеров
There was a problem hiding this comment.
Например создание и сразу привязка к платежу? А если платеж не успешен? Я думал чтобы список платежей в кастомере был списком успешных платежей
There was a problem hiding this comment.
это все верно, но после создания может же быть проблема - а можно делать чтобы у тебя в случае если не было кастумера и нужно создать ты мог в рамках транзакции создать, добавить карту и добавить реккурент - при этом проверяя не было ли уже их - чтобы не было дублей?
There was a problem hiding this comment.
Карты и токены добавляются идемпотентно, в этом плане проблем нет
There was a problem hiding this comment.
Идемпотентностью создания самого кастомера (это будет происходить в капи) займется бендер на основе ExternalID
There was a problem hiding this comment.
а этот метод тут тогда нужен?
There was a problem hiding this comment.
Это для тестов, не вижу смысла ради этого метода рожать отдельный модуль
There was a problem hiding this comment.
может коммент тогда докинуть? или в иф деф обернуть ?
| {ok, Customer} = call(customer_management, 'Create', {#customer_CustomerParams{party_ref = PartyConfigRef}}), | ||
| Customer. |
There was a problem hiding this comment.
это все верно, но после создания может же быть проблема - а можно делать чтобы у тебя в случае если не было кастумера и нужно создать ты мог в рамках транзакции создать, добавить карту и добавить реккурент - при этом проверяя не было ли уже их - чтобы не было дублей?
| {ok, Customer} = call(customer_management, 'Create', {#customer_CustomerParams{party_ref = PartyConfigRef}}), | ||
| Customer. |
There was a problem hiding this comment.
а этот метод тут тогда нужен?
| cascade_pipeline_fns(#st{cascade_recurrent_tokens = Tokens, routes = []}) when Tokens =/= undefined -> | ||
| {fun(Ctx) -> Ctx end, fun choose_parent_route/1}; |
There was a problem hiding this comment.
я бы кстати уточнил у бизнеса валидность этого тезиса - может быть с учетом реккурентного каскада нам не нужно сначала на родительский роут идти, а сразу всегда идти по списку учитывая другие критерии?
No description provided.