Podstawy API
Uwierzytelnianie i tryby
Każde żądanie do API uwierzytelnia klucz tajny w nagłówku Authorization: Bearer <klucz>. Klucz mówi też, w którym trybie pracujesz: sk_test_ to piaskownica, sk_live_ to produkcja. Nie ma osobnych adresów ani przełączników, a obiekty obu trybów są od siebie całkowicie oddzielone.
Klucz testowy w przykładach
Wklej klucz sk_test_ z panelu (zakładka Deweloperzy), a każdy przykład będzie gotowy do uruchomienia. Klucz zostaje w tej karcie przeglądarki, nie wysyłamy go nigdzie.
Przykłady używają Twojego klucza testowego. Produkcyjnego klucza nie przyjmujemy.
Rodzaje kluczy#
tajny testowy
- Przedrostek
sk_test_- Tryb
- piaskownica, bez ruchu pieniędzy
- Gdzie go dostajesz
- panel, zakładka Deweloperzy, od razu po zapisie
tajny produkcyjny
- Przedrostek
sk_live_- Tryb
- produkcja przez operatora płatności
- Gdzie go dostajesz
- panel, po wyborze planu i podpięciu operatora
Klucz ma 48 znaków: przedrostek i 40 losowych znaków. Pełną wartość widzisz tylko raz, przy utworzeniu. Utwórz nowy klucz w panelu wydaje nowy i natychmiast unieważnia poprzedni tego samego trybu, więc rotację zrób w dwóch krokach: wygeneruj klucz, podmień w konfiguracji, wdroż. Jeden klucz na tryb i konto; osoby z zespołu korzystają z tego samego klucza konta, a ich czynności w panelu są w logu audytu.
Tryb testowy i produkcyjny#
Tryb wynika z klucza i jest zapisany w każdym obiekcie polem livemode. Klucz sk_test_ widzi tylko obiekty testowe, sk_live_ tylko produkcyjne; żądanie o obiekt z drugiego trybu kończy się 404 resource_missing, tak samo jak o obiekt, który nie istnieje. Osobne dla trybów są też adres i sekret webhooka, klucze idempotencji i liczniki limitów.
Strona płatności (checkout_url)
- sk_test_
- strona Oplac z kodami BLIK i przyciskami wyniku
- sk_live_
- strona operatora płatności Twojego konta
Pieniądze
- sk_test_
- brak
- sk_live_
- prawdziwe, rozliczane przez operatora
Pomocnicy /v1/test_helpers
- sk_test_
- działają
- sk_live_
403 test_helpers_live_mode
Limit zapytań
- sk_test_
- 25 na sekundę
- sk_live_
- 100 na sekundę
Wymagania
- sk_test_
- konto po zapisie (demo 14 dni) albo dowolny plan
- sk_live_
- plan z cennika i podpięty operator płatności
Webhook
- sk_test_
- adres testowy
- sk_live_
- adres produkcyjny
Jak przechowywać klucz#
- Klucz trzymaj w zmiennej środowiskowej albo w menedżerze sekretów serwera. Nigdy w repozytorium, w kodzie frontu, w aplikacji mobilnej ani w logach.
-
Żądania wysyłaj tylko z serwera. Przeglądarka klienta widzi wyłącznie
checkout_url. -
Logując żądania, maskuj nagłówek
Authorization. Do diagnozy wystarczyX-Request-Idz odpowiedzi. - Podejrzewasz wyciek? W panelu kliknij Utwórz nowy klucz: stary przestaje działać od razu. Panel pokazuje końcówkę klucza, żeby dało się rozpoznać, który jest w konfiguracji.
- Panel Oplac logowania chroni kodem z maila (i SSO SAML w planie Platforma), a klucz operatora płatności oraz sekrety webhooków są w bazie zaszyfrowane kluczem aplikacji.
Sprawdzenie konta: GET /v1/account#
Dobre pierwsze wywołanie po wygenerowaniu klucza. Zwraca plan, listę modułów, dostępne waluty, charges_enabled (czy w tym trybie przechodzą płatności), provider_connected (czy produkcja ma operatora) i webhook_configured (czy ten tryb ma adres webhooka). W piaskownicy charges_enabled jest true zawsze; w produkcji dopiero po podpięciu operatora i opłaceniu planu.
Powiązane
Klucz testowy dostajesz od razu po zapisie
Adres e-mail, kod z maila i piaskownica z kodami BLIK. Produkcję włączasz sam w panelu: plan, dostawca płatności, klucz sk_live_. Wolisz, żeby wdrożenie w sklepie zrobił nasz zespół? To też jest za darmo.