Nowa funkcjonalność w eCommerce

0

Cześć zastanawiam się jak się robi nowe ficzery do platform eCommerce
Dla przykładu chciałbym zrobić nowy typ płatności
Czyli teraz robię sobie apkę która obsługuje ten nowy typ płatności. No i ok powiedzmy że działa.
Teraz chciałbym żeby ten nowy typ był dostępny dla wszystkich platform eCommerce.
I teraz tak jak ja to widzę to mam dwa możliwe scenariusze:

  1. Napisanie tylu pluginów ile jest platform eCommerce które uderzają do mojej aplikacji.
  • W taki sposób żeby znalazły się w marketplace, i teraz każdy sklep który chce to włączyć, po prostu pobiera z market place i sobie to uruchamia jeżeli chce lub nie.
  1. Wszystkie platformy we własnym zakresie piszą taki plugin który będzie się integrował z moją aplikacją

Czy dobrze rozumiem że żeby to zrobić (np. samemu) powinienem poznać każdą platformę i np język w jakim jest napisana ? (pomijam fakt czy to jest do zrobienia przez jedną osobę)

Czy też istnieje jakiś bardziej uniwersalny sposób ?

Czy np taki blik musiał tak robić?

3

Różne platformy i różne podejścia.

Zwykle platforma udostępnia swoim partnerom API, które oni podpinają u siebie. Inne przypadki to gotowy plugin po stronie platformy finansowej, który udostępnia się w formie kawałka kodu z generowanym tokenem dla konkretnego sklepu. Można też oczywiście pisać 100 pluginów dla różnych platform skryptowych ale to jest czasochłonne.

Można to rozwiązywać w formie gotowej biblioteki dla użytkownika końcowego. Dobrym przykładem jest tutaj Stripe, który daje Ci już w zasadzie gotowe kawałki kodu do wstawienia u siebie i z nich dostajesz wszystkie potrzebne informacje do pchnięcia ich dalej u siebie. Integracja więc nie zajmuje więcej niz kilka minut.

0
purrll napisał(a):

Różne platformy i różne podejścia.

Zwykle platforma udostępnia swoim partnerom API, które oni podpinają u siebie. Inne przypadki to gotowy plugin po stronie platformy finansowej, który udostępnia się w formie kawałka kodu z generowanym tokenem dla konkretnego sklepu. Można też oczywiście pisać 100 pluginów dla różnych platform skryptowych ale to jest czasochłonne.

Można to rozwiązywać w formie gotowej biblioteki dla użytkownika końcowego. Dobrym przykładem jest tutaj Stripe, który daje Ci już w zasadzie gotowe kawałki kodu do wstawienia u siebie i z nich dostajesz wszystkie potrzebne informacje do pchnięcia ich dalej u siebie. Integracja więc nie zajmuje więcej niz kilka minut.

trochę nie rozumiem tego sformułowania

Zwykle platforma udostępnia swoim partnerom API, które oni podpinają u siebie

kim jest partner w tym kontekście? (klientem?)
Według mnie jeżeli ktoś ma sklep eCommerce to prawdopodobnie korzysta z platformy eCommerce i wystawiają jakieś REST API (i prawdopodobnie ogranicza widoczność tego API), ale te API służy bardziej do wymiany informacji niż np dodawania funkcjonalności (np. dodatkowy radiobutton z nowym trybem płatności)

A jak taki gotowy plugin działa? To jest kod w javaScript który uderza do backendu, i przy tym wymaga np tokenów?
Oczywiście nie chciałbym pisać 100 pluginów ;p

Czyli jeżeli dobrze rozumiem to najlepiej napisać taki gotowy plugin (np w js).
Ale jeżeli jakiś sklep chciałby go użyć to musiałby zrobić drobną integrację z tym moim pluginem
i każdy sklep musiałby zrobić to osobno (nawet na tej samej platformie eCommerce?).

A gdybym chciał tego uniknąć, to po prostu musiałbym napisać extension do każdej platformy, i umiejscowić go w ich marketplace, żeby umożliwić łatwą instalację tego pluginu?

1
procekStm32 napisał(a):

Zwykle platforma udostępnia swoim partnerom API, które oni podpinają u siebie

kim jest partner w tym kontekście? (klientem?)

Zacznijmy od rozróżnienia platform eCommerce. Jak zapewne wiesz dzielą się one na:

  • Autorskie pisane przez zewnętrzną firmę dla konkretnego klienta lub przez jego własny zespół np. x-kom czy morele prawdopodobnie mają swoje autorskie rozwiązania
  • Platformy typu Magento gdzie masz gotowe pluginy free lub płatne. Możesz pisać jeśli potrafisz lub zlecić napisanie.
  • Platformy eCommerce, które oferuję Ci otworzenie sklepu na własnym autorskim silniku

W przypadku tych pierwszych i tych ostatnich zwykle dostaje się jakieś API, które samemu podpinasz pod własną platformę i tutaj w pierwszym przypadku poniekąd system zamówienia realizujesz u siebie natomiast komunikujesz się z tym gotowym zestawem płatności.
W przypadku ostatnim to już jest kwestia tego jak odpalasz kolejne instancje dla nowych klientów. Możesz mieć jeden główny serwis, który ogarnia wszelkie płatności, możesz mieć jeden duży, który odbiera wszystko od każdej odpalonej instancji i przekazuje je do ów API dostarczone przez platformę płatności.
W drugim przypadku raczej rozwiążesz to:

  • Gotowym pluginem z racji mnogości skryptów musisz nie tyle pisać go od nowa co dostosować do każdej, bo jednak logika zazwyczaj jest ta sama.
  • Jakiś embedded skryptu JS z podstawionym tokenem dla każdego klienta osobno gdzie tylko odbierasz wszystko po stronie klienta, a przetwarzasz już odebrane dane u siebie.

Według mnie jeżeli ktoś ma sklep eCommerce to prawdopodobnie korzysta z platformy eCommerce i wystawiają jakieś REST API (i prawdopodobnie ogranicza widoczność tego API), ale te API służy bardziej do wymiany informacji niż np dodawania funkcjonalności (np. dodatkowy radiobutton z nowym trybem płatności)

Dlatego najwygodniej chyba zaprojektować takie rozwiązanie, które zostanie przez powiedzmy dostawcę platformy eCommerce, który ma 30k klientów zaimplementowany raz, a Ty po swojej stronie będziesz już bez ingerencji kogokolwiek dostarczał aktualizacje zabezpieczeń czy nowe funkcjonalności.

A jak taki gotowy plugin działa? To jest kod w javaScript który uderza do backendu, i przy tym wymaga np tokenów?

Tak jak sobie go zaprojektujesz? Spojrzałeś w ogóle na stripe, który podałem wyżej jako przykład?

Oczywiście nie chciałbym pisać 100 pluginów ;p

Czasami nie ma innego wyjścia ;-)

Czyli jeżeli dobrze rozumiem to najlepiej napisać taki gotowy plugin (np w js).
Ale jeżeli jakiś sklep chciałby go użyć to musiałby zrobić drobną integrację z tym moim pluginem
i każdy sklep musiałby zrobić to osobno (nawet na tej samej platformie eCommerce?).

A gdybym chciał tego uniknąć, to po prostu musiałbym napisać extension do każdej platformy, i umiejscowić go w ich marketplace, żeby umożliwić łatwą instalację tego pluginu?

Gdybym ja miał pisać coś takiego to chciałbym mieć kontrolę nad wszystkim. Albo przygotowałbym kilka wersji po stronie backendu (JS, Python, Java, Scala, PHP etc.), które partner mógłby wstawić sobie w swój system. Albo jakiś js, który pcha dane do mnie.
Pewnie istnieje wiele innych lepszych rozwiązań ale tu już musisz sobie zrobić research.

1 użytkowników online, w tym zalogowanych: 0, gości: 1