開発者ドキュメント

確認済み支払い通知を再送

受信側修正後、CONFIRMED / COMPLETED の通知を再送します。キュー登録は配信完了ではありません。

POST /api/v1/webhooks/resend

認証をリクエスト

X-Bolt-Key、X-Bolt-Timestamp、X-Bolt-Signature を含めます。現在のミリ秒 timestamp を使用し、正確なリクエスト本文と一緒に署名します。

再送信するタイミング

システムで支払い確認の別の通知が必要な場合は、このエンドポイントを使用します。再送しても、支払いの回収、送金の調整、注文の作成は行われません。

再送信できるのは、自分の CONFIRMED または COMPLETED の注文のみです。 PENDING、PAID、およびその他の州は対象外です。

利用可能なアクティブな Webhook 構成が必要です。配信タスクが永続化されていない場合、エンドポイントは QUEUED の代わりにエラーを返します。

01. リクエストパラメータ

application/json
externalOrderId必須
String

orderToken ではなく、注文作成時に指定された販売者 externalOrderId を送信します。現在の API キーに属する注文の通知のみを再送信できます。

値の例

{"externalOrderId": "INV-20260209-99281"}

必須の文字列、6 ~ 64 文字。文字、数字、アンダースコア (_)、およびハイフン (-) を使用できます。

Body

02. 応答フィールド (data)

application/json
notifyUrlString
注文に記録されたコールバック アドレス。 null の場合があります。配送ではこのアドレスが優先され、アドレスのない古い注文の場合は、関連付けられた Webhook 設定にフォールバックします。
externalOrderIdString
この再送に関連付けられている販売者の注文 ID は、リクエスト externalOrderId と一致します。
triggerTypeEnum
このエンドポイントの応答では常に MANUAL となり、販売者が再送信を要求したことを示します。決済決済タイプではございません。
statusEnum
再送信リクエストのステータス。 QUEUED は、タスクが永続化されたことを意味します。これは支払い状況でも配達証明でもありません。

QUEUED は非同期送信用のタスクが保存されたことを示し、通知が届いたことは示しません。加盟店ダッシュボードの配信履歴と受信側の HTTP 2xx 応答を確認してください。

🚀
受信者の処理

X-Bolt-Webhook-Timestamp と X-Bolt-Webhook-Signature を確認し、履行前に eventId または販売者の注文 ID によって重複を排除します。すでに正常に処理された重複通知については、HTTP 2xx を返します。

  • triggerType: MANUAL は、再送信応答とダッシュボード配信レコードに表示されます。現在の Webhook リクエスト本文には triggerType が含まれていません。再送信を識別するためにこれに依存しないでください。
  • 呼び出しが成功するたびに、独立した配信タスクが作成されます。リクエストを繰り返すと複数の通知が送信される場合があります。再送信する前に配信ログを確認してください。リプレイでは論理 eventId が保持されます。
  • このエンドポイントは注文のコールバック宛先を再利用し、新しい URL を受け入れません。ダッシュボードのデフォルトを変更しても、注文にすでに保存されている住所は置き換えられません。
Safe

一般的なエラー

これらは一般的なケースです。実際の HTTP ステータスと応答コード/メッセージを使用して、障害を診断します。エラー応答は支払い結果ではありません。

  • 401: API キー、生の本体署名、および現在のミリ秒 timestamp (サーバー クロックの 5 分以内) を確認します。
  • 404: 注文が見つからないか、別の販売者に属しているか、プランで許可されている履歴の範囲外です。
  • 400: 注文は CONFIRMED / COMPLETED ではないか、利用可能な Webhook 設定と正常に保存された配信タスクがありません。
resend / cURL
# Run against your account only when ready; this sends an API request.
: "${BOLTUTIL_API_KEY:?Set your complete API Key}"
: "${BOLTUTIL_WEBHOOK_SECRET:?Set your Webhook secret}"
timestamp=$(python3 -c 'import time; print(int(time.time()*1000))')
body='{"externalOrderId":"INV-20260209-99281"}'
signature=$(printf '%s.%s' "$timestamp" "$body" | openssl dgst -sha256 -hmac "$BOLTUTIL_WEBHOOK_SECRET" | awk '{print $NF}')

curl --request POST "https://api.boltutil.com/api/v1/webhooks/resend" \
  --header 'Content-Type: application/json' \
  --header "X-Bolt-Key: $BOLTUTIL_API_KEY" \
  --header "X-Bolt-Timestamp: $timestamp" \
  --header "X-Bolt-Signature: $signature" \
  --data-binary "$body"

アドレス、トランザクション ハッシュ、注文は例です。これらを独自のテスト data に置き換えます。

Base URL

PROD
https://api.boltutil.com