Skip to main content

Official Python SDK for Storlaunch — payment (checkout sessions, plans, subscriptions, invoices, receipts, customers, portal sessions, webhooks), storefront (products, licenses, deliveries), shipping, inventory, ledger, reports, payouts, discount codes, account (pixels, feeds, blog, referrals, abandoned cart, API keys, audit log, domains), analytics, billing, modules, manual orders, onboarding, buyer checkout + addresses.

Project description

storlaunch (Python SDK)

Official Python SDK for Storlaunch — full parity with the Node SDK (@forjio/storlaunch-node).

Install

pip install storlaunch

Quick start

from storlaunch import StorlaunchClient

client = StorlaunchClient(
    key_id="AKIASTOR...",
    secret="...",
    base_url="https://storlaunch.com",  # default
)

# Platform-level call
products = client.storefront.products.list({"limit": 20})

# Partner scoped (Pattern 2 partner billing)
merchant = client.for_merchant("acc_xyz")
orders = merchant.payment.checkout_sessions.list()

Auth (HMAC SHA-256)

Every request is signed locally with key_id + secret. The signed string is METHOD\nPATH\nTIMESTAMP\nSHA256(body)[\nIDEMPOTENCY_KEY]. The resulting hex digest is sent as

Authorization: Storlaunch-HMAC-SHA256 keyId=<key_id>, scope=*, signature=<hex>
X-Storlaunch-Timestamp: <unix_seconds>

for_merchant("acc_xyz") returns a new client that adds X-Storlaunch-On-Behalf-Of: acc_xyz to every request — used for Pattern 2 (Shopify-Apps-style) partner billing where the platform admin key acts on behalf of a customer workspace.

Idempotency

Unsafe mutations (create checkout session, pay invoice, issue license, adjust inventory, request payout, etc.) auto-generate an Idempotency-Key: idem_<uuid> header. To pin one yourself, drop down to client.request(...).

Webhooks

from storlaunch import verify_webhook

raw = request.get_data()  # bytes — DO NOT re-serialise JSON
sig = request.headers.get("X-Storlaunch-Signature", "")
if not verify_webhook(raw, sig, secret):
    abort(400)

Resource surface

Namespace Methods
payment checkout_sessions, plans, subscriptions, invoices, receipts, customers, plugipay_settings, portal_sessions, webhook_endpoints, webhook_events
storefront products (+files), licenses, deliveries, public
account profile, pixels, abandoned_cart, feeds, blog, referrals, api_keys, audit_log, domains
top-level analytics, billing, modules, manual_orders, onboarding, shipping, inventory, ledger, reports, payouts, discount_codes, inbound_webhooks, buyer

For anything not yet typed, use client.passthrough(method, path, body).

Errors

All API failures raise StorlaunchError(status, code, message, request_id). Transport failures (DNS, connect refused, timeout) raise the same class with status=0 and code in {"timeout", "network_error", "invalid_response"}.

Dev

python3.12 -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/pytest -q

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

storlaunch-0.1.0.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

storlaunch-0.1.0-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file storlaunch-0.1.0.tar.gz.

File metadata

  • Download URL: storlaunch-0.1.0.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for storlaunch-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b6c9b59fd9fdb3c79d6f42e8af8f5b88f97d93a7e45868f21085cf5e9f181cb1
MD5 a59096b51dcb4f7fd679e6b1468e5fda
BLAKE2b-256 44e827a309d58aa3e8c53e7ce2070bc380ca51adb2f70eb813989a98da33b2f1

See more details on using hashes here.

File details

Details for the file storlaunch-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: storlaunch-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for storlaunch-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c2a04acffbcfd60b9bf0c07ed7938d21159be45b27cff7c6376568ff7738a35d
MD5 81ed5b96990be350bd009b3f8dac69ea
BLAKE2b-256 9e3966522a9b6e70291f0c1da34408cf44d5dc0d1fb5ae9b77c0da97e53d4021

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page