デモモード — 外部APIは呼び出さず、ダミーで決済を生成します。
システム通知(決済結果通知 / Webhook)
システム通知先URL/api/demo/webhook-receiver?result=error
通知の型form-urlencoded (POST)
送信パラメータセットフル(標準 + ドメイン / トランザクションID)
決済識別子の形式両方
送信リクエストのサンプル
上の設定に応じてリアルタイムに更新されます
リクエスト
POST /api/demo/webhook-receiver?result=errorヘッダー
Content-Type: application/x-www-form-urlencoded X-Signature: v1=3f0c9c5d8f2b1a7e6d4c2b1a0f9e8d7c6b5a4f3e2d1c0b9a8f7e6d5c4b3a2f1e X-Timestamp: 1756697696 Wirepay-Signature: t=1756697696,v1=3f0c9c5d8f2b1a7e6d4c2b1a0f9e8d7c6b5a4f3e2d1c0b9a8f7e6d5c4b3a2f1e User-Agent: WirePay-Notify/1.0
ボディ
payment_id=pay_01J9X4M8K2Q7Z3T6&transaction_id=txn_stripe_3QbX9y2eZvKYlo2C&event=payment.completed&merchant_id=MER-00002&amount=4980¤cy=JPY&paid_at=2026-09-01T12%3A34%3A56%2B09%3A00&status=captured&payment_method=credit&user_id=user_10293&product_id=SKU-2026-0042&domain=shop.example.com
パラメータ一覧
| 名前 | サンプル値 | 説明 | 区分 |
|---|---|---|---|
| payment_id | pay_01J9X4M8K2Q7Z3T6 | Wire Pay が発行する一意の決済ID | 識別子 |
| transaction_id | txn_stripe_3QbX9y2eZvKYlo2C | 決済代行(PSP)側のトランザクションID | 識別子 |
| event | payment.completed | 通知の種類(payment.completed / payment.failed / payment.expired / payment.cancelled / refund.completed / limit.exceeded / chargeback.opened / subscription.* )。常に含まれます | 最小 |
| merchant_id | MER-00002 | 加盟店ID | 最小 |
| amount | 4980 | 決済金額(円、整数) | 最小 |
| currency | JPY | 通貨コード(JPY 固定) | 最小 |
| paid_at | 2026-09-01T12:34:56+09:00 | 決済日時(ISO 8601、JST) | 最小 |
| status | captured | 決済ステータス(captured / refunded など) | 最小 |
| payment_method | credit | 決済種別(credit / qr / konbini / bank / other) | 標準 |
| user_id | user_10293 | 加盟店側のユーザーID(決済作成時に指定) | 標準 |
| product_id | SKU-2026-0042 | 商品ID(決済作成時に指定) | 標準 |
| domain | shop.example.com | 決済が行われたサイトのドメイン | フル |
署名の検証
X-Signature ヘッダは v1=<HMAC-SHA256(鍵, "<X-Timestamp>.<ペイロード>")> の 16 進表記です。鍵は加盟店の署名シークレット(通知と同じ環境の最新の有効なもの)です。署名シークレットが無い環境への通知は送信されません。ペイロードは POST ならボディ、GET ならクエリ文字列(? の後ろ)です。受信側は同じ計算で v1 を検証し、X-Timestamp が 5 分以上古い場合は拒否してください。互換のため Wirepay-Signature(t=<秒>,v1=<同じ値>)も送ります。
2xx 以外の応答または 10 秒以内に応答が無い場合、1 分 → 5 分 → 30 分 → 2 時間 → 24 時間の間隔で最大 5 回まで再送します。同じ payment_id と event の通知は冪等に処理してください。