Stripe Checkout International
Cards, Apple/Google Pay, BLIK/P24/Klarna (via Stripe). Official documentation: https://docs.stripe.com/api/checkout/sessions. Gateway fee: per the Stripe rate of the account’s country.
Credentials
sk_live_… and the webhook secret whsec_…. Stripe is not available to Ukrainian sole proprietors/LLCs — the account is opened for a company in a supported country (Estonia, Poland, USA/Atlas, etc.).
- Environment variables
STRIPE_SECRET_KEYSTRIPE_WEBHOOK_SECRETSTRIPE_PAYMENT_METHODS (optional)- Webhook
POST /webhooks/stripe;Stripe-Signature: t=…,v1=…, v1 = HMAC-SHA256(`t.body`, whsec); 5-minute tolerance against replay.
What Mistok calls
| Request | Fields / meaning |
|---|---|
POST /v1/checkout/sessions | mode=payment, line_items[], success_url/cancel_url, client_reference_id, customer_email, metadata, expires_at, capture_method=manual for hold; Idempotency-Key |
GET /v1/checkout/sessions/{id}?expand[]=payment_intent | status |
POST /v1/refunds | payment_intent, amount |
POST /v1/payment_intents/{id}/capture · POST /v1/checkout/sessions/{id}/expire | capture of the hold · voiding |
Statuses
session.expired → expired · payment_status=paid → success (refunded → reversed) · requires_capture → hold · canceled → failure.
Mistok’s model: created → processing → (hold →) success | failure | expired | reversed. The Shopify order receives a payment only on success and only after the amount and currency are checked against our record.
Sandbox
Test keys sk_test_… and Stripe test cards.
Limitations
- connect it for buyers outside Ukraine (Markets); for PL, P24/PayU directly are cheaper