agentleFS
YOSSII812001YOSSII812001/claude-code-jarvis/skills/payjp-cli/SKILL.md

PAY.JP CLI Operations

Skill1 starsChanged 7 months agoMITView on GitHub

PAY.JP決済の開発・テストにPAY.JP CLIを使用。Webhook開発、決済フロー検証、PayPay連携テストなど。 トリガー: "payjp", "pay.jp", "PAY.JP", "payjp-cli", "payjp決済", "PayPay決済"

  • Installs packages

The file

Files
SKILL.md

PAY.JP CLI ガイド

概要

PAY.JP決済機能の開発・テストにはPAY.JP CLI(payjp-cli)を使用してください。 現在はWebhookイベントのローカル受信機能を提供。テストモード専用。

インストール確認

payjp-cli --version

インストールされていない場合:

# Windows (scoop)
scoop bucket add payjp https://github.com/payjp/scoop-bucket.git
scoop install payjp-cli

# macOS (Homebrew)
brew install payjp/tap/payjp-cli

# その他: GitHub Releasesからバイナリ取得
# https://github.com/payjp/payjp-cli/releases

基本コマンド

認証

# ログイン(ブラウザ認証、ペアリングコード表示)
payjp-cli login

# プロファイル指定(複数アカウント管理)
payjp-cli login --profile my-project

Webhook開発(主要機能)

# ローカルWebhookリスナー起動(ターミナル表示のみ)
payjp-cli listen

# ローカルサーバーへ転送
payjp-cli listen --forward-to http://localhost:3000/api/webhooks/payjp

# 特定イベントのみフィルタ
payjp-cli listen --events payment_flow.succeeded,setup_flow.succeeded --forward-to http://localhost:3000/api/webhooks/payjp

# プロファイル指定
payjp-cli listen --forward-to http://localhost:3000/api/webhooks/payjp --profile my-project

PAY.JP v2 API リソース

主要リソース

リソース説明プレフィックス
Payment Flow決済フロー(v2中核)pf_
Setup Flow支払い方法登録フローsf_
Payment Method支払い方法(カード等)pm_
Customer顧客cus_
Product商品prod_
Price価格price_
Refund返金re_

主要エンドポイント

# Payment Flow(決済)
POST   /v2/payment_flows           # 作成
GET    /v2/payment_flows/{id}      # 取得
POST   /v2/payment_flows/{id}/confirm  # 確認
POST   /v2/payment_flows/{id}/capture  # 確定
POST   /v2/payment_flows/{id}/cancel   # キャンセル

# Setup Flow(支払い方法登録)
POST   /v2/setup_flows             # 作成
GET    /v2/setup_flows/{id}        # 取得
POST   /v2/setup_flows/{id}/confirm    # 確認
POST   /v2/setup_flows/{id}/cancel     # キャンセル

# Payment Method
POST   /v2/payment_methods         # 作成(テストモードのみ)
GET    /v2/payment_methods         # 一覧
GET    /v2/payment_methods/{id}    # 取得
POST   /v2/payment_methods/{id}    # 更新
POST   /v2/payment_methods/{id}/attach  # 顧客に紐付け
POST   /v2/payment_methods/{id}/detach  # 顧客から削除

# Customer / Product / Price
POST   /v2/customers               # 顧客作成
GET    /v2/customers               # 一覧
POST   /v2/products                # 商品作成
POST   /v2/prices                  # 価格作成

認証方法

# HTTP Basic Auth(テストキー)
curl https://api.pay.jp/v2/payment_flows \
  -u sk_test_xxxxxxxxxxxxxxxxxxxx:

# HTTP Bearer Auth
curl https://api.pay.jp/v2/payment_flows \
  -H "Authorization: Bearer sk_test_xxxxxxxxxxxxxxxxxxxx"

キー形式:

キー用途
pk_test_テスト公開キー(クライアント側)
sk_test_テストシークレットキー(サーバー側)
pk_live_本番公開キー
sk_live_本番シークレットキー

Webhookイベント一覧

Payment Flow イベント

イベント説明
payment_flow.created決済フロー作成
payment_flow.succeeded決済成功
payment_flow.canceled決済キャンセル
payment_flow.payment_failed決済失敗
payment_flow.requires_action3Dセキュア等の追加認証必要
payment_flow.processing処理中
payment_flow.amount_capturable_updatedキャプチャ可能額変更

Setup Flow イベント

イベント説明
setup_flow.createdセットアップ作成
setup_flow.succeededセットアップ完了
setup_flow.canceledキャンセル
setup_flow.requires_action追加認証必要
setup_flow.setup_failedセットアップ失敗

Payment Method イベント

イベント説明
payment_method.attached顧客に紐付け
payment_method.detached顧客から削除
payment_method.updated更新

Checkout イベント

イベント説明
checkout.session.completedチェックアウト完了
checkout.session.expiredセッション期限切れ

Customer イベント

イベント説明
customer.created顧客作成
customer.updated顧客更新
customer.deleted顧客削除

Refund / Catalog / Financial イベント

イベント説明
refund.created / updated / failed返金関連
product.created / updated / deleted商品関連
price.created / updated / deleted価格関連
tax_rate.created / updated税率関連
dispute.createdチャージバック
term.created / closed精算期間
statement.created取引明細
balance.created / fixed / closed / merged残高関連

Webhook実装ガイド

ヘッダー構造

Content-Type: application/json; charset=utf-8
X-Payjp-Webhook-Token: whook_xxxxxxxxxxxxx

⚠️ Webhook実装の重要ポイント

  • 応答: 10秒以内に 2xx を返すこと
  • リトライ: 非2xx応答は3分間隔で最大3回リトライ
  • 検証: X-Payjp-Webhook-Token ヘッダーのトークンをダッシュボードの値と照合
  • Stripeとの違い: Stripeはsigning secret + HMAC署名検証だが、PAY.JPはトークン一致検証

Webhook開発フロー

  1. payjp-cli listen --forward-to http://localhost:3000/api/webhooks/payjp 起動
  2. ダッシュボードでWebhookトークンを確認し環境変数に設定
  3. ローカルでイベント処理を実装・テスト

テストカード

成功するカード

カード番号ブランド
4242 4242 4242 4242Visa
4012 8888 8888 1881Visa
5555 5555 5555 4444Mastercard
5105 1051 0510 5100Mastercard
3530 1113 3330 0000JCB
3566 0020 2036 0505JCB
3782 822463 10005American Express
3714 496353 98431American Express
3852 0000 0232 37Diners Club
3056 9309 0259 04Diners Club
6011 1111 1111 1117Discover
6011 0009 9013 9424Discover

海外発行カード

カード番号ブランド
4000 0009 0000 0003Visa(海外)

エラーを返すカード(支払い作成時)

カード番号用途
4000 0000 0000 0002汎用拒否
4000 0000 0000 0069有効期限エラー
4000 0000 0000 0127CVCエラー
4000 0000 0000 0119処理エラー
4000 0000 0000 3720不正検知
3622 7206 2716 67カード会社拒否

エラーを返すカード(支払い時)

カード番号用途
4000 0000 0008 0319支払い拒否
4000 0000 0000 4012金額超過
4000 0000 0008 0202タイムアウト
4000 0000 0000 0077処理失敗

特定ステータスカード

カード番号用途
4000 0000 0000 0036保留
4000 0000 0000 0101レビュー
4000 0000 0000 0044ブロック

対応決済方法

方法状態備考
クレジット/デビットカード✅ GAVisa/MC/JCB/Amex/Diners/Discover
PayPay✅ GAQRコード決済(Usacon導入予定)
Apple Pay✅ GAiOS/Safari

エラーコード

コードHTTPステータス説明
validation_error422リクエスト検証失敗
not_found404リソース未検出
invalid_apple_pay_token400Apple Payトークン無効
payment_method_already_attached400既に紐付け済み
invalid_status400無効なステータス遷移
metadata_limit_exceeded400メタデータ上限超過(最大20項目)
Payment Failed402決済失敗

Stripe → PAY.JP 移行のマッピング

Usaconで将来Stripe併用/移行する際の参考:

StripePAY.JP v2備考
PaymentIntentPayment Flowステータス遷移も類似
SetupIntentSetup Flow支払い方法の事前登録
PaymentMethodPayment Methodカード・PayPay等
CustomerCustomer同一概念
Product / PriceProduct / Price同一概念
RefundRefund同一概念
stripe listenpayjp-cli listenWebhook転送
stripe trigger(未対応)PAY.JP CLIにはtrigger機能なし
Signing Secret + HMACWebhook Token照合検証方式が異なる
stripe customers listcurl -u sk_test_:PAY.JP CLIにはリソース操作コマンドなし

チェックリスト

  • テストモード(sk_test_)で実行しているか確認したか
  • payjp-cli listen がローカルで起動中か
  • Webhookトークン検証が実装されているか
  • メタデータは20項目以内に収まっているか
  • 10秒以内に2xx応答を返しているか
  • 3Dセキュア(requires_action)ハンドリングが実装されているか

トラブルシューティング

症状原因対処
payjp-cli login が失敗認証トークン期限切れブラウザで再認証
Webhookイベントが届かないpayjp-cli listen 未起動payjp-cli listen --forward-to ... を起動
テスト決済が拒否される本番キー使用sk_test_ キーに切り替え
本番イベントが受信できないCLIはテストモード専用本番Webhookはダッシュボードで設定
複数アカウント切替プロファイル未設定--profile オプションを使用
trigger コマンドが見つからないPAY.JP CLIは未対応ダッシュボードまたはAPIで直接テストイベント作成

関連スキル

  • stripe-cli — Stripe決済操作(現在のUsacon決済基盤)
  • usacon — 決済統合の実プロジェクト

参考

改訂履歴

日付変更内容変更理由
2026-04-07初版作成Usacon将来のPayPay決済導入に備えたPAY.JP CLIスキル

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.