#!/bin/bash # Stripe Webhook Setup for Local Development # This script helps set up Stripe CLI for webhook testing set -e echo "════════════════════════════════════════════════════════" echo " Stripe Webhook Setup for Koha Donation System" echo "════════════════════════════════════════════════════════" echo # Check if Stripe CLI is installed if ! command -v stripe &> /dev/null; then echo "❌ Stripe CLI is not installed" echo echo "📦 Install Stripe CLI:" echo echo " Ubuntu/Debian:" echo " curl -s https://packages.stripe.dev/api/security/keypair/stripe-cli-gpg/public | gpg --dearmor | sudo tee /usr/share/keyrings/stripe.gpg" echo " echo 'deb [signed-by=/usr/share/keyrings/stripe.gpg] https://packages.stripe.dev/stripe-cli-debian-local stable main' | sudo tee -a /etc/apt/sources.list.d/stripe.list" echo " sudo apt update" echo " sudo apt install stripe" echo echo " macOS:" echo " brew install stripe/stripe-cli/stripe" echo echo " Or download from: https://github.com/stripe/stripe-cli/releases" echo exit 1 fi echo "✅ Stripe CLI is installed: $(stripe --version)" echo # Check if logged in if ! stripe config --list &> /dev/null; then echo "🔐 Not logged in to Stripe CLI" echo echo "Run: stripe login" echo exit 1 fi echo "✅ Stripe CLI is authenticated" echo # Display webhook listening instructions echo "📋 To test webhooks locally:" echo echo " 1. Start your local server (if not running):" echo " npm start" echo echo " 2. In a separate terminal, run:" echo " stripe listen --forward-to localhost:9000/api/koha/webhook" echo echo " 3. Copy the webhook signing secret (whsec_...) from the output" echo echo " 4. Update .env file:" echo " STRIPE_KOHA_WEBHOOK_SECRET=whsec_..." echo echo " 5. Test with a sample event:" echo " stripe trigger checkout.session.completed" echo echo "════════════════════════════════════════════════════════" echo # Optionally start listening (if user confirms) read -p "Start webhook listener now? (y/N) " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then echo echo "🎧 Starting webhook listener..." echo " Press Ctrl+C to stop" echo stripe listen --forward-to localhost:9000/api/koha/webhook fi