Base URL
https://api.markuce.com/v1
Authentication
Bearer token via Authorization header using your sk_live_* key
Response format
{ success, data, error, meta } — consistent across all endpoints
API endpoints
/v1/checkout/sessionsCreate a hosted checkout session
Body
{ product_id, customer_email?, metadata? }Returns
{ session_id, checkout_url, expires_in }/v1/checkout/sessions/:idRetrieve a session by ID
/v1/productsCreate a product
Body
{ name, price_minor, currency, description?, recurring? }Returns
{ id, payment_link_url }/v1/transactionsList merchant transactions
/v1/webhooksConfigure webhook endpoint
Body
{ url, enabled_events[] }Returns
{ id, webhook_secret }Signed. Retried.
Reliable.
Every webhook is HMAC-SHA256 signed with your webhook_secret. Verify the Markuce-Signature header on every request. Failed deliveries are retried 5 times with exponential backoff (10s → 1m → 5m → 30m → 2h).
Available events
payment.completedA payment was successfully confirmed (card or crypto)
payment.failedA payment failed or was cancelled
checkout.expiredA checkout session expired without payment
subscription.createdA new subscription was created
subscription.updatedSubscription status changed (e.g. past_due)
subscription.endedSubscription was cancelled or expired
payout.completedA bank or crypto payout was processed
refund.issuedA refund was issued to the customer