Stripe کنیکٹر
Stripe کنیکٹر
مکمل ادائیگی ڈیٹا سنکرونائزیشن، سبسکرپشن لائف سائیکل مینجمنٹ، اور آمدنی سے چلنے والی مارکیٹنگ آٹومیشن کے لیے Tajo کے ذریعے اپنے Stripe اکاؤنٹ کو Brevo سے منسلک کریں۔
جائزہ
| خاصیت | قدر |
|---|---|
| پلیٹ فارم | Stripe |
| زمرہ | ای-کامرس |
| سیٹ اپ کی پیچیدگی | آسان |
| آفیشل انٹیگریشن | ہاں |
| سنک شدہ ڈیٹا | گاہک، ادائیگیاں، سبسکرپشنز، انوائسز، ایونٹس |
| API بنیادی URL | https://api.stripe.com/v1 |
خصوصیات
- گاہک سنک - میٹا ڈیٹا سمیت Stripe گاہکوں کو Brevo رابطوں کے ساتھ سنک کریں
- ادائیگی ٹریکنگ - کامیاب ادائیگیوں، رقم کی واپسی، اور ناکام چارجز کو ٹریک کریں
- سبسکرپشن مینجمنٹ - برقراری مہمات کے لیے سبسکرپشن لائف سائیکل ایونٹس سنک کریں
- انوائس ڈیٹا - خریداری کے بعد اور تجدید آٹومیشن کے لیے انوائس کی تفصیلات سنک کریں
- آمدنی کی انتساب - Brevo خصوصیات پر لائف ٹائم ویلیو اور MRR میپ کریں
- Webhook ایونٹس - تمام ادائیگی سرگرمیوں کے لیے ریئل ٹائم ایونٹ نوٹیفکیشنز
- کثیر کرنسی سپورٹ - متعدد کرنسیوں میں ادائیگیوں کو سنبھالیں
- چیک آؤٹ سیشن ٹریکنگ - ترک شدہ ادائیگی کی بحالی کے لیے Stripe Checkout ٹریک کریں
شرائط
شروع کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس ہے:
- API رسائی کے ساتھ Stripe اکاؤنٹ
- Stripe API کیز (قابل اشاعت اور خفیہ کیز)
- API رسائی کے ساتھ Brevo اکاؤنٹ
- Tajo اکاؤنٹ
تصدیق
API کی تصدیق
Stripe آپ کی خفیہ API کی کے ساتھ bearer token تصدیق استعمال کرتا ہے۔
curl https://api.stripe.com/v1/customers \ -u sk_live_YOUR_SECRET_KEY:API کی سیکیورٹی
کبھی بھی اپنی خفیہ کی کو کلائنٹ سائیڈ کوڈ میں ظاہر نہ کریں۔ فرنٹ اینڈ آپریشنز کے لیے قابل اشاعت کی اور صرف اپنے سرور پر خفیہ کی استعمال کریں۔
محدود API کیز
بہتر سیکیورٹی کے لیے مخصوص اجازتوں کے ساتھ محدود کیز بنائیں:
- Stripe Dashboard > Developers > API Keys پر جائیں
- “Create restricted key” پر کلک کریں
- صرف وہ اجازتیں دیں جو Tajo کو درکار ہیں
مطلوبہ اجازتیں
customers: readcharges: readpayment_intents: readsubscriptions: readinvoices: readevents: readproducts: readprices: readتشکیل
بنیادی سیٹ اپ
connectors: stripe: enabled: true secret_key: "${STRIPE_SECRET_KEY}" webhook_secret: "${STRIPE_WEBHOOK_SECRET}"
# Data sync options sync: customers: true payments: true subscriptions: true invoices: true products: true
# Brevo list assignment lists: all_customers: 20 subscribers: 21 churned: 22فیلڈ میپنگ
Stripe گاہک ڈیٹا کو Brevo رابطہ خصوصیات پر میپ کریں:
طے شدہ میپنگز
| Parameter | Type | Description |
|---|---|---|
email required | string | گاہک کا ای میل پتہ (منفرد شناخت کنندہ) |
name optional | string | گاہک کا مکمل نام، FIRSTNAME/LASTNAME میں تقسیم |
phone optional | string | WhatsApp/SMS کے لیے SMS خصوصیت پر میپ ہوتا ہے |
currency optional | string | گاہک کے لیے طے شدہ کرنسی |
created optional | timestamp | Stripe میں گاہک کی تخلیق کی تاریخ |
metadata optional | object | Stripe سے کسٹم کلید قدر میٹا ڈیٹا |
subscriptions optional | array | فعال سبسکرپشن کی تفصیلات |
balance optional | integer | گاہک اکاؤنٹ بیلنس سینٹس میں |
کسٹم خصوصیت میپنگ
field_mapping: # Standard fields email: email name: FULLNAME phone: SMS
# Payment metrics total_spent: TOTAL_SPENT payment_count: PAYMENT_COUNT last_payment_date: LAST_PAYMENT_DATE average_order_value: AOV
# Subscription fields subscription_status: SUB_STATUS plan_name: PLAN_NAME mrr: MONTHLY_REVENUE subscription_start: SUB_START_DATE
# Custom metadata metadata.customer_tier: VIP_TIER metadata.referral_source: REFERRAL_SOURCEAPI اینڈ پوائنٹس
بنیادی اینڈ پوائنٹس
| طریقہ | اینڈ پوائنٹ | تفصیل |
|---|---|---|
GET | /v1/customers | تمام گاہکوں کی فہرست |
POST | /v1/customers | گاہک بنائیں |
GET | /v1/customers/{id} | گاہک حاصل کریں |
POST | /v1/customers/{id} | گاہک اپ ڈیٹ کریں |
GET | /v1/charges | تمام چارجز کی فہرست |
GET | /v1/payment_intents | ادائیگی کے ارادوں کی فہرست |
سبسکرپشن اینڈ پوائنٹس
| طریقہ | اینڈ پوائنٹ | تفصیل |
|---|---|---|
GET | /v1/subscriptions | سبسکرپشنز کی فہرست |
GET | /v1/subscriptions/{id} | ایک سبسکرپشن حاصل کریں |
GET | /v1/invoices | انوائسز کی فہرست |
GET | /v1/invoices/upcoming | آنے والا انوائس حاصل کریں |
GET | /v1/products | پروڈکٹس کی فہرست |
GET | /v1/prices | قیمتوں کی فہرست |
ایونٹ اینڈ پوائنٹس
| طریقہ | اینڈ پوائنٹ | تفصیل |
|---|---|---|
GET | /v1/events | ایونٹس کی فہرست |
GET | /v1/events/{id} | ایک ایونٹ حاصل کریں |
ایونٹس
ادائیگی ایونٹس
| ایونٹ | ٹرگر | استعمال کا کیس |
|---|---|---|
payment_intent.succeeded | ادائیگی مکمل | آرڈر کی تصدیق |
payment_intent.payment_failed | ادائیگی ناکام | ریکوری ای میل |
charge.refunded | رقم کی واپسی پروسیس ہوئی | واپسی کی اطلاع |
charge.dispute.created | چارج بیک شروع ہوا | تنازعہ ہینڈلنگ |
سبسکرپشن ایونٹس
| ایونٹ | ٹرگر | استعمال کا کیس |
|---|---|---|
customer.subscription.created | نئی سبسکرپشن | آن بورڈنگ فلو |
customer.subscription.updated | پلان تبدیل ہوا | اپ گریڈ/ڈاؤن گریڈ فلو |
customer.subscription.deleted | سبسکرپشن منسوخ | چرن کی روک تھام |
customer.subscription.trial_will_end | ٹرائل 3 دن میں ختم | ٹرائل کنورژن مہم |
invoice.payment_failed | سبسکرپشن ادائیگی ناکام | Dunning ای میل سیکوئنس |
گاہک ایونٹس
| ایونٹ | ٹرگر | استعمال کا کیس |
|---|---|---|
customer.created | نیا گاہک شامل | ویلکم ای میل |
customer.updated | گاہک ڈیٹا تبدیل | خصوصیت سنک |
customer.deleted | گاہک ہٹایا گیا | صفائی |
کوڈ کی مثالیں
کنیکٹر کو انیشیلائز کریں
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Stripeawait tajo.connectors.connect('stripe', { secretKey: process.env.STRIPE_SECRET_KEY, webhookSecret: process.env.STRIPE_WEBHOOK_SECRET});گاہک سنک چلائیں
// Full historical syncawait tajo.connectors.sync('stripe', { type: 'full', resources: ['customers', 'subscriptions', 'payments'], since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('stripe');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// customersSynced: 12500,// subscriptionsSynced: 8200,// paymentsSynced: 45000// }Stripe Webhooks کو سنبھالیں
import Stripe from 'stripe';
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
app.post('/webhooks/stripe', async (req, res) => { const sig = req.headers['stripe-signature'];
let event; try { event = stripe.webhooks.constructEvent( req.body, sig, process.env.STRIPE_WEBHOOK_SECRET ); } catch (err) { return res.status(400).send(`Webhook Error: ${err.message}`); }
// Forward to Tajo for Brevo sync await tajo.connectors.handleWebhook('stripe', { type: event.type, data: event.data.object });
res.status(200).json({ received: true });});شرح کی حدود
Stripe مندرجہ ذیل شرح کی حدود نافذ کرتا ہے:
| قسم | حد | تفصیلات |
|---|---|---|
| Live موڈ | 100 پڑھنے کی درخواستیں/سیکنڈ | فی خفیہ کی |
| Live موڈ | 100 لکھنے کی درخواستیں/سیکنڈ | فی خفیہ کی |
| Test موڈ | 25 درخواستیں/سیکنڈ | فی خفیہ کی |
| Webhook ڈیلیوری | 100,000 ایونٹس/دن | فی اینڈ پوائنٹ |
شرح کی حد ہینڈلنگ
حدود تجاوز ہونے پر Stripe 429 Too Many Requests جواب دیتا ہے۔ Exponential backoff نافذ کریں۔ بلک ڈیٹا بازیافت کے لیے آٹو-pagination کے ساتھ فہرست اینڈ پوائنٹس استعمال کریں۔
ٹربل شوٹنگ
عام مسائل
| مسئلہ | وجہ | حل |
|---|---|---|
| 401 Unauthorized | غلط API کی | Stripe Dashboard میں خفیہ کی چیک کریں |
| Webhook دستخط ناکام | غلط webhook خفیہ | Dashboard سے webhook signing secret دوبارہ کاپی کریں |
| گاہک سنک نہیں ہوا | Stripe گاہک پر ای میل نہیں | یقینی بنائیں کہ Stripe گاہک ریکارڈز پر ای میل سیٹ ہے |
| سبسکرپشن ڈیٹا غائب | ناکافی اجازتیں | محدود کی اجازتیں اپ ڈیٹ کریں |
| ڈپلیکیٹ ایونٹس | Webhook ری ٹرائی ڈیلیوری | ایونٹ IDs کے ساتھ idempotency نافذ کریں |
ڈیبگ موڈ
تفصیلی لاگنگ فعال کریں:
connectors: stripe: debug: true log_level: verbose log_webhooks: trueکنکشن ٹیسٹ کریں
tajo connectors test stripe# ✓ API connection successful# ✓ Customers readable# ✓ Subscriptions readable# ✓ Payments readable# ✓ Webhook endpoint verifiedبہترین طرز عمل
- محدود API کیز استعمال کریں - کم از کم مطلوبہ اجازتوں کے ساتھ کیز بنائیں
- ہمیشہ webhook دستخطوں کی تصدیق کریں - جعلی webhook ایونٹس کو روکیں
- Idempotency کو سنبھالیں - ڈپلیکیٹ پروسیسنگ کو روکنے کے لیے Stripe ایونٹ IDs استعمال کریں
- گاہک میٹا ڈیٹا سنک کریں - Stripe میٹا ڈیٹا فیلڈز میں مارکیٹنگ سے متعلقہ ڈیٹا ذخیرہ کریں
- Webhook ڈیلیوری کی نگرانی کریں - ناکام ڈیلیوریوں کے لیے Stripe Dashboard چیک کریں
- پہلے ٹیسٹ موڈ استعمال کریں - Stripe ٹیسٹ موڈ اور ٹیسٹ کلاکس کے ساتھ اپنی انٹیگریشن کی توثیق کریں
سیکیورٹی
- API کی تصدیق - محدود کی سپورٹ کے ساتھ خفیہ کی پر مبنی رسائی
- Webhook دستخط کی تصدیق - HMAC SHA-256 دستخط کی توثیق
- TLS انکرپشن - تمام API مواصلات HTTPS کے ذریعے انکرپٹڈ
- PCI کمپلائنس - Stripe ادائیگی کے ڈیٹا کے لیے PCI DSS کمپلائنس سنبھالتا ہے
- IP وائٹ لسٹنگ - API رسائی کے لیے اختیاری IP پابندیاں