Skip to main content

Latest News

cdk-stripe-slack-notification v0.1.0 リリースのお知らせ

この記事をシェア:

Stripeの決済完了をSlackに自動通知するAWS CDK Constructライブラリをリリースしました。

このライブラリについて

ECサイトやSaaSでStripeを使っていると、決済が完了したタイミングをSlackで知りたいことがあります。これまではWebhookを自前で実装する必要がありましたが、このライブラリを使えば数行のコードで設定できます。

StripeのEventBridge連携とAWS Chatbotを組み合わせて、決済完了時に自動でSlackに通知を送ります。チェックアウトセッションの詳細や注文情報も一緒に表示されるので、すぐに状況を把握できます。

主な特徴

簡単に導入できる

AWS CDKのコードに数行追加するだけで、すぐに使えます。Lambda関数やIAMポリシーの設定は自動で行われるので、インフラの知識がなくても大丈夫です。

セキュリティを考慮した設計

StripeのAPIキーはAWS Secrets ManagerやSSM Parameter Storeから安全に取得できます。環境変数に直接書く必要はありません。

日本語・英語に対応

通知メッセージは日本語と英語から選べます。デフォルトは英語ですが、notificationLanguage: 'ja'と指定すれば日本語のメッセージが送られます。

テスト環境と本番環境を切り替え可能

同じコードでテスト環境と本番環境を切り替えられます。開発中はテスト用のStripeキーを使い、本番では本番用のキーを使うといった運用が簡単です。

対応しているイベント

  • checkout.session.completed – チェックアウトセッションが完了したとき
  • checkout.session.async_payment_succeeded – 非同期決済が成功したとき

使い方

CDK Constructなので、npmからインストールします。

npm install cdk-stripe-slack-notification

必要なリソースの値やARNを指定しましょう。

import { StripeCheckoutHandler } from 'cdk-stripe-slack-notification';

new StripeCheckoutHandler(stack, 'StripeNotification', {
  environment: 'production',
  snsTopicArn: 'arn:aws:sns:us-west-2:123456789:my-slack-topic',
  stripeSecretKeyFromSecretsManager: {
    secretArn: 'arn:aws:secretsmanager:us-west-2:123456789:secret:stripe/secret-key',
  },
  stripeAccountName: 'MyCompany',
  notificationLanguage: 'ja',
});

これだけで、Stripeの決済完了時にSlackに通知が届くようになります。

必要な準備

  • StripeのEventBridge連携設定(Stripeダッシュボードで設定)
  • AWS ChatbotとSlackの連携(SNS Topicの作成が必要)

詳しいセットアップ手順は、GitHubのREADMEを参照してください。

今後の予定

現在はチェックアウトセッションのイベントに対応していますが、今後は他のStripeイベントにも対応する予定です。要望があればGitHubのIssuesでお知らせください。

ライセンス

MITライセンスです。商用・非商用問わず自由に使えます。


GitHub: https://github.com/hideokamoto/lambda-stripe-notifications
npm: https://www.npmjs.com/package/cdk-stripe-slack-notification

Support This Project

If you find this content helpful, consider supporting the project through GitHub Sponsors. Your support helps maintain and improve these tools.