2024 06 10 18 30 03

Даниил Бояров
10 Jun 202449:11

Summary

TLDRВстреча команды, обсуждение решений проблем с платежами, включая создание тестовых случаев для отмены транзакций и возвратов средств. Рассмотрены варианты автоматизации процесса возврата средств, обсуждение обновления логики хранения транзакционных идентификаторов и статусов. Также затрагивается вопрос о необходимости обновления платформы для поддержки новых функций и обсуждение миграции инфраструктуры на Kubernetes без простоев.

Takeaways

  • 🕒 Встреча началась с опоздания и некоторой заминки в начале.
  • 🔍 Команда обсуждала решение проблемы с отклоненными платежами и создание тестовых случаев для обработки таких ситуаций.
  • 📝 Необходимость внесения изменений в логику хранения и извлечения идентификаторов транзакций для учета отклоненных платежей.
  • 🔧 Разработка требует дополнительного времени для обновления логики и реализации требований.
  • 📧 Планируется отправка уведомлений по электронной почте клиентам в случае проблем с платежами.
  • 🔄 Обсуждение о том, следует ли обновлять базу данных для хранения статуса транзакций, включая не только успешные, но и отклоненные.
  • 🔒 Важность корректной работы с API-соединениями для автоматизации процессов, включая интеграцию с платежными системами и бухгалтерскими программами.
  • 🛠️ Упоминается необходимость внесения 'горячих' исправлений и улучшений в пользовательский опыт после запуска продукта.
  • 📈 Планируется баланс между разработкой новых функций и устранением ошибок для обеспечения высокого качества приложения.
  • 🤔 Обсуждение о том, как обрабатывать частичные возвраты средств и отмены транзакций, которые не поддерживаются на данный момент.
  • 🌐 Говорится о миграции с Docker Swarm на Kubernetes для инфраструктуры производства, с акцентом на необходимости тестирования в новой среде.

Q & A

  • Что является основной проблемой, которую команда пытается решить?

    -Основная проблема, с которой борется команда, заключается в обработке сбоев в платежах и создании тестовых случаев для отмененных транзакций.

  • Какие изменения в логике хранения транзакций предложил участник?

    -Участник предложил обновить логику для хранения идентификаторов транзакций независимо от их статуса, включая и отклоненные транзакции.

  • Что такое 'The Round Up For Everything' и как оно связано с проблемой?

    -'The Round Up For Everything' - это идея, предложенная одним из участников, которая, возможно, связана с обработкой возвратов средств в случае отклоненных транзакций.

  • Какие действия предполагает разработка тестовых случаев для отмененных платежей?

    -Разработка тестовых случаев предполагает запись идентификаторов транзакций и их статусов, таких как 'declined' или 'rejected', для последующей проверки и возврата средств.

  • Какой статус транзакций в настоящее время хранится в базе данных?

    -В базе данных в настоящее время хранится только статус успешных транзакций.

  • Какой вклад в разработку ожидается от участника丹尼尔?

    -Участник丹尼尔 должен внести изменения в логику кода для корректного хранения и получения идентификаторов транзакций, что займет примерно два дня.

  • Как часто проверяется веб-хук для успешных транзакций?

    -Веб-хуки проверяются немедленно после каждой успешной транзакции.

  • Какой срок ожидается для реализации изменений в обработке отмененных платежей?

    -Срок реализации изменений запланирован на конец дня среды.

  • Какие действия предусмотрены для обеспечения качества (UAT) в рамках проекта?

    -Планируется провести дополнительное тестирование и внедрение исправлений для обеспечения качества до запуска проекта.

  • Какие проблемы с доступностью возникли в ходе UAT, и как их решили?

    -В ходе UAT участницаКим遇到了 доступные проблемы, хотя для остальных проблем была найдена корректировка. Она вынуждена была отказаться от доступа, что затрудняет следование за процессом.

  • Что означает аббревиатура 'MVP' в контексте этого разговора?

    -MVP в данном контексте означает 'Минимальный Выпущенный Продукт', то есть базовый продукт с некоторыми основными функциями, который выпускается для получения обратной связи от пользователей.

  • Какие действия предпринимаются для обеспечения непрерывности работы сервиса при миграции на Kubernetes?

    -Для обеспечения непрерывности работы планируется использовать обратный прокси для обеспечения доступности сервиса во время миграции на Kubernetes.

  • Какие интеграции планируется использовать для автоматизации процесса реконструкции транзакций?

    -Планируется использовать интеграцию между платежной системой, программным обеспечением для доступа и учета в Zoho Books для автоматизации процесса реконструкции транзакций.

  • Что такое 'PCI DSS' и как оно упомянуто в контексте разговора?

    -PCI DSS означает 'Payment Card Industry Data Security Standard' - это стандарт безопасности данных, который упоминается в разговоре в контексте требований к хранению и обработке платежной информации.

Outlines

00:00

😀 Вступление и проблема с платежами

В этом параграфе ведущий приветствует аудиторию и объясняет, что они собираются решить проблему с платежами, которые были отклонены. Также говорит о необходимости максимально эффективного использования времени и просит участников немедленно перейти к обсуждению. Важной задачей является создание тестового случая для возврата средств в случае отклонения платежа.

05:05

🔍 Обсуждение предыдущих решений и предложения 'The Round Up For Everything'

В этом параграфе участники обсуждают предыдущие решения, касающиеся хранения идентификаторов транзакций и отправки писем клиентам при ошибках с платежами. Aron предложил 'The Round Up For Everything', что означает решение проблемы возврата средств в случае отклоненных транзакций. Также обсуждается реализация нескольких решений, включая обновление логики для хранения идентификаторов транзакций и обработки отклоненных платежей.

10:05

🛠️ Технические требования и разработка

В этом параграфе обсуждается техническая сторона реализации решения. Участник из разработческой команды сообщает о необходимости обновления логики для корректного хранения и получения идентификаторов транзакций. Также затрагивается вопрос о том, как быстро это может быть разработано и внедрено, а также обсуждается создание тестовых случаев и обработка отклоненных транзакций.

15:06

📅 Сроки и планы по разработке

В этом параграфе обсуждается временная шкала для реализации технических изменений. Участники согласуются на то, что изменения должны быть завершены к концу следующей недели. Также затрагивается тема тестирования и необходимость внесения изменений в работу с поддержкой клиентов и обеспечением доступности данных для тестирования.

20:09

🔄 Обсуждение текущих задач и обновлений

В этом параграфе участники обсуждают текущие задачи, включая обновление продукта, которое не было завершено в ожидаемый срок. Также затрагивается проблема с доступностью UAT и необходимость в добавлении функциональности для справочного центра в рамках платформы Access America.

25:13

🤔 Рассмотрение вопросов о возвратах и реконцилиации

Участники обсуждают процессы возврата и реконцилиации, включая автоматические и ручные методы. Обсуждается, как будут обрабатываться возвраты средств, если платеж был отклонен, и как будет выявляться и решаться несоответствие в отчетах о платежах и заказах.

30:14

💡 Предложения по улучшению и масштабированию

В этом параграфе обсуждается необходимость внедрения API-соединений для автоматизации процессов возврата и реконцилиации. Также затрагивается тема добавления новых функций и улучшений в будущем, с акцентом на обеспечении высокого уровня пользовательского опыта и корректности работы приложения.

35:18

🗓️ Заключение о готовности к выпуску и дальнейших действиях

В заключительном параграфе обсуждается готовность продукта к выпуску и дальнейшие действия по тестированию и уточнению деталей. Также участники обсуждают влияние миграции на инфраструктуру и как это может повлиять на производительность и доступность платформы.

Mindmap

Keywords

💡API

API, или Application Programming Interface, является набором инструкций и протоколов, используемых программами для взаимодействия с веб-сервисами или другими приложениями. В контексте видео, API является ключевым для обеспечения взаимодействия между системой Access America и платформой 40s для обработки транзакций и возвратов.

💡Тестовый случай

Тестовый случай - это специально разработанная последовательность действий, используемых для проверки функциональности системы. В видео, команда обсуждает создание тестовых случаев для обработки отклоненных платежей, что является важным аспектом обеспечения стабильности и надежности платежной системы.

💡Возврат средств

Возврат средств - это процесс возврата денежных средств клиенту в случае отказа транзакции. В видео, проблема возврата средств после отклоненных платежей является основной темой обсуждения, что демонстрирует важность обработки ошибок и обеспечения удовлетворительного опыта пользователя.

💡Отклоненная транзакция

Отклоненная транзакция - это ситуация, когда покупка или платеж не удается завершить по каким-либо причинам. В видео, отклоненные транзакции являются основной проблемой, которую команда пытается решить, обсуждая способы возврата средств и улучшения процесса.

💡Развертывание

Развертывание - это процесс установки и запуска приложения или системы в рабочей среде. В контексте видео, обсуждается готовность инфраструктуры для развертывания продукта, что является ключевым этапом перед запуском в продакшн.

💡Контрольный баланс

Контрольный баланс - это процесс проверки и согласования финансовых данных для обнаружения и устранения нестыковок. В видео, команда обсуждает необходимость автоматизации процесса контроля за балансами, что важно для корректного учета и предотвращения ошибок в финансовой отчетности.

💡Платежная система

Платежная система - это совокупность технологий и процессов, используемых для обработки платежей. В видео, платежная система 40s является центральным компонентом обсуждений, так как она обеспечивает функционирование онлайн-платежей и возвратов.

💡Манипуляции с базами данных

Манипуляции с базами данных включают в себя добавление, изменение, удаление и извлечение данных. В контексте видео, манипуляции с базами данных связаны с обновлением логики хранения и извлечения идентификаторов транзакций для улучшения процесса возврата средств.

💡Контрольная точка

Контрольная точка - это специальное место или условие, на котором система проверяет свое состояние для обнаружения ошибок. В видео, контрольная точка связана с проверкой статуса транзакций и обеспечением корректного взаимодействия с платежной системой.

💡Компоненты QA

QA, или Quality Assurance, обеспечивает контроль качества продукта или процесса. Компоненты QA в видео включают в себя тестирование и отладку функциональности системы, что важно для обнаружения и устранения ошибок перед запуском продукта.

💡Кластер Kubernetes

Кластер Kubernetes - это группа узлов, работающих вместе для развертывания и управления контейнеризированными приложениями. В видео, обсуждается миграция существующей инфраструктуры на Kubernetes для улучшения масштабируемости и надежности.

Highlights

Meeting begins with apologies for being late and an immediate focus on maximizing time.

A summary request for the current problem to solve: handling declined payments and creating a test case for refunds.

Discussion on the importance of capturing transaction IDs and updating the logic for storing them.

The proposal of 'Round Up For Everything' as a solution for refunding declined transactions.

Concerns about the development timeline and the need for quick updates to the logic for transaction IDs.

The plan to update the database to store all transactions, not just successful ones.

A question about the test case for recording database transactions and their statuses.

Ensuring the solution meets all requirements from Forest Pay based on their test cases.

Timeline estimation for the completion of the development, aiming for the end of Wednesday.

A potential issue with storing only approved transactions and the need to change this practice.

The need for hot fixes and improvements to the user experience post-launch.

Discussion on the readiness of the production environment and the migration to Kubernetes.

Concerns about the impact of switching from Docker Swarm to Kubernetes on production stability.

The strategy for a seamless migration to Kubernetes without causing downtime.

The importance of keeping track of transaction reconciliations for accounting purposes.

A debate on the feasibility of implementing partial refunds and their impact on order processing.

The need for a clear communication strategy with customers regarding product availability.

The consideration of post-MVP planning for features like partial refunds and their reconciliation.

Transcripts

play00:00

again everyone

play00:02

hello hello

play00:47

hello hello

play00:50

hello

play00:58

oh for

play01:47

sorry guys I'm couple

play01:49

ofes all right I think we're waiting for

play01:57

try I just messaged him for

play02:57

oh I go back here

play03:05

minut

play03:14

[Applause]

play03:49

hello everyone sorry I'm

play03:51

late hello hey

play03:55

hello all right we don't need to do the

play03:57

purpose uh we did the purpose earlier

play03:59

today and I want to maximize time as

play04:01

much as possible um have did you guys

play04:04

already start talking about things no

play04:08

okay all right so I appreciate you guys

play04:10

staying a little later to help us uh get

play04:13

through this and see what we can get

play04:15

done here um sir can somebody summarize

play04:21

the by the way I've gone intense meeting

play04:24

intense meeting intense meeting so I

play04:25

need a I need a summary just to get me

play04:28

back in the right head space here with

play04:31

you guys what problem are we trying to

play04:33

solve right

play04:39

now anyone want to take

play04:43

it uh okay I can uh go ahead so we try

play04:47

to solve flow with declined payments I

play04:53

suppose and uh make it

play04:56

uh

play04:58

like and create a test case for make uh

play05:05

declined like refund for decline

play05:11

transaction yeah so we we

play05:14

also uh would like to summarize the

play05:18

stuff that we discussed previously on

play05:20

that uh stores a transaction ID uh stor

play05:24

the status of that and send email to the

play05:28

customer uh

play05:30

if something went wrong with his payment

play05:32

however Aron Al told about anything else

play05:37

that would be a good uh experience for

play05:40

e-commerce so Aron can you remind what

play05:43

we are also trying to solve from your

play05:48

perspective uh my uh my proposal is in

play05:52

fact The Round Up For Everything uh so

play05:55

we are trying to solve the problem for

play05:58

refund for a uh decline transactions so

play06:02

where it normally occurs the I mean the

play06:06

purchase uh is failed or like a the

play06:09

transaction is failed but still the

play06:11

money got deducted uh from our customer

play06:14

end point uh so how we can actually give

play06:18

that money back uh from them uh the

play06:20

reconcillation

play06:22

part uh

play06:23

yeah uh how we want to do it like

play06:26

ideally the I propos multiple Solutions

play06:28

one is like a

play06:30

having in a complete degration or else

play06:32

like a sending in a declared transaction

play06:34

to 40s uh 40 pay

play06:39

uh so that like they'll uh they'll

play06:42

actually uh refund money to customer if

play06:45

they deducted uh money they receive

play06:47

money against those

play06:54

transactions all right so what problems

play06:57

do you see Danielle and

play07:01

uh since we know now that we're going to

play07:04

capture these transaction IDs what

play07:07

problems you see in in getting this

play07:09

developed

play07:11

quickly uh so to get this uh you're mute

play07:16

oh

play07:16

yeah yeah sorry uh to get this flow in

play07:21

the way which we require I suppose uh

play07:25

from uh my side I requir to update

play07:28

little bit the logic

play07:30

for correct storing and getting this uh

play07:33

transaction ID cuz I after our previous

play07:37

call go to documentation which which

play07:40

created Olaf and I put in chat just

play07:44

screenshot regarding one uh

play07:47

point that we can

play07:50

U like get transaction ID and store it

play07:54

in database after successful response

play07:57

from 40's app

play08:00

and uh it's way how it work now uh and

play08:04

uh if we want to update for our purposes

play08:08

with this decline transaction I required

play08:11

to make updates to logic suppose around

play08:17

two days from my side for this purpose

play08:20

cuz currently we have uh like flow like

play08:24

uh uh we have a transaction that went

play08:27

through or or a and if it's uh went

play08:31

through and it's successful everything

play08:34

is okay if a transaction doesn't go

play08:36

through uh wec message on to saying why

play08:40

it didn't go

play08:45

through

play08:49

that's what I have for

play08:53

now okay so from the development

play08:56

perspective there are no issues to

play08:58

implement that

play08:59

it just requires like additional time uh

play09:03

to do that so I think we're okay however

play09:07

I'm wondering if for the test

play09:11

case uh after we do this can we just

play09:14

record this database transaction ID and

play09:17

Status rejected like decl or rejected

play09:20

whatever it shows there and uh pass it

play09:23

through to the forest so this would be

play09:26

the result of this test

play09:28

case so uh Daniel uh Daniel one quick

play09:32

question while we are actually

play09:33

discussing it uh as of today we are uh

play09:37

storing irrespec of sorry we are storing

play09:40

only completed or like a approved status

play09:43

successful yeah yeah right right so if

play09:47

we just remove that check while we are

play09:51

actually storing

play09:55

it uh you mean remove status of uh

play09:59

successful or not successful and store

play10:02

everything store yes we need to right

play10:05

yeah yeah yeah yeah yeah that's flow

play10:08

which we will update with this logic

play10:11

because currently we store only

play10:13

successful

play10:15

transaction yeah all we just need to

play10:17

change I don't know like how it's code

play10:20

is written but if there if we are

play10:22

actually writing uh updating database

play10:27

layer based on the status if just remove

play10:29

that status check uh condition that's it

play10:33

right uh yeah and uh I require to make

play10:38

edits in this flow cuz previous this m

play10:41

like code was made by another person and

play10:45

I just

play10:47

okay I'm just I'm just asking I'm just

play10:49

asking and as we discussed we just need

play10:51

to add on a send email but I mean that's

play10:55

a kind of a good to have but I don't

play10:57

know like either we agreed upon that or

play11:00

not I remember but

play11:04

yeah if that is a din stage sorry uh

play11:10

Bine status we just need to send a

play11:12

message to customer saying that your

play11:15

transaction has been

play11:16

declined yeah like it's how we discussed

play11:19

previous on previous

play11:22

call

play11:25

yeah so are we taking action based on

play11:30

initial based on your screenshot here um

play11:34

on the process flow you know are we

play11:37

taking action on the initial response or

play11:42

the web hook response uh on web hook

play11:46

response so we're waiting until the web

play11:48

hook says it was successful yeah right

play11:51

because before we actually complete the

play11:54

order yes it it says that pretty much

play11:58

okay just want to make sure okay

play12:02

good um how often are we checking that

play12:04

web

play12:05

hook uh well I mean or how often does

play12:08

that web hook run yeah I got it I will

play12:11

check I not sure in what

play12:15

time most often it's just immediate but

play12:18

I just want to make sure we're not

play12:20

looking at I think it's multiple delays

play12:23

immediate after like

play12:28

request for

play13:16

yeah it looks like it works after every

play13:19

successful uh

play13:22

transaction

play13:24

okay so we you get immediate responses

play13:28

yes

play13:37

good okay so uh I think uh we are all

play13:41

okay with the solution

play13:44

discussed will that meet all of the

play13:47

requirements that Forest pay has if we

play13:49

do that I mean I know they they ask for

play13:52

a couple things that we just don't

play13:54

do right

play13:56

J yes

play13:59

you're confident that we're get we're

play14:00

getting everything we need with this

play14:02

this is it this is the thing this is the

play14:04

one last thing with Forest pay

play14:08

correct based on their test cases yes

play14:11

this is the one thing that we cannot

play14:14

record previously and if we do this we

play14:16

will record this and send this out to

play14:18

them so we will cover all the test cases

play14:21

that are sent by them and all the points

play14:24

that they will be checking okay and

play14:26

what's the

play14:27

timeline uh I I think around two

play14:33

days so the timeline is end of the day

play14:37

Wednesday right yeah end of the day our

play14:41

time so it will be beginning of

play14:50

yours we can complete the rest of uat

play14:53

before this

play14:55

correct

play14:57

yes how is that going

play15:06

um yeah yeah AR do you want to answer

play15:10

your from your

play15:12

perspective I mean as for the today's

play15:15

status we don't have any major critical

play15:18

books from a

play15:20

QSI we don't see it

play15:23

okay and I haven't recoup I mean regroup

play15:27

with them on end of the day

play15:30

yeah I haven't seen the bo I have to see

play15:33

the bo as

play15:35

well

play15:37

okay did you say

play15:41

board you you see the board is that what

play15:44

you

play15:45

said the devop devop board oh the devop

play15:49

board got it

play15:51

yes well you've got um yeah that's fine

play15:57

I was just thinking of the

play16:02

I know we got some new new tools in the

play16:05

in the pipeline here too so I wasn't

play16:07

sure what what we're talking about as

play16:10

far as boards but okay um so

play16:15

Jim anything else that you can think of

play16:18

from and how's uat going with Access

play16:21

America from the US

play16:26

participants they've been on there going

play16:28

back and forth

play16:29

uh I know Kim has had some problems

play16:31

getting in from one of her

play16:33

emails uh even though you fixed it for

play16:35

everybody else it wasn't fixed for it

play16:37

didn't seem to fix for her I've still

play16:39

had horrible times getting into uat but

play16:43

I've kind of given up on that which

play16:45

makes it hard to follow the orderflow we

play16:47

still need to add back in

play16:49

the piece that we had there originally

play16:53

uh for the help

play16:55

desk so I think that was taken down uh

play17:01

so

play17:12

frustrated add back the piece oh for the

play17:15

help desk within the axis America

play17:18

platform is that what you're talking

play17:20

about yeah the actual help

play17:22

piece the pages that we're put there all

play17:26

it is is content for us right from from

play17:29

the business side it's just

play17:31

content and whether

play17:33

whether whether that content was going

play17:36

to exist in foris pay or it's just going

play17:38

to go into

play17:40

rcms static Pages whatever we're doing I

play17:44

can't I would love to say CMS and know

play17:47

it was there but whatever I'm not GNA

play17:49

argue the point I just we're just giving

play17:52

them data and the same data needed to be

play17:55

created anyway no matter where it was

play17:57

going so so what's that status the help

play18:01

stuff uh Kim and Mayo just went through

play18:05

it they're they're

play18:09

um they're making revisions to it based

play18:13

on you know the site which is one of the

play18:16

reasons why they need to understand the

play18:19

site so we just went we just had a

play18:20

meeting about that

play18:24

um yeah that's about it

play18:40

okay

play18:41

um anything else anybody anybody need

play18:45

anything else to feel comfortable that

play18:47

we are moving in the right direction

play18:50

getting everything done that needs to be

play18:52

done I have a question regarding product

play18:55

test today in the morning we didn't see

play18:57

this um products that were expected to

play19:01

be done on Saturday if I'm not

play19:04

mistaken

play19:08

uh so do you have any update on

play19:15

that product

play19:20

no got it okay and

play19:23

any timeline for that no

play19:34

okay I don't have any other questions so

play19:38

uh na uh I remember like uh there's a

play19:43

variant uh variations related uh issues

play19:47

right right I I know like these are the

play19:50

open bugs from Friday right uh what we

play19:53

are

play19:54

planning well it was um

play20:06

Daniel I believe because you are very

play20:08

busy today you did not upload it to U

play20:10

right I didn't see any message or uh

play20:13

yeah uh let me check

play20:15

uh uh regarding Victoria's messages uh I

play20:20

can update on this uh that you could

play20:24

probably not receive the updates from

play20:26

Victoria yet because she had a power out

play20:28

page so she will complete it today

play20:30

anyway but just a little bit late okay

play20:33

so this so this answer it um yeah so the

play20:36

answer is that it was supposed to end

play20:39

the development was about to end this

play20:41

morning and we were about to publish it

play20:43

to QA for

play20:45

testing at around at around noon but you

play20:49

the what just Yulia said that we have

play20:52

some uh technical issues that will be

play20:55

that we will be solved tomorrow and you

play20:57

will have this release and you have this

play20:59

feature ready to be tested in uat

play21:03

tomorrow I believe in the first half of

play21:06

the day yeah so by the way like TR what

play21:09

we are going to do with our

play21:15

reconsiderations with the cancellation

play21:17

as we said um it's also part wait the

play21:21

cancellation is okay I meant

play21:25

this wait I'm yeah

play21:29

considering all the scenarios of

play21:31

reconciliations not just happy

play21:36

cases can you repeat your question again

play21:39

please so the current use case of

play21:42

another

play21:48

reconcilation not I'm not sure following

play21:50

you

play21:52

sorry so declined refunds any other any

play21:57

other refunds

play21:59

which is missed from a 40 side those

play22:03

kind of a reconation how we are going to

play22:05

handle it are we going to handle it on a

play22:08

manual basis if on a manual basis how

play22:13

long uh because if order started flowing

play22:17

in or are we able to scale

play22:22

it well now what we did is not manual

play22:25

it's automatic so I don't see any reason

play22:28

why it's so it's scal I don't I don't

play22:31

I'm not sure I understand the question

play22:32

again because it's scalable and every

play22:35

time you do a

play22:36

cancel you will be not cancellations

play22:46

reconciling Rec

play22:48

caner

play22:50

reconciliation

play22:54

reconciliation okay

play23:20

yeah so

play23:23

it's I just read Because I had somebody

play23:27

come to the door I just read the uh what

play23:29

you were saying you were

play23:31

asking how we're going to handle

play23:34

reconciliations right now and it's a

play23:36

it's a manual process so we're getting

play23:39

daily reports and each day um Finance is

play23:45

going to go through those reports make

play23:47

sure they align with our

play23:52

um so we had a report from our

play23:57

deposits that Forest pay gives us and

play23:59

then we get a report from our uh orders

play24:04

on the access America side and they

play24:06

should align if they do not align then

play24:09

we're going to be looking

play24:11

for uh to reconcile any any differences

play24:16

and that includes triggering either

play24:19

refunds or whatever needs to happen on

play24:23

the side of of uh Forest pay is that

play24:27

your understanding

play24:29

Jim uh yes that's exactly my

play24:32

understanding okay so we'll be doing

play24:36

that until we

play24:38

can um get the API connections between

play24:42

the payment

play24:44

processor and access America and

play24:49

our

play24:51

um Zoho books for bookkeeping software

play24:55

which then should allow us to uh MCH

play24:59

transactions in a pretty automated

play25:02

way Jo books does have an does not have

play25:06

an integration for Forest pay but they

play25:08

do have an open API

play25:12

that has detailed

play25:16

documentation

play25:19

right so yeah so we're going to put all

play25:23

three of those systems together take the

play25:25

report report from this and the report

play25:28

from that and reconcile them in an

play25:31

fairly automated way um somebody else is

play25:35

going to have to keep eyes on that every

play25:37

time there's a

play25:39

difference they're going to have to call

play25:42

that

play25:42

out so right now that's Kim who's going

play25:45

to handle that and

play25:47

then we're going to be seeking an

play25:50

additional hire

play25:53

soon to help her because there hopefully

play25:56

there will be a lot of transactions and

play25:58

she won't be able to keep up with it

play26:00

that would be great

play26:03

right if she can do transaction

play26:06

reconciliation in three minutes or less

play26:08

we're in a lot of

play26:13

trouble all right I don't think that's

play26:15

going to be the case but uh a I lean on

play26:20

you with the e-commerce experience that

play26:22

you have if if we're missing something

play26:24

we're not thinking about something

play26:25

please let us know

play26:31

yeah no it's not always ideal when

play26:34

people hear manual but here we are we'll

play26:37

get it done and we'll uh and denelle you

play26:41

can count on some of the next stuff

play26:43

we're going to want to do first off once

play26:46

we launch that you should know

play26:49

that we need people available for hot

play26:53

fixes for working on any issues that

play26:57

come up it it's going to be very

play26:59

critical because it's going to be

play27:00

customer facing any issues we have I

play27:04

think understand and then and then uh

play27:08

these other things that are going to

play27:12

improve our efficiency are going to

play27:16

be very high on the list of things to

play27:20

work on next so we're going to have hot

play27:22

fixes priorities hot fixes that new

play27:26

features uh efficiencies new

play27:31

features I don't want to be I know that

play27:35

ideally we want to get to a place where

play27:36

we're doing sprints every two weeks

play27:39

based you know new new features and

play27:41

capabilities and all of that but I want

play27:43

to make sure that we're reserving enough

play27:45

development

play27:46

time and or higher so that we can

play27:50

reserve enough de development time that

play27:54

we are giving lots of attention to bugs

play27:59

and uh user experience improvements not

play28:04

just Feature Feature Feature that it

play28:08

should really

play28:10

be a well-tuned

play28:15

um application that we're going after as

play28:19

well

play28:21

as giving customers more features that

play28:24

make make their buying

play28:26

experience better that make their

play28:28

customer service experience

play28:31

better

play28:33

um why do I say it say it because I see

play28:36

so many companies that they're willing

play28:39

to just put up with so many bugs I mean

play28:42

stuff that they've known is WR is wrong

play28:44

for months or years even and they just

play28:47

won't fix them because it's not new

play28:50

feature or their team is overwhelmed or

play28:54

whatever their case is I just want to

play28:56

make sure we're not doing that if we can

play28:57

help it at all um and and that speaks to

play29:02

the size of the team as well as how

play29:07

we deal with

play29:12

velocity any

play29:14

questions no questions from side I don't

play29:17

want to waste your guys's time talking

play29:18

about future I want to talk about now

play29:21

what are we going to get done um you're

play29:24

saying two

play29:25

days so like this time in this time in

play29:28

two days say noon in two days this will

play29:31

be up and running and we'll be video

play29:33

will be on it way yeah but also

play29:37

regarding another test case probably

play29:39

it's better to push to 40s another test

play29:42

cases now CU if there are anys in

play29:45

another test cases or any like for

play29:49

example if 4 is required to uh record a

play29:53

new one video of any uh test case we

play29:56

will have more time time for doing this

play29:59

until for example we wait now 2 days and

play30:02

then we will

play30:04

push uh all um cases cuz as I think

play30:10

probably better to push it today and uh

play30:14

we will get a partly result on it and we

play30:17

will

play30:19

have more updates from 40 site uh soon

play30:24

until we will wait for so I'm going to

play30:27

I'm going to C consider that but what

play30:29

what

play30:32

I'm what is more important to me sorry

play30:35

some some something just going on in the

play30:38

background there

play30:41

um what's more important to me than

play30:44

getting it out immediately and getting

play30:47

some feedback is that we give them a

play30:49

complete set of what they ask

play30:52

for first and then if there's problems

play30:54

we deal with those problems but I don't

play30:58

want to say to

play31:00

them you know oh we're we're continuing

play31:03

to develop this or continuing to work on

play31:05

that I don't want them to feel like

play31:08

they've got days

play31:10

because we're continuing to work I want

play31:13

Jim to be able to say on noon on the

play31:17

12th him to be able to call call for us

play31:20

and say you got it now when when can we

play31:23

expect it to to be approved when will we

play31:25

get approved when will we get approved

play31:28

and be on them but the only way we can

play31:31

be on them is if we give them complete

play31:33

data the first time around that's my

play31:34

feeling Jim do you have an opinion on

play31:38

this uh I've thought about it both ways

play31:41

I don't know I

play31:45

mean it does make us seem amateurish if

play31:49

we go to them with less than that and

play31:52

say we're still working on stuff but

play31:55

they may also you know there's stuff

play31:57

that

play31:58

that I missed on the PCI DSS about you

play32:02

know having to

play32:04

keep you know full transactions of

play32:07

everything that's a fail transactions so

play32:09

I don't know if there's something else

play32:11

they're going to Port point out I mean

play32:13

there are the in the area where they act

play32:17

asked for direct Integrations the

play32:19

refunds the

play32:20

voids we said we couldn't do refunds on

play32:23

previous transaction IDs because we

play32:26

didn't have that on access we also said

play32:28

for partial refunds we're not doing that

play32:30

on access so there are things that we're

play32:32

going to we're not giving them

play32:34

everything but we are saying hey there's

play32:36

some functionality we don't

play32:38

have so do we tell them that we're

play32:41

adding this functionality right now and

play32:44

go ahead and try and approve the rest uh

play32:47

so what what I

play32:49

would oh are are you you're is that

play32:55

rhetorical no oh

play32:58

okay B says that there's no such thing

play33:01

as a rhetorical question that I feel

play33:03

like I have to answer every question

play33:05

asked of me so I just wanted to make

play33:09

sure

play33:11

so

play33:15

um I think that it's worth a phone call

play33:18

to them to say here's where we're at in

play33:21

the

play33:22

status of getting you this there's these

play33:26

two situations that have come up that we

play33:28

need clarification

play33:30

on

play33:32

um and that is voids and partial

play33:37

refunds

play33:40

um I'm kind of guessing they're thinking

play33:42

partial refunds in case there was an

play33:44

overcharge of some

play33:50

type but I can't think of any use case

play33:55

that we have and if all of those things

play33:58

are working properly but what happens if

play34:00

they don't work properly the only reason

play34:02

I thought of that is because of we

play34:05

mentioned

play34:06

today this weird use case that I still

play34:08

don't understand

play34:10

fully and now I'm

play34:13

going maybe there's things happening

play34:15

that I don't

play34:19

understand so is it worth having a

play34:21

discussion with them to say we have no

play34:24

you know correct as if we're wrong but

play34:27

we have no

play34:28

reason to provide a void

play34:32

or a partial refund so we're either

play34:34

doing full refunds or not at

play34:41

all the other thing that might be worth

play34:43

checking out as I think about it and I

play34:46

don't want to spend too much time

play34:47

thinking out loud with everybody on the

play34:49

call and I do need to get to fabiio also

play34:52

and ask him uh about production

play34:54

environment and its readiness

play34:58

um

play35:00

but

play35:03

uh oh yeah yeah

play35:08

so partial

play35:11

refunds is there a way for us

play35:17

to within Forest pay if

play35:24

somebody they they bought a product

play35:32

and then there was something wrong with

play35:35

the

play35:36

price do we give them a full refund and

play35:38

then recharge them again and do we have

play35:41

a way of charging that without it

play35:43

causing an

play35:45

order um and this is probably on your

play35:48

side Jim in the because I think it's

play35:50

going to be a manual process it's not

play35:52

going to be automated on on access side

play35:55

at all yeah also if somebody receiv

play35:58

received they damaged good and but they

play36:01

were like well it's damaged but you know

play36:04

it's still

play36:05

usable sometimes client sometimes

play36:08

they'll give them a partial

play36:10

refund or a store credit or something

play36:13

like that um they could have also gotten

play36:16

the incorrect

play36:18

item and they like oh I wanted the 12in

play36:23

statue and I got the 6in statue so it's

play36:27

the wrong price so that could be a

play36:29

partial

play36:32

refund yeah so well maybe not ideal they

play36:36

have to return the product that's

play36:37

damaged they have to return the product

play36:40

that's not the right product and they

play36:42

can order the new

play36:46

product I'm not I don't we don't have to

play36:50

do that other thing like partial refunds

play36:53

and all that other in fact from a from a

play36:56

business perspective is dangerous

play36:59

partial refunds can be avoided there by

play37:02

returning the product but what if like a

play37:05

customer ordered you know product and

play37:09

for say like we have an inventory of two

play37:12

products but when we are went ahead and

play37:14

Tred to pack it only one product is

play37:17

actually usable either we need to cancel

play37:19

the complete complete order or like we

play37:22

we have to go a partial ORD partial

play37:24

refund if if we connect to the customer

play37:27

and say that hey I'm okay with a single

play37:29

item and probably like we might need to

play37:32

ship that item and like give the

play37:35

remaining partial orders I mean like

play37:39

that

play37:41

yeah there will be other cases as well

play37:44

like a you know per say like in a

play37:47

variant how per say like I ordered a

play37:51

black cap uh but uh I you have a gray

play37:55

cap the price difference is like a 2

play37:59

but customer still okay with a greater

play38:01

all right I'm just giving an example

play38:04

right so I'm just thinking can we can we

play38:07

run those manually and it you know in

play38:10

the background are we able to do that so

play38:14

when I say you you can do it manually

play38:17

but how do you tag those transactions

play38:20

with a order because end of the day your

play38:24

entire

play38:25

accounting right will be mapped to that

play38:30

until and unless you have an way

play38:33

to you know every transaction should be

play38:36

mapped with order if until and unless

play38:39

you have that way it's not really

play38:44

possible see TR like you know these are

play38:49

I know like probably like hey we want to

play38:51

have all these things but on a day one I

play38:54

never see any of on e-commerce companies

play38:56

have this even on even on Amazon level

play38:59

they launch a new articles right Prime

play39:03

now and fresh they don't have this

play39:05

things on a day one and we can still uh

play39:09

communicate to our customers say that

play39:10

like hey we regret to inform that like

play39:12

this product is not there why don't you

play39:14

we'll we'll actually like uh cancel it

play39:17

please go back and uh you know uh Place

play39:21

another order but if at least like if we

play39:24

have another channel to communicate to

play39:25

them say this say that like hey this is

play39:28

the thing people will be happy but if

play39:30

you want to build all those things on a

play39:32

day one trust me it's a next to

play39:34

Impossible because there's in ecommer so

play39:37

as I mentioned earlier right like we

play39:39

have a thousand use cases in a

play39:41

e-commerce and we and none of the

play39:44

e-commerce companies are fully

play39:46

implemented what they want to do it to

play39:48

satisfy the customers well so I'm I'm

play39:51

happy with what you're saying because I

play39:54

was G just I was literally just about to

play39:56

ask is it something we can do Post MVP

play40:00

because I think we have to if if we can

play40:03

and so um but the only reason I bring it

play40:07

up at all is because we're about to go

play40:09

back to them and say we have no ability

play40:11

to give a

play40:14

partial I mean we can unless unless we s

play40:17

unless we take a video of us doing it in

play40:20

the platform Jim like yeah we're gonna

play40:23

do it in the platform this is how we

play40:25

would do it in the platform

play40:28

I don't know but that's something that I

play40:31

think you should ask them is like is it

play40:33

okay can we and is it okay if we do it

play40:35

in the platform partial return but and

play40:39

you should be able to put in the notes I

play40:42

I haven't se I haven't seen the platform

play40:45

in a while but you should be able

play40:49

to track it to an order well it has a

play40:52

transaction ID and if you're

play40:54

giving you know part part of the money

play40:57

back to and it's related to a

play40:59

transaction ID we have to have a way of

play41:02

distinguishing the line item that it's

play41:04

being applied to

play41:06

right

play41:09

yes so if you think about it kind of

play41:11

like an

play41:13

invoice the different line items you

play41:15

know line item three or this product ID

play41:18

or whatever it is we just have to be

play41:21

able to track it to the exact item

play41:24

that's been refunded or reason it's been

play41:27

find it whatever because I you're right

play41:29

Aron that that part of the order is

play41:33

damaged part of the order doesn't show

play41:35

up part of the

play41:37

order was a wrong product whatever that

play41:41

that's going to

play41:43

happen and I wasn't thinking about that

play41:45

use case because it doesn't happen to me

play41:48

often because I order one thing at a

play41:50

time a thousand times a day I'm

play41:54

kidding that's that's my family not me

play41:56

all and partial by the way like if you

play41:59

want to implement a partial refunds now

play42:01

you need to regenerate an invoice and we

play42:04

need to look at like a when we are

play42:05

actually generating an invoice you need

play42:07

to updated invoice and back old invoices

play42:11

everything in

play42:14

place so there not a one thing you want

play42:18

to do it now because it end up you

play42:23

actually opening

play42:25

[Music]

play42:30

it's not it's not a right time to open

play42:33

that box

play42:34

now agreed I think we we're going to

play42:37

need to

play42:38

brainstorm a bit on the business side

play42:42

pretty much

play42:44

now what that looks like to make sure

play42:49

that we have records that fully

play42:52

reconcile across all

play42:56

systems so I understand the financials

play42:59

that's easy enough but what happens when

play43:02

you start doing

play43:04

refunds and they were you know in the

play43:07

last month not this month which may be

play43:09

the last quarter which may be the last

play43:11

year if it was done you know on January

play43:16

2nd the refund was done on January 2nd

play43:18

the order was made on December

play43:20

15 and it's end a year

play43:23

close what does that do how do we do

play43:26

that Kim may know these answers right

play43:30

she's been in the retail side of things

play43:33

forever she may know those answers

play43:36

immediately I do

play43:41

not all right we'll have to brainstorm

play43:43

those later

play43:46

Fabio welcome to the

play43:49

call yep I'm here we we hold a product

play43:54

meeting pretty much every day

play43:57

um we have product meeting

play44:01

for typically it was it's m Monday and

play44:05

Wednesday for both access America and

play44:07

Battery careers pre-launch for Access

play44:10

America we're doing one every

play44:13

day um so going forward I would like you

play44:17

in that meeting you'll get an invite for

play44:19

going forward this meeting at this time

play44:22

is an unusual one it was because we used

play44:25

all of our time in our early meeting

play44:28

talking about what we were just wrapping

play44:31

up there but what

play44:35

what I need to know from you and the

play44:39

team needs to know from you is whether

play44:41

we're ready from a

play44:45

production infrastructure and deployment

play44:49

perspective are we ready and if not what

play44:52

do you need to get

play44:55

ready yeah it is all ready and you know

play44:59

the takos architecture is uh fully

play45:02

tested on De and uat and I figured out

play45:06

all the things happened before so uh I'm

play45:10

sure the takam is table for

play45:16

production okay and uh the messages that

play45:20

I received from you earlier

play45:22

today oh it is for kubernetes

play45:27

yes I understand but we're going we're

play45:30

going to deploy two kubernetes for

play45:35

production yeah and

play45:40

then uh I think we need more time to

play45:44

test on the kubernetes environment

play45:46

because uh we didn't uh any QA on the

play45:50

kubernetes server so all right uh you

play45:55

know what I just forgot something I'm

play45:56

sorry Fabio I I sorry for cutting you

play45:59

off and sorry because I forgot that we

play46:02

do have a full doctor

play46:04

swarm cluster right now three neres

play46:09

right

play46:12

right

play46:14

okay I I'm thinking before I say

play46:17

something

play46:18

stupid so give me a minute because I got

play46:21

a lot of stupid things to say right

play46:23

now I don't want to say I don't need to

play46:26

say

play46:35

say if

play46:38

we deploy or if we maintain the docker

play46:42

swarm

play46:43

cluster and then we want to switch to

play46:47

the kubernetes

play46:48

cluster what downtime would that cause

play46:57

and you

play46:59

know uh the migration to the kubernetes

play47:03

uh affect only the backend side you know

play47:06

the front end is deployed on cloud flare

play47:09

and the back end is deployed on tacos

play47:12

now but we are going to migrate into

play47:16

kues

play47:24

so a

play47:31

uh the steps like this so first deploy

play47:36

the

play47:38

uh Access America production project on

play47:42

the kubernetes with another uh backand

play47:46

API so you know the API gway access Ms R

play47:51

is using for uh de environment so we can

play47:56

uh deployed the access America backend

play47:59

on the kubernetes with using other URL

play48:03

like API Gateway uh K cage XS MSS and

play48:09

then uh once the kubet is is stable and

play48:14

uh all the database is migrated the

play48:17

kubernetes and then we can change the

play48:19

url on the cloud FL in that way we don't

play48:24

have any uh down on on the

play48:28

subers give it another

play48:32

way put a reverse proxy in front of both

play48:38

clusters and deploy both deploy services

play48:41

to both

play48:45

clusters and then and then when the

play48:49

migration is complete it's seamless

play48:54

fail don't we have a load balance

play48:57

sort of a thing yeah that's what I'm

play48:59

talking about putting a load there's a

play49:01

load balancer in front of each cluster

play49:03

but there's not one in front of both

play49:06

clusters yeah makes

play49:08

sense and then we can

Rate This

5.0 / 5 (0 votes)

Связанные теги
техническая поддержкаплатежные системырешение проблемоптимизациятестированиеAPIразработкаклиентыобучениекоммуникация