Produkt
Moduły a plany
Trasy API są te same dla każdego, ale część zasobów należy do modułów, które otwiera wyższy plan. Wywołanie trasy modułu spoza planu kończy się czytelnym błędem 403 z nazwą modułu, a GET /v1/account mówi z góry, co konto ma. Piaskownica po zapisie działa w zakresie planu Start, więc testujesz wszystko to, co kupisz.
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.
Które trasy otwiera który plan#
/v1/account, /v1/payments, /v1/payment_links, /v1/refunds, /v1/customers, /v1/events, /v1/webhook_endpoints, /v1/test_helpers
- Moduł
- Accept, API
- Od planu
- Start (i piaskownica demo)
- Błąd poza planem
- brak
/v1/plans, /v1/coupons, /v1/subscriptions
- Moduł
- Bill
- Od planu
- Firma
- Błąd poza planem
module_not_in_plan
/v1/invoices (faktury z terminem) i faktury po opłaceniu z KSeF
- Moduł
- Invoices, Faktury, KSeF
- Od planu
- Firma
- Błąd poza planem
module_not_in_plan
currency: EUR albo USD w płatnościach, linkach, planach
- Moduł
- Waluty
- Od planu
- Skala
- Błąd poza planem
currency_not_in_plan
pole provider_account i zdarzenie payment.routed
- Moduł
- Smart routing
- Od planu
- Skala
- Błąd poza planem
- konto główne bez routingu
connected_account i application_fee w płatnościach i linkach, zdarzenia account.verified, payout.paid
- Moduł
- Connect
- Od planu
- Platforma
- Błąd poza planem
connect_not_in_plan
Pełne ceny i limity obrotu są w cenniku. Recover (ponowienia i e-mail po nieudanym odnowieniu) jest od planu Firma, pełny Recover z linkiem BLIK do dopłaty od planu Skala; z punktu widzenia API to te same zdarzenia subscription.payment_failed i subscription.recovered.
Sprawdzenie modułów: GET /v1/account#
Zamiast zgadywać, zapytaj. Pole modules wymienia identyfikatory modułów planu, currencies dostępne waluty, charges_enabled mówi, czy w tym trybie przechodzą płatności, a provider_connected, czy produkcja ma podpiętego operatora płatności. Integracja, która sprzedaje w kilku planach (np. SaaS dla klientów Oplac), może na tej podstawie włączać funkcje.
curl https://oplac.pl/api/v1/account \
-H "Authorization: Bearer sk_test_TWOJ_KLUCZ"
$ch = curl_init('https://oplac.pl/api/v1/account');
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ['Authorization: Bearer sk_test_TWOJ_KLUCZ'],
CURLOPT_RETURNTRANSFER => true,
]);
$account = json_decode(curl_exec($ch), true);
$maBill = in_array('bill', $account['modules'], true);
const res = await fetch('https://oplac.pl/api/v1/account', {
headers: { Authorization: 'Bearer sk_test_TWOJ_KLUCZ' },
});
const account = await res.json();
const maBill = account.modules.includes('bill');
import requests
res = requests.get(
"https://oplac.pl/api/v1/account",
headers={"Authorization": "Bearer sk_test_TWOJ_KLUCZ"},
)
account = res.json()
ma_bill = "bill" in account["modules"]
HTTP/1.1 200 OK
{
"id": "acct_Ab12Cd34Ef56Gh",
"object": "account",
"name": "Sklep Testowy",
"plan": "firma",
"modules": ["accept", "api", "zespol", "plan", "bill", "faktury", "ksef", "recover", "invoices"],
"currencies": ["PLN"],
"charges_enabled": true,
"provider_connected": false,
"webhook_configured": true,
"livemode": false,
"created": 1760000000
}
Identyfikatory modułów w polu modules#
| Identyfikator | Co otwiera |
|---|---|
accept | płatności, linki, zwroty, strona płatności, klienci |
api | klucze API i webhooki |
zespol, plan | zespół w panelu, zarządzanie planem |
bill | plany abonamentowe, kupony, subskrypcje |
faktury, ksef | faktury VAT po opłaceniu i wysyłka do KSeF |
recover, recover_pelny | ponowienia i e-mail po odmowie; z linkiem BLIK do dopłaty i nową kartą |
invoices | faktury z terminem i własną stroną płatności, przypomnienia |
waluty | EUR i USD |
mrr, uzgadnianie | analityka MRR i churn, uzgadnianie wpłat z wyciągu |
routing | Smart routing: konta dostawcy, pole provider_account |
connect | Connect: sprzedawcy platformy, podział płatności, prowizja |
role, audyt, sso | role zespołu, log audytu, SSO SAML |
Co się dzieje przy zmianie planu#
- Przejście na wyższy plan otwiera trasy od razu; obiekty utworzone wcześniej (klienci, płatności) zostają.
-
Przejście na niższy plan nie kasuje danych: trwające subskrypcje odnawiają się dalej, ale nowe żądania do modułu spoza planu dostają
403 module_not_in_plan. Linki z walutą spoza planu przestają przyjmować zapłatę. -
Produkcja wymaga opłaconego planu i podpiętego operatora; po wygaśnięciu planu klucz
sk_live_odpowiada401 api_key_invalid, ask_test_działa dalej. - Limit obrotu planu nie blokuje płatności; panel pokazuje zużycie i proponuje wyższy plan po przekroczeniu w dwóch kolejnych miesiącach.
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.