Webhookを使ったサービスをローカル環境で開発したい時にめっちゃ便利なこれ

Shunsuke Sawada

初めてクレジットカード決済するようなアプリを作ってみています。

決済には Stripe を使ってるんですが、その使い方はまた今度として、
Webhookをどうやってローカルで受け取るかという話。

UltraHook - Receive webhooks on localhost
  
 ↑
これ、めっちゃいいです。
開発環境は Mac で Vagrant を使ってます。

まずは登録。
ネームスペースも登録する。
  
登録すると api_key がもらえるので、それをこんな感じ。

1
$ echo "api_key: DUBUsAxxxxxxxxxxxlPzdPKxxxxxxx" > ~/.ultrahook

  
そしてこんな感じ。

1
$ ultrahook your_app http://0.0.0.0:3000/webhooks/stripe

  
そうすると…

1
http://your_app.NAMESPACE.ultrahook.com -> http://0.0.0.0:3000/webhooks/stripe

  
あら簡単!
もう開通しましたー。

http://your_app.NAMESPACE.ultrahook.com をサービス(ここで言うStripe)の
Webhook Endpoints に設定します。
  
your_app は何でもいいです。
NAMESPACE は登録したネームスペースで置き換えてください。

  
あとは、自分のアプリケーションに /webhooks/stripe を追加しましょう。
ちなみに Stripe の場合は POST なのでこういう感じでしょうか。

ruby
1
2
3
Rails.application.routes.draw do
  post '/webhooks/stripe'
end

   
代替候補として Localtunnel ~ Expose yourself to the world もあります。
起動する度にURLが毎回変わるのでちょっと個人的にはメンドクサイのですが、同じことができました。
  
それではー。

168
Shunsuke Sawada

おすすめの記事

Slack / ボタン付きのメッセージを投稿する
5