← ClaudeAtlas

paymentslisted

Integrate payments and billing correctly — card charges, payment intents, webhooks, idempotent money movement, subscriptions/invoicing, refunds/chargebacks, multi-currency, and reconciliation against a ledger. Use when wiring Stripe/Adyen/Braintree/PayPal, handling a payment webhook, designing a subscription or usage-based billing model, making a charge safe to retry, preventing double-charges, or reconciling provider events against an internal money ledger. Boundary vs api-design and security-web — api-design owns the protocol-neutral HTTP contract shape (idempotency-key mechanics, RFC 9457 errors, pagination) and security-web owns generic OWASP server hardening (authn/z, injection, secrets); this skill owns the money-correctness domain on top of both — never trusting client-sent amounts, PCI scope minimization via tokenization, the webhook-as-source-of-truth state machine, and double-entry reconciliation. Defers durable ledger schema design to db-design.
kouroshez/coding-os · ★ 6 · AI & Automation · score 77
Install: claude install-skill kouroshez/coding-os
# Payments & Billing — Moving Money Without Losing It A practical guide to integrating a payment provider such that money is never double-charged, never silently lost, and always reconcilable. Stack-agnostic; recipes target Stripe as the reference provider, with Adyen / Braintree / PayPal noted where the model differs. The governing mindset: **a payment bug is a money bug, and money bugs are visible to finance, regulators, and angry customers.** ## When to Use This Skill - Wiring a first charge / checkout — payment intents, hosted fields, confirmation flow. - Handling a provider webhook (`payment_intent.succeeded`, `charge.refunded`, `invoice.paid`). - Designing a subscription, metered/usage billing, free trial, proration, or dunning flow. - Making money movement idempotent — a retried request must never charge twice. - Issuing refunds, handling disputes/chargebacks, partial captures. - Reconciling provider state against an internal ledger; closing the books. Skip when: the work is a generic non-money API endpoint (api-design) or generic auth/injection hardening (security-web) with no money movement — those skills own that. This skill is specifically the financial-correctness layer. ## The Five Money-Correctness Invariants These override convenience every time: 1. **Never trust a client-sent amount.** The price is computed server-side from the cart/plan, never read from the request body. A client that POSTs `{"amount": 1}` for a $1000 order must be charged $1000. This