claude-skills/

Anthropic公式スキル・プラグインの日本語ディレクトリ

last sync 22h ago
スキルOfficialdevelopment

💳sumup

プラグイン
sumup
ライセンス
Apache-2.0

説明

SumUpのチェックアウトフローをエンドツーエンドで実装します。 次のような場合に使用: - SumUp Checkouts APIの呼び出しの実装またはレビュー - Card Widgetのマウント処理 - Hosted Checkoutのセットアップ - 繰り返し課金のトークン化(recurring tokenization) - Terminal SDK / Cloud API を使用したリーダー端末でのチェックアウト - 3DS認証 / Webhookのハンドリング

原文を表示

Implement SumUp checkout flows end-to-end. Use when writing or reviewing SumUp Checkouts API calls, Card Widget mounts, Hosted Checkout setup, recurring tokenization, Terminal SDK / Cloud API reader checkouts, or 3DS / webhook handling.

ユースケース

  • SumUp Checkouts APIの呼び出しを実装するとき
  • Card Widgetのマウント処理を行うとき
  • Hosted Checkoutをセットアップするとき
  • 繰り返し課金のトークン化を実装するとき
  • 3DS認証やWebhookをハンドリングするとき

本文(日本語訳)

SumUp チェックアウト統合

ナレッジおよびAPIは変更される場合があります。古いメモリよりも、常に最新のSumUpドキュメント(Markdown形式)を優先してください。

  • ドキュメントルート: https://developer.sumup.com/
  • LLMエントリポイント: https://developer.sumup.com/llms.txt
  • Markdownページ形式の例: https://developer.sumup.com/terminal-payments/cloud-api/index.md

次のような場合に使用: SumUpのエンドツーエンドチェックアウトを実装するとき。

  • ターミナル決済(ネイティブモバイルSDK、SoloデバイスのCloud API、またはPayment Switch)
  • オンライン決済(Card WidgetおよびAPIオーケストレーション型チェックアウトフロー)

関連スキル

  • sumup-best-practices — 統合パスおよびセキュリティに関する判断
  • upgrade-sumup — SDK/APIバージョンのアップグレードおよびマイグレーション
  • sumup-debug — 失敗した統合のトラブルシューティング
  • sumup-mcphttps://mcp.sumup.com/mcp の設定と使用
  • sumup-testing — サンドボックスのセットアップおよびエンドツーエンドQA

クイック判断ツリー

決済を受け付ける必要がありますか?
├─ 対面(カード提示あり)→ terminal
│  ├─ ネイティブモバイルアプリ+直接リーダーフロー → terminal/mobile(iOS SDK または Android Reader SDK)
│  ├─ 非ネイティブPOS/バックエンドがSoloリーダーを制御 → terminal/platform-agnostic(Cloud API)
│  └─ SumUpアプリへのレガシー引き渡しが明示的に必要 → terminal/legacy-lightweight(Payment Switch)
└─ オンライン(カード提示なし)→ online
   ├─ 最速・埋め込み不要・リダイレクトOK → online/no-code(Hosted Checkout)
   ├─ 埋め込みUI・PCIの負担なし → online/low-complexity(Card Widget)
   ├─ モバイルアプリ(iOSネイティブ | React Native)→ online/mobile(Swift / React Native SDK)
   ├─ カード保存/サブスクリプション → online/recurring(Customers + トークン化)
   └─ カスタムオーケストレーション → online/custom(Checkouts API + 3DS + Webhook)

始め方

  1. 要求されるフローを分類する:

    • terminal: 対面カード提示決済
    • online: ECサイト/Web/アプリのカード非提示決済
    • hybrid: 両方(例: Webチェックアウト+店舗内Solo)
  2. 統合パスを選択する:

    • terminal/mobile: iOS SDK または Android Reader SDK
    • terminal/platform-agnostic: SoloリーダーとのCloud API
    • terminal/legacy-lightweight: Payment Switch
    • online/no-code: Hosted Checkout
    • online/low-complexity: Card Widget
    • online/mobile: Swift Checkout SDK または React Native SDK
    • online/recurring: Customers + トークン化 + 定期課金
    • online/custom: Checkouts API + 3DS + Webhook
  3. 認証情報と環境を確認する:

    • APIキーまたはOAuthアクセストークン
    • カード提示フロー用のAffiliate Key
    • マーチャントコードと通貨の整合性
    • 本番環境以外のテスト用サンドボックスマーチャントアカウント
  4. 実装前に不足している重要な入力情報を確認する:

    • 統合チャネル(モバイルSDK、Cloud API、Card Widget、またはAPIオーケストレーション)
    • 対象市場/通貨およびマーチャントコード
    • 認証モデル(APIキー vs OAuth)
    • Webhookエンドポイントとべき等性(Idempotency)戦略
    • 既存の制約(レガシー互換性、マイグレーション、PCIスコープ)
  5. references/checkout-playbook.md に記載された実装パターンを適用する。

  6. references/README.md を参照し、リクエストに最も関連するエントリポイントを1つだけ開く。


変更不可のルール

  • シークレットAPIキーおよびOAuthクライアントシークレットは、必ずサーバーサイドのみで保持すること。
  • 生のPAN(カード番号)データを直接扱わないこと。
  • オンラインチェックアウトはサーバー間(Server-to-Server)で作成すること。
  • 生のカード情報を取り扱わないよう、Card WidgetおよびSDKが提供するチェックアウト体験を優先すること。
  • カード提示統合では、Affiliate Keyを含め、アプリ識別子がKey設定と一致していることを確認すること。
  • ユーザーから明示的に要求された場合、またはレガシー上の強い制約がある場合を除き、Payment Switchの使用を避けること。
  • 重複防止と照合精度向上のため、ユニークなトランザクションリファレンス(checkout_referenceforeignTransactionId など)を使用すること。
  • 非推奨(deprecated)とマークされたエンドポイントを使用しないこと。
  • 同等の代替手段がある場合は、merchant_code を明示的なパラメータとして受け付けるエンドポイントを優先すること。
  • Webhookイベントは通知としてのみ扱うこと。状態の確認はAPIの読み取りを通じて行うこと。
  • Widget/クライアントコールバックが成功を報告した後も、注文/決済の成功を確定する前に、必ずバックエンドで最終的なチェックアウト状態を検証すること。

実装ワークフロー

  1. 認証とマーチャントコンテキストをセットアップする。
  2. ユニークなリファレンスと正しい通貨を指定してチェックアウトリクエストを作成する。
  3. 選択したチャネルでチェックアウトを完了する:
    • ターミナルSDKのチェックアウト呼び出し
    • Cloud APIリーダーチェックアウト
    • Card Widget
    • ダイレクトチェックアウト処理フロー
  4. 非同期の結果を処理する:
    • SDKコールバック/Activityリザルト/イベントストリーム
    • 3DSの next_step リダイレクトフロー
    • Webhook配信 + API検証
  5. 正規化された結果(ステータス、トランザクション識別子、リトライガイダンス)を返す。

必須レスポンス要件

すべてのソリューションは以下を明記すること:

  1. 選択した統合パスとその理由。
  2. エンドツーエンドのシーケンス(サーバー、クライアント、Webhook/非同期検証)。
  3. 使用するエンドポイントの一覧(非推奨エンドポイントが含まれていないこと、merchant_code を受け付けるエンドポイントを優先していることを確認)。
  4. 失敗時およびリトライの処理(タイムアウト、重複リファレンス、Webhookリトライ)。
  5. 成功・意図的な失敗・照合確認のテスト計画。

バリデーションチェックリスト

  • 決済成功と意図的な失敗(テストモードで amount = 11)の両ケースをテストし、確認すること。
  • トランザクションリファレンスが重複した場合の挙動を確認すること。
  • 選択したチェックアウトパスにおけるタイムアウト/セッション期限切れの挙動を確認すること。
  • Webhookのリトライとべき等性のある処理を確認すること。
  • 照合フィールドが保存されていることを確認すること(チェックアウトID、トランザクションID/コード、マーチャントコード、リファレンス)。

リファレンス

  • references/README.md を参照し、適切なリファレンスファイルを選択すること。
  • 各リファレンスファイルには固有の正規MarkdownドキュメントURLが含まれています。古いメモリよりもそのURLを優先してください。
  • リクエストが対応するフローにマッピングされる場合は、references/hosted-checkout/README.mdreferences/recurring-tokenization/README.md、または references/security/README.md を直接開いてください。
原文(English)を表示

SumUp Checkout Integrations

Knowledge and APIs can change. Always prefer the latest SumUp docs in markdown format over stale memory.

  • Docs root: https://developer.sumup.com/
  • LLM entrypoint: https://developer.sumup.com/llms.txt
  • Markdown page format example: https://developer.sumup.com/terminal-payments/cloud-api/index.md

Use this skill to implement end-to-end SumUp checkouts for:

  • Terminal payments (native mobile SDKs, Cloud API for Solo, or Payment Switch)
  • Online payments (Card Widget and API-orchestrated checkout flow)

Related Skills

  • sumup-best-practices for integration-path and security decisions.
  • upgrade-sumup for SDK/API version upgrades and migrations.
  • sumup-debug for troubleshooting failing integrations.
  • sumup-mcp for configuring and using https://mcp.sumup.com/mcp.
  • sumup-testing for sandbox setup and end-to-end QA.

Quick Decision Tree

Need to accept a payment?
├─ In-person (card-present) → terminal
│  ├─ Native mobile app + direct reader flow → terminal/mobile (iOS SDK or Android Reader SDK)
│  ├─ Non-native POS/backend controls Solo reader → terminal/platform-agnostic (Cloud API)
│  └─ Legacy app handoff to SumUp app explicitly required → terminal/legacy-lightweight (Payment Switch)
└─ Online (card-not-present) → online
   ├─ Fastest, no embed needed, redirect OK → online/no-code (Hosted Checkout)
   ├─ Embedded UI, no PCI burden → online/low-complexity (Card Widget)
   ├─ Mobile app (iOS native | React Native) → online/mobile (Swift / React Native SDK)
   ├─ Save card / subscriptions → online/recurring (Customers + tokenization)
   └─ Custom orchestration → online/custom (Checkouts API + 3DS + webhooks)

Start Here

  1. Classify the requested flow:
    • terminal: in-person card-present payment
    • online: e-commerce/web/app card-not-present payment
    • hybrid: both (for example, web checkout + in-store Solo)
  2. Pick integration path:
    • terminal/mobile: iOS SDK or Android Reader SDK
    • terminal/platform-agnostic: Cloud API with Solo readers
    • terminal/legacy-lightweight: Payment Switch
    • online/no-code: Hosted Checkout
    • online/low-complexity: Card Widget
    • online/mobile: Swift Checkout SDK or React Native SDK
    • online/recurring: Customers + tokenization + recurring charges
    • online/custom: Checkouts API + 3DS + webhooks
  3. Confirm credentials and environment:
    • API key or OAuth access token
    • Affiliate Key for card-present flows
    • Merchant code and currency alignment
    • Sandbox merchant account for non-production testing
  4. Ask for missing critical inputs before implementation:
    • integration channel (mobile SDK, Cloud API, Card Widget, or API-orchestrated)
    • target market/currency and merchant code
    • auth model (API key vs OAuth)
    • webhook endpoint and idempotency strategy
    • existing constraints (legacy compatibility, migration, PCI scope)
  5. Apply the implementation pattern from references/checkout-playbook.md.
  6. Use references/README.md and open only the single most relevant entrypoint for the request.

Non-Negotiable Rules

  • Keep secret API keys and OAuth client secrets server-side only.
  • Never handle raw PAN/card data directly.
  • Create online checkouts server-to-server.
  • Prefer Card Widget and SDK-provided checkout experiences to avoid handling raw card details.
  • For card-present integrations, include the Affiliate Key and ensure app identifiers match the key setup.
  • Avoid Payment Switch unless the user explicitly requests it or has a hard legacy constraint.
  • Use unique transaction references (checkout_reference, foreignTransactionId, or equivalent) to prevent duplicates and improve reconciliation.
  • Do not use endpoints marked as deprecated.
  • Prefer endpoints that accept merchant_code as an explicit parameter when equivalent alternatives exist.
  • Treat webhook events as notifications only; verify state through API reads.
  • After a widget/client callback reports success, always verify final checkout state on the backend before confirming order/payment success.

Implementation Workflow

  1. Set up auth and merchant context.
  2. Create checkout request with unique reference and correct currency.
  3. Complete checkout via chosen channel:
    • terminal SDK checkout call
    • Cloud API reader checkout
    • Card Widget
    • direct checkout processing flow
  4. Handle async outcomes:
    • SDK callback / activity result / event stream
    • 3DS next_step redirect flow
    • webhook delivery + API verification
  5. Return normalized result (status, transaction identifiers, retry guidance).

Required Response Contract

Every solution should state:

  1. Chosen integration path and why.
  2. End-to-end sequence (server, client, webhook/async verification).
  3. Exact endpoint set, confirming no deprecated endpoints and preference for merchant_code-accepting endpoints.
  4. Failure and retry handling (timeouts, duplicate refs, webhook retries).
  5. Test plan for success, deliberate failure, and reconciliation checks.

Validation Checklist

  • Test and capture both successful payment and deliberate failure case (amount = 11 in test mode).
  • Verify behavior for duplicate transaction references.
  • Verify timeout/session expiry behavior in the selected checkout path.
  • Verify webhook retries and idempotent processing.
  • Verify reconciliation fields are stored (checkout id, transaction id/code, merchant code, reference).

References

  • Use references/README.md to pick the right reference file.
  • Each reference file includes its own canonical markdown docs URL. Prefer that URL over stale memory.
  • Open references/hosted-checkout/README.md, references/recurring-tokenization/README.md, or references/security/README.md directly when the request maps to those flows.

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。