API dla programistów
Integruj i dostosowuj
Uruchamiaj Payment for Stripe z własnej aplikacji lub strony internetowej za pomocą schematów URL i decyduj bezpośrednio w Panelu Stripe, które produkty pojawiają się w aplikacji.
Integracja przez schematy URL
Jak to działa
Twoja aplikacja otwiera payment:// adres URL z parametrami
Payment for Stripe uruchamia się i przetwarza transakcję
Po zakończeniu aplikacja przekierowuje do Twojego adresu URL wywołania zwrotnego z wynikiem
Punkty końcowe
Utwórz płatność
payment://new?Przetwórz jednorazową płatność podając kwotę, walutę i opis.
Parametry
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
amount | integer | Tak | Kwota w centach (np. 1000 = 10,00 USD) |
currency | string | Nie | Trzyliterowy kod waluty ISO (domyślnie: bieżąca waluta aplikacji) |
description | string | Nie | Opis płatności zakodowany w adresie URL |
customerAlias: customer_id | string | Nie | Istniejący identyfikator klienta Stripe |
email | string | Nie | E-mail klienta do wysłania paragonu |
name | string | Nie | Nazwa klienta zakodowana w adresie URL |
metadata | string | Nie | Niestandardowe pary klucz-wartość (JSON zakodowany w adresie URL) |
callback | string | Nie | Adres URL, do którego należy powrócić po zakończeniu |
autoprocessAlias: auto | boolean | Nie | Pomiń ekran główny i od razu rozpocznij płatność |
auto_return | boolean | Nie | Wyślij wywołanie zwrotne po załadowaniu wyniku, zamiast czekać, aż sprzedawca zamknie okno dialogowe z wynikiem. Domyślnie false. |
Sprzedawaj przedmioty ze swojego katalogu
payment://cart?Uzupełnij koszyk cenami z katalogu Stripe i opłać go osobiście. Sprzedaż zostanie zapisana jako opłacona faktura Stripe. Nic nie zostanie wysłane do klienta.
Parametry
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
pricesAlias: line_items | string | Tak | Identyfikatory cen rozdzielone przecinkami wraz z ilościami (np. price_abc:2,price_xyz:1) |
coupon | string | Nie | Identyfikator kuponu Stripe do zastosowania w koszyku |
customerAlias: customer_id | string | Nie | Istniejący identyfikator klienta Stripe |
email | string | Nie | E-mail klienta do wysłania paragonu |
name | string | Nie | Nazwa klienta zakodowana w adresie URL |
metadata | string | Nie | Niestandardowe pary klucz-wartość (JSON zakodowany w adresie URL) |
callback | string | Nie | Adres URL, do którego należy powrócić po zakończeniu |
autoprocessAlias: auto | boolean | Nie | Pomiń ekran główny i od razu rozpocznij płatność |
auto_return | boolean | Nie | Wyślij wywołanie zwrotne po załadowaniu wyniku, zamiast czekać, aż sprzedawca zamknie okno dialogowe z wynikiem. Domyślnie false. |
Zapłać istniejącą fakturę
payment://invoice?Pobieranie płatności osobiście na podstawie istniejącej faktury Stripe. Kwota, waluta, klient i podatek pochodzą z faktury. Nadpisanie któregokolwiek z tych danych jest odrzucane. Sprzedawca używa czytnika zbliżeniowego / Tap to Pay / ręcznego wprowadzania; w przypadku powodzenia faktura jest oznaczana jako opłacona poza pasmem i powiązana za pomocą metadanych charge_id i payment_intent_id. Faktury z subskrypcjami, default_payment_method lub o statusie opłacona, nieważna lub nieściągalna są odrzucane z błędem powodującym podjęcie działań. Wersje robocze faktur: iOS finalizuje je jako pierwsze, Android odrzuca je z błędem invoice_state_changed.
Parametry
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
id | string | Tak | Identyfikator faktury Stripe (musi zaczynać się od in_) |
callback | string | Nie | Adres URL, do którego należy wrócić po zakończeniu. Po powodzeniu otrzymuje invoice_id i payment_intent_id. |
metadata | string | Nie | Niestandardowe pary klucz-wartość (JSON zakodowany w adresie URL) scalone z metadanymi PaymentIntent |
autoprocessAlias: auto | boolean | Nie | Pomiń ekran główny i od razu rozpocznij płatność |
auto_return | boolean | Nie | Wyślij wywołanie zwrotne po załadowaniu wyniku, zamiast czekać, aż sprzedawca zamknie okno dialogowe z wynikiem. Domyślnie false. |
Obsługa wywołań zwrotnych
Po zakończeniu transakcji Payment for Stripe przekierowuje do adresu URL wywołania zwrotnego z parametrami zapytania wskazującymi wynik. Domyślnie przekierowanie uruchamia się po zamknięciu okna dialogowego z wynikiem przez sprzedawcę, aby mógł on podjąć działania po dokonaniu płatności (wysłanie paragonu e-mailem, zwrot pieniędzy). Przekaż parametr auto_return=true, aby przekierowanie zostało uruchomione natychmiast po poznaniu wyniku. Obsługiwane na iOS i Androidzie.
Parametry wywołania zwrotnego
| Parametr | Wartości | Opis |
|---|---|---|
status | success | error | cancelled | Wynik transakcji |
charge_id | string | Identyfikator obciążenia Stripe (w przypadku powodzenia). System iOS wysyła identyfikator obciążenia (ch_). System Android wysyła identyfikator PaymentIntent (pi_) i umieszcza identyfikator obciążenia w polu stripe_charge_id. |
stripe_charge_id | string | Identyfikator opłaty Stripe (ch_) w przypadku powodzenia. Tylko dla systemu Android. |
invoice_id | string | Identyfikator faktury Stripe (w przypadku powodzenia, tylko w przepływie payment://invoice) |
payment_intent_id | string | Identyfikator Stripe PaymentIntent (w przypadku powodzenia). iOS: tylko przepływ payment://invoice. Android: każda płatność kartą. |
error | string | Komunikat o błędzie (w przypadku błędu) |
Opłata została pobrana, ale faktury nie można oznaczyć jako opłaconej: system iOS zwraca status=error z charge_id, invoice_id i payment_intent_id. Android zwraca status=success z invoice_reconciliation_failed=true.
Pola starsze, zachowane dla starszych integracji: success, amount, currency, chargeId, cancelled, error[message]. Nowe integracje powinny odczytywać pola powyżej.
Przykłady
Prosta płatność
Pobierz 10,00 USD, podając tylko kwotę
payment://new?amount=1000Płatność z opisem
Pobierz 25,00 EUR z opisem
payment://new?amount=2500¤cy=eur&description=Coffee%20and%20pastryPłatność z nowym klientem
Pobierz 50,00 USD i utwórz rekord klienta
payment://new?amount=5000&name=John%20Smith&[email protected]Pobierz opłatę od istniejącego klienta
Pobierz 75,00 USD od istniejącego klienta Stripe
payment://new?amount=7500&customer=cus_ABC123xyzPłatność z metadanymi
Pobierz 100,00 USD z niestandardowymi metadanymi do Twojej ewidencji
payment://new?amount=10000&description=Invoice%20%231234&metadata=%7B%22order_id%22%3A%221234%22%2C%22location%22%3A%22Store%20A%22%7DAutomatyczne przetwarzanie z wywołaniem zwrotnym
Pomiń ekran główny i wróć do aplikacji po zakończeniu
payment://new?amount=3500&autoprocess=true&callback=myapp://payment-completeAutomatyczny powrót po wyniku
Wyślij wywołanie zwrotne natychmiast po poznaniu wyniku, zamiast czekać, aż sprzedawca zamknie okno dialogowe z wynikiem
payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-completeKoszyk z pozycjami zamówienia
Opłata za produkty z katalogu Stripe
payment://cart?prices=price_coffee:2,price_muffin:1&[email protected]Zapłać istniejącą fakturę
Przyjmij płatność na miejscu za istniejącą fakturę Stripe. W przypadku powodzenia zwraca invoice_id i payment_intent_id.
payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paidPełny przykład
Wszystkie parametry razem w pełni zintegrowanym procesie
payment://new?amount=15000¤cy=usd&description=Service%20Fee&customer=cus_ABC123xyz&metadata=%7B%22invoice%22%3A%22INV-2024-001%22%7D&autoprocess=true&callback=myapp://payment-resultKodowanie adresu URL
Pamiętaj o zakodowaniu znaków specjalnych w wartościach parametrów w formacie URL. Spacje zamieniają się na %20, a nawiasy klamrowe na %7B i %7D.
Gotowy na integrację?
Pobierz aplikację i zacznij testować integrację już dziś.