SupabaseのStripe Wrapperに感動した話
2024-08-30

SupabaseのStripe Wrapperに感動した話

#supabase
#stripe

目次

はじめに

私はAWSエンジニアとして、4年以上働いています。初心者の頃は全資格を取得したり必死に勉強したので、AWSに関してはある程度知見があるつもりです。
それでもSupabaseを知ってからは、その開発体験の良さに魅了され、Supabaseを多く採用しています。
そんな中、Supabase Wrapperがあることを知り、さらに大きな感動を覚えました。

この感動を皆さんに共有できればと思い、本記事を書いています。
では、Stripe Wrapperについて解説します!

Stripe Wrapperとは

Stripe Wrapperとは、外部のサードパーティのデータをPostgreSQLで扱えるようにするPostgreSQL拡張機能supabase/wrappersに含まれている機能です。

このStripe Wrapperを利用すると、SQLでStripeのデータに対してCRUDができるようになります!
つまり、データの多重管理をする必要がなくなり、Stripe Webhookの実装も不要になります。個人的に革命です。

Stripe Wrapperの導入手順

めっちゃ簡単です。びっくりしました。

1. SupabaseのWrapperを有効化して、Stripeを選択します。

Supabase Wrapperの有効化ページSupabase Wrapperの有効化ページ

2. Stripeのシークレットキーを設定します。

Wrapper Nameは名前空間で、任意の名前でOKです!
Stripe Wrapperの設定ページStripe Wrapperの設定ページ

3. 参照したい外部テーブルを追加します。

迷ったらStripeの全てのテーブルを追加しておけばOKだと思います。
Stripeのテーブル追加シートStripeのテーブル追加シート
これだけで、Stripeでやりたいことがほとんどできます。すごい。

【触ってみる】Stripeの顧客情報を登録してみる

Insert文でstripe.customersにレコードを登録するだけです。Stripe APIを意識する必要はありません。
SupabaseのSQL EditorページSupabaseのSQL Editorページ
このように、Select文でデータが取得できていることがわかります。

また冒頭で説明した通り、Stripe Wrapperはあくまで、Stripeの情報を表示しているだけなので、
Stripe側でも登録したデータは確認することができます。

Stripeの顧客ページStripeの顧客ページ

データ操作可能な情報一覧

Stripe Wrapperで操作可能な情報は、以下の通りです。
Stripe Wrapperで操作可能な情報Stripe Wrapperで操作可能な情報
参照は全てのデータに対して可能で、更新系はcustomers,products,subscriptionsのみです。
一見、更新系が少なく見えますが、実際はこの3つのテーブルに対する更新処理がほとんどだと思うので、そこまで困ることはないでしょう。

まとめ

Supabase Wrapperにより、StripeのWebhookを実装する必要がなくなりました。

AWSを扱っている際には、「Cognitoで認証したら、LambdaでDynamoDBにデータを保存する」だったり、「ECSを使って、Webhookイベントを受け取ってRDSに保存する」など、「多重管理は仕方ないよね」と思いながら実装していました。
Supabase全般にいえますが、このような多重管理をする必要がなくなるのは、とても魅力的だと思っています。

皆さんもSupabaseを使って、開発をしてみてはいかがでしょうか!

参考文献

© 2024 Both Arms. All Rights Reserved.