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.