eEngineSoftwareHouse / perseids-api

API for Perseids.IO
0 stars 0 forks source link

[T&M] Integracja z bramką płatniczą ING Banku Śląskiego - API #217

Closed eengine-sync closed 6 years ago

eengine-sync commented 6 years ago

W ramach zadania należy przeprowadzić analizę czasochłonności i oszacować skalę trudności integracji sklepu z bramką płatniczą ING Banku Śląskiego. Po akceptacji wyceny, drugim etapem zadania będzie wdrożenie integracji.

Informacje udostępnione przez ING:

Wtyczka:

  1. magento2.zip

Dokumentacja:

  1. https://data.imoje.pl/docs/api-transaction.pdf
  2. https://data.imoje.pl/docs/api-paywall.pdf

Środowisko testowe:

  1. https://sandbox.imoje.ingbank.pl/

Wsparcie wdrożeniowe:

  1. kontakt.tech@imoje.pl
  1. https://trello.com/c/kANz3rHa

┆Attachments: magento2.zip

eengine-sync commented 6 years ago

➤ Kamil Kruk commented:

@rrozniakowski Proszę o analizę integracji opisanej powyżej. W komentarzu zwrotnym proszę o informację jak bardzo czasochłonny jest ten task i jakie widzisz w nim trudności / zagrożenia.

eengine-sync commented 6 years ago

➤ Rafał Roźniakowski commented:

@morawiakadrian https://data.imoje.pl/docs/api-transaction.pdf punkt 5.2 Jaka metoda transakcji nas interesuje ?

eengine-sync commented 6 years ago

➤ Morawiak Adrian commented:

@rrozniakowski Wszystkie. Będzie to nowa bramka alternatywna dla PayU zatem całość usług. Mają ponoć wtyczkę do magento

eengine-sync commented 6 years ago

➤ Rafał Roźniakowski commented:

@kamilkruk2 @morawiakadrian API - 20h FRONT - 10h

eengine-sync commented 6 years ago

➤ Morawiak Adrian commented:

@rrozniakowski @kamilkruk2 Bardzo dużo. Czemu tyle? Nie można skorzystać z gotowej wtyczki?

eengine-sync commented 6 years ago

➤ Anna Walaszek commented:

@card deadline 10 września

eengine-sync commented 6 years ago

➤ Rafał Roźniakowski commented:

https://github.com/eEngineSoftwareHouse/perseids-api/pull/216 @fizol poproszę o CR.

@kamilkruk2 @kamilpytel po wrzutce na betę ->

  1. Magento : Dodanie Paymentu
    {
    "price_formatted" : "0,00zł",
    "code" : "ing",
    "source_id" : "ing-pre" (weryfikacja płatności w api, source_id musi być własnie takie),
    "name" : "PayWall", (nazwa wyświetlana na froncie)
    "price" : 0.0,
    "pay_type" : "pre"
    }
  2. Należy zalogować się na konto sandboxowe (Dane będą na slacku mm), oraz podmienić Adres notyfikacji: link_do_bety/api/v1/ing_notify.

Sprawdzić tworzenie zamówień dla różnych języków klienta detalicznego. Sprawdzić czy każdy status jest obsługiwany przez aplikacje (Completed, rejected etc). Sprawdzić czy Importer prawidłowo zabiera zamówienia do Magento.

Przy stwierdzeniu poprawności działania integracji i wrzutce na produkcje należy podmienić dane z .env na produkcyjne i wykonać polecenia 1 oraz 2.

eengine-sync commented 6 years ago

➤ Kamil Kruk commented:

@card Zmiany zaakceptowane przez Pawła.

@kamilpytel Proszę o aktualizację bety.

eengine-sync commented 6 years ago

➤ Kamil Pytel commented:

@kamilkruk2 Zmiany na becie

eengine-sync commented 6 years ago

➤ Kamil Pytel commented:

@kamilkruk2 To zadanie łączy się z drugim w którym napisałem komentarz. Dopinam tutaj Ciebie, a siebie odpinam.

eengine-sync commented 6 years ago

➤ Kamil Pytel commented:

@jacekkwasniewski3 Zmiana na produkcji

eengine-sync commented 6 years ago

➤ Kamil Kruk commented:

@rrozniakowski Jaki mamy status prac nad tym zadaniem?

eengine-sync commented 6 years ago

➤ Rafał Roźniakowski commented:

@kamilkruk2 @morawiakadrian

Jestem w ciągłej rozmowie mailowej z ING. Okazało się że Twisto potrzebuje biblioteki javascriptowej na froncie, by wygenerować klucz do transakcji Twisto. Powoduje to wyniesienie części logiki na FRONT ManyMornings. W chwili obecnej wysyłam im strukturę, lecz dostaję odpowiedź "Please contact support for more details", więc niestety mam związane ręce i czekam na odpowiedz od ich supportu. Przy realizacji tego zadania bardzo przeszkadzają okrojone komunikaty o błędach, informowanie się drogą mailową o problemach etc. Dlatego też wycena została przekroczona, ponieważ, nie jestem w stanie samodzielnie namierzyć błędów tylko muszę się komunikować z ING w razie napotkanych problemów. Dokumentacja jest napisana dla języka PHP, a backend naszej aplikacji w języku Elixir, przez co metody przez nich podane musiały zostać napisane przeze mnie od zera, gdyż Elixir ich nie posiadał lub występowały w innej postaci (szukanie odpowiednich metod też zajęło czas).

Podsumowując: Jestem na etapie wysyłania informacji o zamowienia do Twisto, lecz z powodu okrojonych komunikatów, nie jestem w stanie stwierdzić, gdzie robię błąd i czekam na odpowiedz ich supportu. Jeżeli uda się zrealizować ten krok następnym będzie generowanie płatności, które powinno pójść sprawniej, lecz z tego co wyczytałem z ich dokumentacji, jest jeszcze krok dodatkowej weryfikacji.

W chwili obecnej ciężko jest mi stwierdzić ile jeszcze zajmie to zadanie z powodu, że nie jest to tylko zależne od mojej pracy, ale i komunikacji mailowej z ING.

eengine-sync commented 6 years ago

➤ Rafał Roźniakowski commented:

@morawiakadrian Jutro tj. 27.09.2018r. (czwartek) mamy w firmie szkolenie wewnętrzne, więc nie będę zajmował się integracją. Stan na dziś dzień to generujące się zamówienie z płatnością Twisto. Do ogrania są zniżki (Twisto samodzielnie liczy total_price z ceny poszczególnych produktów * ilość) oraz przypadki gdy Twisto nie akceptuje płatności. Zadanie będę realizował w piątek :].

eengine-sync commented 6 years ago

➤ Morawiak Adrian commented:

@rrozniakowski dzięki za info :)

eengine-sync commented 6 years ago

➤ Morawiak Adrian commented:

@rrozniakowski @kamilkruk2 Skontaktuje sie zatem z nimi. NIe jest to naszą winą i nie chcmey już inwestować dalej w ta bramkę - rozwiązanie Twisto nie jest skeirowane do naszej grupy. Zatem jeśli dosatniesz wytyczne w pełni od nich, ze bez problemu będzie można to zintegorwać to wrócimy do tematu.

eengine-sync commented 6 years ago

➤ Rafał Roźniakowski commented:

@morawiakadrian udalo mi sie ogarnac znizki, sa do przetestowania. Zostal tylko jeden status do ogrania ( o ile bedzie wymagany, napisze do nich maila w pozniejszej godzinie kiedy wystepuje ten status), wiec mysle ze do piatku mozemy sie wstrzymac z ocena sytuacji zwlaszcza ze feature jest ukonczony w 80%

eengine-sync commented 6 years ago

➤ Rafał Roźniakowski commented:

@morawiakadrian czy mam kontynuować pracę ? Po komunikacji z ING status ten jest obsługiwany na bramce, więc jesteśmy na ostatniej prostej. :]

eengine-sync commented 6 years ago

➤ Morawiak Adrian commented:

@rrozniakowski Robimy :)

eengine-sync commented 6 years ago

➤ Rafał Roźniakowski commented:

https://github.com/eEngineSoftwareHouse/many-mornings/pull/510/ @krzysztofosuch2 poproszę o CR.

eengine-sync commented 6 years ago

➤ Rafał Roźniakowski commented:

https://github.com/eEngineSoftwareHouse/perseids-api/pull/219 @fizol poproszę o CR

eengine-sync commented 6 years ago

➤ Rafał Roźniakowski commented:

@kamilkruk2 @kamilpytel Po zaakceptowaniu PR'ów i wrzutce na BETĘ należy UZUPEŁNIĆ I ZAKTUALIZOWAĆ w .env i możemy testować Twisto. Domena bety jest dodana do akceptowanych przez Twisto więc będziemy mogli zbadać temat czy wszystko jest git :]

PRODUKCJA BACKENDING_TWISTO_PUBLIC_KEY=live_pk_r91li4kdh2441qseg25hfbtuz9rjpejgmvxb33sa3b5fc8bz1c ING_TWISTO_SECRET_KEY=live_sk_f837b9cc5f59c5d68032dd9011b464bf724d7d155b0de6c40eb9d383c7de53a9 ING_CLIENT_ID=dgvtu8q4we2pz6rogxzn ING_SERVICE_ID=c5083bda-dc2a-41e9-b8ca-994769e645aa ING_SERVICE_KEY=x3Jl4Qv2S0KoApfb2sKw-wqX4L_ajE2eGGXn ING_API_URL=https://paywall.imoje.pl/PRODUKCJA FRONTREACT_APP_ING_TWISTO_PUBLIC_KEY=live_pk_r91li4kdh2441qseg25hfbtuz9rjpejgmvxb33sa3b5fc8bz1cTestowe są w samplowych envach :]

eengine-sync commented 6 years ago

➤ Pawel Walaszek commented:

@rrozniakowski Nie umiem tego za bardzo zaopiniować (przykro mi), jedyne co mogę zrobić to klepnąć Approved...

eengine-sync commented 6 years ago

➤ Jacek Kwasniewski commented:

@kamilpytel Bardzo proszę o wrzutkę na betę - po zrobieniu wrzutki prosze o uzupełnienie .env zgodnie z informacją od Rafała (testowymi danymi) https://trello.com/c/239UDLNp/1139-issue-217-tm-integracja-z-bramk%C4%85-p%C5%82atnicz%C4%85-ing-banku-%C5%9Bl%C4%85skiego-api#comment-5bae048a38a7b10c760121b9

eengine-sync commented 6 years ago

➤ Kamil Pytel commented:

@jacekkwasniewski3 Zmiana na becie.

eengine-sync commented 6 years ago

➤ Jacek Kwasniewski commented:

@kamilpytel Beta działa sprawnie, proszę o wrzutkę na produkcję jutro z samego rana, abym mógł ją przetestować :)

Edit: Wrzucamy na produkcję z produkcyjnymi danymi

eengine-sync commented 6 years ago

➤ Kamil Pytel commented:

@jacekkwasniewski3 Wrzucone na produkcję

eengine-sync commented 6 years ago

➤ Jacek Kwasniewski commented:

Po konsultacji z ING - zmodyfikowaliśmy dane o kliencie wysyłane do Twisto wg ich wytycznych, wrzucamy i testujemy zmianę na Becie. Potencjalnie rozwiąże nam to problem wysyłania kodów potwierdzających zakup do Piotrka.

cc @morawiakadrian @maciejbutkowski1

eengine-sync commented 6 years ago

➤ Jacek Kwasniewski commented:

Kwestie Twisto wyprostowane, jutro rano ostatecznie zmiany wejdą na produkcję (będzie potrzebna kolejna 5minutowa przerwa w działaniu frontu).

Największa bolączka tego wdrożenia to efektywność komunikacji na linii my - ING - Twisto - aby sprawdzić, czy coś jest nie tak po stronie Twisto, musiałem kontaktować się z Twisto poprzez dział techniczny ING.

Kolejny problem to testy - przy testowaniu zachowania bramki na produkcji, po wykryciu przez Twisto najmniejszej nieprawidłowości w przesłanych danych, dostawaliśmy bana w ich systemie, co z kolei znowu wiązało się z kontaktem z ING, które musiało poprosić Twisto o reset naszych danych, abym mógł przesłać kolejne testowe zamówienie.

O nieprecyzyjnej dokumentacji i dogrywaniu kwestii technicznych poprzez maile i telefon nie wspomnę, bo to niestety coraz częściej smutna rzeczywistość takich integracji. :)

@morawiakadrian @maciejbutkowski1

eengine-sync commented 6 years ago

➤ Kamil Pytel commented:

@jacekkwasniewski3 Ostatnie zmiany wrzucone na produkcję.

eengine-sync commented 6 years ago

➤ Jacek Kwasniewski commented:

Wklejam informację ze slacka, aby historia komunikacji była też w karcie :)

Wrzutka weszła na produkcję, puściłem testowe zamówienie, wszystko przeszło sprawnie. Skontaktowałem się z działem technicznym, po ich stronie również wszystko wpadło tak, jak powinno. Case closed

@piotrekkrol Jedna rzecz, na którą możesz zwrócić uwagę z punktu widzenia zarządzania sklepem - płatność Twisto nie będzie możliwa (opcja w bramce płatniczej imoje będzie nieaktywna) jeżeli klient wprowadzi błędne dane adresowe (np. adres nie będzie się pokrywał z bazą Twisto) - jeżeli Klienci będą mieli pytania, dlaczego Twisto nie działa to poprawność adresu będzie pierwszym tropem do sprawdzenia

W trakcie testów przekonaliśmy się też, że bardzo łatwo trafić na "czarną listę" w Twisto. Jeżeli adres będzie poprawny a mimo to bramka nie będzie aktywna, drugim tropem powinno być wg mnie właśnie to.

W trakcie naszych testów ograliśmy to tak, że kontaktowałem się z działem technicznym ING, oni z kolei z Twisto i usuwali nas z czarnej listy (skuteczne, ale mało efektywne). Możliwe, że jeżeli Twisto będzie "żarło", da się to ograć łatwiej, ale to już raczej kwestia do dopracowania "w praniu" między Wami a ING.

Jeżeli będziesz potrzebował wsparcia, kontaktuj się ze mną.

@maciejbutkowski1 Mam wielką prośbę o anulowanie w Waszym panelu imoje wszystkich płatności dokonanych za pomocą Twisto do 4 października do godziny 9:40 - nie było innej opcji jak testować na "żywych" zakupach - jeżeli nie anulujesz płatności, Twisto będzie mnie prosiło o płatność. :)

cc @morawiakadrian