跳到正文
cccskills
免费在 GitHub 公开

trace-a-payment

Investigate Stripe payment failures, invoice amounts, payouts, and subscription status by following related records. Explain findings with record IDs, currency, and account mode, accounting for fees, refunds, and disputes when calculating money retained.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Answer a question about money that already moved in Stripe — why a charge failed, what a customer was billed, where an invoice or payout stands — by reading the object chain instead of guessing from a dashboard total. Use when the user pastes a Stripe id, asks why a payment failed, asks what a customer is paying, or wants revenue, invoice, or subscription state.

集成工具Stripe
查看安装方法

适用场景

  • Investigate why a payment failed
  • Explain the amount on a customer invoice
  • Calculate retained funds after fees and refunds
  • Check payout progress and subscription status

包含的文件(1)

  • SKILL.md5.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Read the chain, not one object

A Stripe answer is only as good as the objects it was read from. Every question about money that already moved has an exact object chain behind it, and the chain is short. Walk it.

1. Say which account and which mode you are in

Start with get_stripe_account_info. Live mode and a sandbox are separate worlds that share nothing: an id created in one returns "No such charge" in the other, which reads like a deleted record rather than a wrong environment. Name the account and the mode in your answer so the user can tell whether you looked where they meant.

2. Let the id prefix tell you what you are holding

Stripe ids are typed. ch_ is a charge, pi_ a PaymentIntent, cus_ a customer, in_ an invoice, sub_ a subscription, cs_ a Checkout Session, re_ a refund, dp_ a dispute, po_ a payout, txn_ a balance transaction. Use stripe_api_search to find the right method, stripe_api_details to get its real parameters, then stripe_api_read. Never invent a field name: the details tool exists so you do not have to.

3. For a failure, read the decline, not the status

status: "requires_payment_method" says nothing a user can act on. The cause lives in two places:

  • The PaymentIntent's last_payment_error: the decline code and message.
  • The charge's outcome: network_status, reason, risk_level, seller_message, which is the sentence written for you to pass on, and advice_code.

Read the retry decision off advice_code, not off the decline code. It has three values and each is Stripe's advice rather than a verdict: try_again_later means a retry may work, do_not_try_again means Stripe advises against reusing the card for this transaction, and confirm_card_data means some of the submitted card details are wrong and the customer should check them against the card. Stale details on a stored payment method trigger that one as readily as a typo does. The decline code answers a different question, and most of them are vague on purpose: do_not_honor and generic_decline both mean "the issuer declined and did not say why", so calling either permanent is a guess the advice code already settles.

To tell an issuer decline from a payment Stripe Radar blocked before the issuer ever saw it, read outcome.type: blocked with a reason such as highest_risk_level is Radar. A network_status of not_sent_to_network says only that the network never saw it, and a risk_level is attached to payments Radar allowed as well, so neither one attributes the failure on its own.

4. Follow the chain the question actually asks about

  • "Why this amount?" is invoice to subscription to price to product, plus discount and tax on the invoice. The number on the invoice is the end of a chain, not a fact in itself.
  • "What did we keep?" is charge to balance_transaction, which carries fee and net. The charge amount is not revenue, and that net is not the end of it either: a refund and a dispute each create their own balance transaction, so a refunded charge still reports the original net. Net off its refunds and disputes before reporting a figure, and page the refund list to the end: the charge embeds only the first ten, so a charge refunded in many parts overstates what you kept until has_more is false.
  • "Where is the money?" is get_balance_summary or payout to balance transactions, not the sum of recent charges.
  • "Is this customer current?" is subscription status plus current_period_end plus cancel_at_period_end. An active subscription with cancel_at_period_end: true is a churn you would otherwise report as healthy.

5. Convert amounts deliberately

Stripe amounts are integers in the smallest currency unit. amount: 2000 in USD is $20.00, but JPY has no minor unit, so amount: 2000 is 2000 yen, and dividing by 100 would under-report it by a hundredfold. Read the currency field, then convert. State the currency in every figure you report.

6. Answer with ids, mode, and the window

Quote the id of every object you read, the mode you read it in, and the time window for anything aggregated. For a count or a rate, prefer stripe_analytics over paging a list yourself: a list request defaults to 10 items and newest first, so "I found 10 charges" is a page size, not a finding.

Anti-patterns

  • Mixing modes. A sandbox id in a live-mode question returns a clean, confident 404. Check the mode before you believe the absence.
  • Reporting the charge amount as revenue. The fee lands on the charge's balance transaction; a refund or a dispute lands on its own, and neither rewrites the first one.
  • Trusting a list default. Lists are paginated; an unbounded "how many" answered from one page is wrong without saying so.
  • Explaining a decline from status. The actionable text is in outcome.seller_message and last_payment_error.
  • Reading one object and inferring the rest. A subscription's price is not the invoice total once a coupon, proration, or tax exists.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

10x

免费

Review how you use Superset and identify unused features that fit your workflow. Get a short list of suggestions, learn about each option, and set up selected features such as scheduled agents, parallel workspaces, or shared tasks.

中文简介正在准备中。当前显示英语简介。

  • Find unused Superset features worth exploring
  • Set up scheduled agent tasks
  • Start parallel work in separate workspaces
superset-sh/superset1.5万2026年10月23日 更新

automate

免费

Set up recurring tasks in Superset with an agent prompt, a schedule or event trigger, and a chosen execution workspace. After explicit confirmation, create the automation, check its saved settings, and review a real first run.

中文简介正在准备中。当前显示英语简介。

  • Scheduling a daily or weekly agent task
  • Starting agent work when a GitHub pull request opens
  • Triggering tasks from selected Slack reactions
superset-sh/superset1.5万2026年10月23日 更新

browser

免费

Browse pages, click controls, fill fields, and inspect screenshots or console messages through Superset's browser pane. Use it to preview a running web app, check interface behavior, and work through browser tasks in a visible session.

中文简介正在准备中。当前显示英语简介。

  • Preview a locally running web app
  • Capture screenshots of a page
  • Inspect console errors
superset-sh/superset1.5万2026年10月23日 更新

Build Stripe payments, subscriptions, and invoicing using verified documentation and API parameter definitions. The skill guides product selection, sandbox testing, and webhook handling, where server notifications determine payment and subscription state.

中文简介正在准备中。当前显示英语简介。

  • Choose Stripe products for payments or recurring billing
  • Implement Checkout or invoice flows
  • Investigate Stripe code that compiles but behaves incorrectly
superset-sh/superset1.5万2026年10月23日 更新

Verify desktop UI changes through the Chrome DevTools Protocol, a connection for controlling the running app. Reproduce the user’s actual steps and compare screenshots, measured state, and console errors to establish evidence before and after a fix.

中文简介正在准备中。当前显示英语简介。

  • Reproducing reported bugs in the running app
  • Comparing UI behavior before and after a fix
  • Checking state across navigation and reopening
superset-sh/superset1.5万2026年10月23日 更新

ci-triage

免费

Diagnose failed GitHub Actions runs by finding the first meaningful error, separating code problems from infrastructure issues and intermittent failures, and comparing the base branch. Get a focused report explaining the PR’s involvement and recommended next steps.

中文简介正在准备中。当前显示英语简介。

  • Investigating failed PR checks
  • Separating intermittent test failures from code defects
  • Checking whether the base branch already fails
superset-sh/superset1.5万2026年10月23日 更新

查看 superset-sh 的全部技能

报告此技能的问题