Webhookを使用するとAPIもしくはダッシュボード上で取引がされる毎に、自動的にOmiseサーバーから指定されたURLへHTTP通信で通知が送られる仕組みを指します。通知内容は、取引に関するペイロードのデータを含むイベントオブジェクトで選択したURLに送信されます。送信先URLは何回でも変更が可能で、テストモードとライブモードでURLを使い分ける事も出来ます。全てのイベントデータは、ダッシュボード内の”イベント”で確認を行うか、APIから直接取得する仕組みになっています。
OmiseのWebhookでは、有効なSSL証明書のあるHTTPSのURLがご利用いただけます。www.letsencrypt.orgから無料のSSL証明書を取得できます。SSL testよりWebhook URLを検証可能です。
イベントのリスト
課金に関するイベント
Event Name |
Trigger |
charge.create |
課金が作成された時 |
charge.update |
課金が更新された時 |
charge.capture |
課金が実売上化された時 (マニュアルキャプチャー設定の場合) |
charge.reverse |
課金が取消された時 (マニュアルキャプチャー設定の場合) |
charge.complete |
課金が完了した時 (3Dセキュア、アリペイ、及びインターネットバンキング利用時) |
顧客に関するイベント
Event Name |
Trigger |
customer.create |
顧客が作成された時 |
customer.update |
顧客が更新された時 |
customer.destroy |
顧客が削除された時 |
customer.update.card |
顧客がカード情報を更新した時 |
クレジットカードに関するイベント
Event Name |
Trigger |
card.update |
カードが更新された時 |
card.destroy |
カードが削除された時 |
チャージバック(dispute)に関するイベント
Event Name |
Trigger |
dispute.create |
チャージバックの要請を開始した時 |
dispute.update |
チャージバックが更新された時 |
dispute.close |
チャージバック要請の結果が出た時 |
レシピエント(振込先口座)に関するイベント
Event Name |
Trigger |
recipient.create |
レシピエントが作成された時 |
recipient.update |
レシピエントが更新された時 |
recipient.destroy |
レシピエントが削除された時 |
recipient.activate |
レシピエントが有効化された時 |
recipient.deactivate |
レシピエントが無効化された時 |
recipient.verify |
レシピエントが承認された時 |
返金に関するイベント
Event Name |
Trigger |
refund.create |
返金が作成された時 |
振込に関するイベント
Event Name |
Trigger |
transfer.create |
振込が作成された時 |
transfer.update |
振込が更新された時 |
transfer.destroy |
振込が削除された時 |
transfer.send |
振込リクエストが送信された時 |
transfer.pay |
振込が完了した時 |
スケジュールに関するイベント
Event Name |
Trigger |
schedule.create |
スケジュールが作成された時 |
schedule.suspend |
スケジュールが更新された時 |
schedule.destroy |
スケジュールが削除された時 |
動的Webhook
Opn Paymentsのアカウントには、設定可能な静的Webhookが備わっています。すべてのイベント通知がWebhookに送られます。静的Webhookの場合、複数の店舗を運営している加盟店はイベント通知を区別することができません。イベントを区別するためには複数のWebhookエンドポイントが必要で、そのために複数のOpn Paymentsアカウントを作成せざるを得ず、管理に負荷がかかっていました。
動的Webhookはこうした問題を解決するシンプルな方法です。加盟店は課金の作成時に、webhook_endpoints
パラメーターを指定することができます。該当する課金に関連するイベントは、指定のwebhook_endpoints
に送られます。課金作成時にwebhook_endpoints
パラメーターが指定されていない場合、アカウントの静的webhook_endpoint
が存在すれば、イベント通知はそこに送信されます。