--- name: recur-quickstart description: Quick setup guide for Recur payment integration. Use when starting a new Recur integration, setting up API keys, installing the SDK, or when user mentions "integrate Recur", "setup Recur", "Recur 串接", "金流設定". license: MIT metadata: author: recur version: "0.0.7" --- # Recur Quickstart You are helping a developer integrate Recur, Taiwan's subscription payment platform (similar to Stripe Billing). ## Step 1: Install SDK ```bash pnpm add recur-tw # or npm install recur-tw ``` ## Step 2: Get API Keys API keys are available in the Recur dashboard at `app.recur.tw` → Settings → Developers. **Key formats:** - `pk_test_xxx` - Publishable key (frontend, safe to expose) - `sk_test_xxx` - Secret key (backend only, never expose) - `pk_live_xxx` / `sk_live_xxx` - Production keys **Environment variables to set:** ```bash RECUR_PUBLISHABLE_KEY=pk_test_xxx RECUR_SECRET_KEY=sk_test_xxx ``` ## Step 3: Add Provider (React) Wrap your app with `RecurProvider`: ```tsx import { RecurProvider } from 'recur-tw' export default function App({ children }) { return ( {children} ) } ``` ## Step 4: Create Your First Checkout ```tsx import { useRecur } from 'recur-tw' function PricingButton({ productId }: { productId: string }) { const { checkout } = useRecur() const handleCheckout = async () => { await checkout({ productId, onPaymentComplete: (subscription) => { console.log('Payment successful!', subscription) }, onPaymentFailed: (error) => { console.error('Payment failed:', error) }, }) } return } ``` ## Step 5: Set Up Webhooks Create a webhook endpoint to receive payment notifications. See the `recur-webhooks` skill for detailed instructions. ## Quick Verification Checklist - [ ] SDK installed (`pnpm list recur-tw`) - [ ] Environment variables set - [ ] RecurProvider wrapping app - [ ] Test checkout works in sandbox - [ ] Webhook endpoint configured ## Common Issues ### "Invalid API key" - Check key format: must start with `pk_test_`, `sk_test_`, `pk_live_`, or `sk_live_` - Ensure using publishable key for frontend, secret key for backend ### "Product not found" - Verify product exists in Recur dashboard - Check you're using correct environment (sandbox vs production) ### Checkout not appearing - Ensure `RecurProvider` wraps your app - Check browser console for errors - Verify publishable key is correct ## Next Steps - `/recur-checkout` - Learn checkout flow options - `/recur-webhooks` - Set up payment notifications - `/recur-entitlements` - Implement access control ## Resources - [Recur Documentation](https://recur.tw/docs) - [SDK on npm](https://www.npmjs.com/package/recur-tw) - [API Reference](https://recur.tw/docs/api)