Stripe Integration

作者 wshobson46891e7e60da无许可证收录于 2026年10月8日更新于 2026年10月8日

Implement Stripe payment processing for robust, PCI-compliant payment flows including checkout, subscriptions, and webhooks. Use when integrating Stripe payments, building subscription systems, or implementing secure checkout flows.

AI 生成的概览

指导 Stripe 支付集成:结账、订阅、Webhook、退款及符合 PCI 的支付流程。

功能
该技能提供实现 Stripe 支付处理的指导,涵盖结账会话、支付意图、设置意图、订阅、客户管理、Webhook 和退款。它讲解核心概念,列出关键 Webhook 事件,并给出快速上手与测试代码示例及测试卡号。详细模式与完整示例存放在单独的参考文件中,当主要说明不够用时由代理读取。
适用场景
适用于为 Web 或移动应用添加支付处理、搭建订阅计费、处理一次性或周期性扣款,以及处理退款和争议。也适合管理客户支付方式、为欧洲支付实现 SCA,以及使用 Stripe Connect 构建市场平台支付流程。
运行要求
需要 Stripe 账户和 API 密钥(测试与正式)、Stripe Python 库,以及访问 Stripe API 的网络连接。该技能不附带脚本,仅包含说明文档和一份参考文件。

Stripe Integration

Master Stripe payment processing integration for robust, PCI-compliant payment flows including checkout, subscriptions, webhooks, and refunds.

When to Use This Skill

  • Implementing payment processing in web/mobile applications
  • Setting up subscription billing systems
  • Handling one-time payments and recurring charges
  • Processing refunds and disputes
  • Managing customer payment methods
  • Implementing SCA (Strong Customer Authentication) for European payments
  • Building marketplace payment flows with Stripe Connect

Core Concepts

1. Payment Flows

Checkout Sessions

  • Recommended for most integrations
  • Supports all UI paths:
    • Stripe-hosted checkout page
    • Embedded checkout form
    • Custom UI with Elements (Payment Element, Express Checkout Element) using ui_mode='custom'
  • Provides built-in checkout capabilities (line items, discounts, tax, shipping, address collection, saved payment methods, and checkout lifecycle events)
  • Lower integration and maintenance burden than Payment Intents

Payment Intents (Bespoke control)

  • You calculate the final amount with taxes, discounts, subscriptions, and currency conversion yourself.
  • More complex implementation and long-term maintenance burden
  • Requires Stripe.js for PCI compliance

Setup Intents (Save Payment Methods)

  • Collect payment method without charging
  • Used for subscriptions and future payments
  • Requires customer confirmation

2. Webhooks

Critical Events:

  • payment_intent.succeeded: Payment completed
  • payment_intent.payment_failed: Payment failed
  • customer.subscription.updated: Subscription changed
  • customer.subscription.deleted: Subscription canceled
  • charge.refunded: Refund processed
  • invoice.payment_succeeded: Subscription payment successful

3. Subscriptions

Components:

  • Product: What you're selling
  • Price: How much and how often
  • Subscription: Customer's recurring payment
  • Invoice: Generated for each billing cycle

4. Customer Management

  • Create and manage customer records
  • Store multiple payment methods
  • Track customer metadata
  • Manage billing details

Quick Start

python
import stripe
stripe.api_key = "sk_test_..."
# Create a checkout sessionsession = stripe.checkout.Session.create(    line_items=[{        'price_data': {            'currency': 'usd',            'product_data': {                'name': 'Premium Subscription',            },            'unit_amount': 2000,  # $20.00            'recurring': {                'interval': 'month',            },        },        'quantity': 1,    }],    mode='subscription',    success_url='https://yourdomain.com/success?session_id={CHECKOUT_SESSION_ID}',    cancel_url='https://yourdomain.com/cancel')
# Redirect user to session.urlprint(session.url)

Detailed patterns and worked examples

Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.

Testing

python
# Use test mode keysstripe.api_key = "sk_test_..."
# Test card numbersTEST_CARDS = {    'success': '4242424242424242',    'declined': '4000000000000002',    '3d_secure': '4000002500003155',    'insufficient_funds': '4000000000009995'}
def test_payment_flow():    """Test complete payment flow."""    # Create test customer    customer = stripe.Customer.create(        email="[email protected]"    )
    # Create payment intent    intent = stripe.PaymentIntent.create(        amount=1000,        automatic_payment_methods={            'enabled': True        },        currency='usd',        customer=customer.id    )
    # Confirm with test card    confirmed = stripe.PaymentIntent.confirm(        intent.id,        payment_method='pm_card_visa'  # Test payment method    )
    assert confirmed.status == 'succeeded'

来源与署名

来源:wshobson/agents位于plugins/payment-processing/skills/stripe-integration提交46891e7

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架