技能 stripe-integration
💳

stripe-integration

安全 🌐 网络访问⚙️ 外部命令

Integração com Pagamentos Stripe

也可从以下获取: wshobson

Esta skill fornece orientação abrangente para integração de pagamentos Stripe, implementando checkout, assinaturas, webhooks e tratamento de reembolsos com práticas recomendadas compatíveis com PCI.

支持: Claude Codex Code(CC)
📊 69 充足
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“stripe-integration”。 Create a checkout session for a $49 product

预期结果:

I can help you create a Stripe checkout session. Here's the Python code:

```python
import stripe

stripe.api_key = 'sk_test_YOUR_KEY'

session = stripe.checkout.Session.create(
payment_method_types=['card'],
line_items=[{
'price_data': {
'currency': 'usd',
'product_data': {'name': 'Premium Widget'},
'unit_amount': 4900, # $49.00 in cents
},
'quantity': 1,
}],
mode='payment',
success_url='https://yoursite.com/success?session_id={CHECKOUT_SESSION_ID}',
cancel_url='https://yoursite.com/cancel',
)

# Redirect user to session.url
```

This creates a hosted checkout page. The user will be redirected to Stripe's secure payment form.

正在使用“stripe-integration”。 Handle a payment succeeded webhook securely

预期结果:

Here's a secure webhook handler using Flask with signature verification:

```python
from flask import Flask, request
import stripe

app = Flask(__name__)
endpoint_secret = 'whsec_YOUR_SECRET'

@app.route('/webhook', methods=['POST'])
def webhook():
payload = request.data
sig_header = request.headers.get('Stripe-Signature')

try:
event = stripe.Webhook.construct_event(
payload, sig_header, endpoint_secret
)
except ValueError:
return 'Invalid payload', 400
except stripe.error.SignatureVerificationError:
return 'Invalid signature', 400

if event['type'] == 'payment_intent.succeeded':
payment_intent = event['data']['object']
# Process the payment - update database, send receipt, etc.

return 'Success', 200
```

安全审计

安全
v1 • 2/25/2026

All 47 static findings are false positives. The skill contains legitimate Stripe payment integration documentation with Python code examples. Detected patterns (backtick execution, hardcoded URLs, API key access) are benign documentation artifacts: backticks are markdown code fences, URLs are placeholder examples, and API key patterns are documented placeholders showing where users should insert their own keys.

1
已扫描文件
457
分析行数
5
发现项
1
审计总数
中风险问题 (3)
External Command Detection in Code Blocks
Static scanner detected Ruby/shell backtick execution patterns at 26 locations. Investigation reveals these are FALSE POSITIVES - the detections are backticks used for markdown code fencing in Python code examples (e.g., `import stripe`, `stripe.api_key = ...`). This is legitimate documentation formatting, not command execution.
Hardcoded URLs in Code Examples
Static scanner detected hardcoded URLs. Investigation reveals these are FALSE POSITIVES - placeholder example URLs like 'https://yourdomain.com/success' in code samples showing users where to configure their own callback URLs.
Environment Variable Access for API Keys
Static scanner detected API key access patterns at lines 81 and 394. Investigation reveals these are FALSE POSITIVES - these are documented placeholders 'sk_test_...' showing users where to insert their own test API keys, a standard documentation practice for Stripe integration guides.
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
20
社区
90
安全
100
规范符合性

你能构建什么

Implementação de Checkout E-commerce

Adicione checkout Stripe a aplicações web para aceitar pagamentos únicos com páginas de checkout hospedadas.

Gerenciamento de Assinaturas SaaS

Configure cobrança recorrente para produtos SaaS com acesso ao portal do cliente e gerenciamento do ciclo de vida de assinaturas.

Processamento de Eventos Webhook

Processe eventos de pagamento com segurança usando verificação de assinatura e tratamento idempotente para sistemas de produção.

试试这些提示

Configuração Básica de Checkout
Ajude-me a configurar um fluxo de checkout Stripe básico para um pagamento único de $29. Mostre como criar uma sess��o de checkout e redirecionar o usuário.
Criação de Assinatura
Crie um fluxo de checkout de assinatura para um serviço mensal de $19/mês. Inclua criação de cliente e ativação de assinatura.
Tratador de Webhook
Escreva um tratador de webhook seguro em Python que verifique a assinatura Stripe e processe eventos payment_intent.succeeded.
Processamento de Reembolso
Mostre como implementar reembolsos parciais e tratar o fluxo de reembolso incluindo códigos de motivo.

最佳实践

  • Sempre verifique assinaturas de webhook usando stripe.Webhook.construct_event para evitar eventos falsificados
  • Use as páginas de checkout hospedadas do Stripe para minimizar a carga de conformidade PCI
  • Trate eventos de webhook de forma idempotente verificando IDs de eventos duplicados antes do processamento
  • Armazene apenas IDs de método de pagamento, nunca dados brutos de cartão, para manter conformidade PCI
  • Use chaves de modo de teste durante o desenvolvimento e verifique todos os fluxos de pagamento com números de cartão de teste

避免

  • Não confie apenas na confirmação de pagamento do lado do cliente - sempre verifique via webhooks
  • Não coloque chaves de API hardcoded no código fonte - use variáveis de ambiente ou gerenciamento de segredos
  • Não processe o mesmo evento de webhook duas vezes - implemente verificações de idempotência
  • Não use chaves de API de produção no modo de teste ou cartões de teste em produção

常见问题

Qual é a diferença entre Checkout Sessions e Payment Intents?
Checkout Sessions usam a página de pagamento hospedada do Stripe para esforço mínimo de implementação e conformidade PCI. Payment Intents fornecem controle total para construir uma UI de pagamento personalizada dentro do seu aplicativo.
Como verifico que os webhooks realmente vêm do Stripe?
Use stripe.Webhook.construct_event() com seu segredo de endpoint para verificar o cabeçalho Stripe-Signature. Isso garante que a solicitação veio genuinamente do Stripe.
Quais são os números de cartão de teste que posso usar?
Use 4242424242424242 para pagamentos bem-sucedidos, 4000000000000002 para cartões recusados e 4000002500003155 para cartões que exigem 3D Secure.
Como trato Strong Customer Authentication (SCA) para clientes europeus?
O Stripe lida automaticamente com SCA quando você usa Checkout Sessions ou habilita automatic_payment_methods. Para fluxos personalizados, use Stripe Elements com os novos fluxos de autenticação.
Posso processar reembolsos parciais?
Sim, forneça o parâmetro amount em centavos ao criar um reembolso. Sem ele, o Stripe processa um reembolso total. Você pode emitir múltiplos reembolsos parciais até o valor do pagamento original.
Como dou acesso aos clientes para gerenciar suas assinaturas?
Use o Stripe Billing Portal chamando stripe.billing_portal.Session.create() com o ID do cliente. Isso fornece uma página hospedada pelo Stripe para clientes atualizarem métodos de pagamento, cancelar ou pausar assinaturas.

开发者详情

文件结构

📄 SKILL.md