mcpField
I
integrate-stripe

integrate-stripe

github.com/furqanisticDevelopment868 installsUpdated 11w ago
Repository

About integrate-stripe

integrate-stripe is a development skill for building or repairing Stripe payments and billing in an application. It focuses on fitting the integration to the existing architecture and using verified webhooks, idempotency, and current Stripe documentation.

Key features

  1. 01Detect and assess existing Stripe setup
  2. 02Choose suitable payment and billing flows
  3. 03Keep financial decisions server-side
  4. 04Verify webhooks and prevent duplicates
  5. 05Plan testing and production review

Use cases

  1. 01Adding purchases or subscriptions
  2. 02Repairing an existing Stripe integration
  3. 03Handling webhook retries and payment failures
  4. 04Reviewing an integration before launch

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/furqanistic/aura-skills --skill integrate-stripe

After installing, type/integrate-stripein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

agents/
openai.yaml
references/
billing.md
connect.md
implementation-patterns.md
payments.md
security-and-production.md
source.md
webhooks.md

Details

From the project README

Integrate Stripe

Build Stripe integrations that match the existing application, business model, currency, countries, and ownership of payments. Always inspect the project before planning or writing Stripe code.

First: detect the existing integration

Search the repository for Stripe packages, imports, configuration, environment-variable names, API clients, Checkout or PaymentIntent creation, webhook routes, database fields, migrations, tests, and frontend Stripe.js usage. Inspect package manifests and lockfiles to determine the installed Stripe SDK version. Identify any pinned account, request, or webhook API version without exposing secret values.

  • If Stripe already exists, trace the complete payment flow and preserve compatible architecture. Find incomplete, outdated, insecure, or broken behavior and make the smallest safe fixes. Do not create a second Stripe client, webhook endpoint, Customer model, or payment flow without a clear reason.
  • If Stripe does not exist, design the integration from scratch using the project's existing language, framework, database, validation, error handling, logging, and testing patterns.
  • If the SDK or API version is old, check the official changelog and migration guide first. Upgrade deliberately with tests; never change a Stripe version silently during unrelated work.

Because Stripe changes over time, verify API choices against current official Stripe documentation before writing code. Prefer the latest supported SDK and API version unless the project is intentionally pinned; plan and test upgrades instead of silently changing versions.

Workflow

  1. Report whether an existing Stripe integration was found and list its relevant SDK/API versions and implemented flows.
  2. Define whether the product needs one-time purchases, subscriptions, usage billing, invoices, saved methods, marketplace payments, or a combination.
  3. Establish who is merchant of record, who owns the customer relationship, where funds settle, who handles disputes, and whether a platform fee applies.
  4. Choose the simplest suitable surface: Payment Links for no-code sales, Checkout Sessions for most integrations, Checkout Sessions with Payment Element for embedded UI, or PaymentIntents only for bespoke payment-state control.
  5. Make the server authoritative for products, Price IDs, amounts, currency, discounts, tax behavior, identity, entitlements, destinations, and fees. Never trust these values from the client.
  6. Persist an internal pending order or subscription before redirecting to payment. Link Stripe objects with non-sensitive metadata.
  7. Treat verified webhooks as the source of truth. Make fulfillment and state changes idempotent and safe for retries or out-of-order events.
  8. Implement failure, cancellation, retry, refund, dispute, and reconciliation paths—not only success.
  9. Test in a sandbox, exercise authentication and failure cases, replay webhooks, and complete a go-live review.

Non-negotiable rules

  • Never expose secret, restricted, or webhook keys in source, clients, logs, errors, or examples. Prefer least-privilege restricted keys per service.
  • Never handle raw card numbers server-side unless the business has completed the required PCI process. Use Checkout or Stripe.js Elements.
  • Never fulfill from a success redirect or client-reported status.
  • Verify webhook signatures against the unmodified raw request body.
  • Deduplicate event IDs with a unique constraint and make mutations transactional where possible.
  • Use stable idempotency keys for retried financial POST operations.
  • Do not use legacy Charges, Sources, Tokens, Plans, or Card Element for new work.
  • Omit payment_method_types for dynamic payment methods except where current official Terminal guidance explicitly requires it.
  • Never perform live charges, refunds, transfers, or account changes without explicit approval.

Reference routing

Verification and output

Run relevant formatting, linting, type checking, and tests. State whether Stripe was repaired or added from scratch, which versions were inspected or changed, which Stripe objects and webhook events were chosen, how internal state maps to Stripe, how duplicates are prevented, and which Dashboard setup remains. Separate sandbox validation from live verification.

Comments

Markdown supported