मुख्य सामग्री पर जाएं

परिचय

जब भुगतान और सदस्यता इवेंट्स होते हैं तो स्वचालित रूप से पेशेवर लेन-देन ईमेल भेजें। भुगतान पुष्टिकरण, सदस्यता अपडेट, और विफलता सूचनाएं केप्लार्स के माध्यम से बिना किसी मिडलवेयर सर्वर के प्रेषित करें। डोडो पेमेंट्स सीधे केप्लार्स API को एक जावास्क्रिप्ट ट्रांसफॉर्मेशन हैंडलर का उपयोग करके कॉल करता है।
इस एकीकरण के लिए आपके केप्लार्स API की की आवश्यकता होती है। इसे केप्लार्स डैशबोर्ड में Settings → API Keys के अंतर्गत खोजें, और Domains के अंतर्गत एक प्रेषक डोमेन या पता सत्यापित करें।

आरंभ करें

1

Open the Webhook Section

अपने डोडो पेमेंट्स डैशबोर्ड में, Webhooks → + Add Endpoint पर नेविगेट करें और इंटीग्रेशन ड्रॉपडाउन का विस्तार करें।
2

Select Keplars

Keplars इंटीग्रेशन कार्ड चुनें।
केप्लार्स इंटीग्रेशन कार्ड चुनें
3

Enter API Key

अपना केप्लार्स API की प्रदान करें। इसे प्रत्येक अनुरोध पर एक बियरर टोकन के रूप में भेजा जाता है।
केप्लार्स API URL, API की दर्ज करें, और इवेंट्स को सब्सक्राइब करें
4

Configure Transformation

केप्लार्स के लिए ईमेल फॉर्मेट करने के लिए ट्रांसफॉर्मेशन कोड संपादित करें। प्लेसहोल्डर प्रेषक पते और टेम्पलेट IDs को अपने मे बदलें।
5

Test & Create

सैंपल पेलोड के साथ परीक्षण करें और ईमेल भेजने को सक्रिय करने के लिए Create पर क्लिक करें।
6

Done!

🎉 अब भुगतान इवेंट्स अपने आप केप्लार्स के माध्यम से लेन-देन ईमेल ट्रिगर करेंगे।

ट्रांसफॉर्मेशन कोड उदाहरण

प्रत्येक हैंडलर केप्लार्स उच्च प्राथमिकता भेजें एन्डपॉइंट पर webhook.url सेट करता है और केप्लार्स अनुरोध में webhook.payload को फिर से लिखता है (API की स्वतः बियरर टोकन के रूप में भेजी जाती है)। payments@mail.yourdomain.com को आपके सत्यापित प्रेषक से और your-keplars-*-template-id को आपके वास्तविक टेम्पलेट IDs से बदलें।
to एक array होना चाहिए, भले ही एकल रिसीवर हो। template_id का उपयोग करते समय, subject या body को भी न भेजें। टेम्पलेट इसे प्रदान करते हैं।

भुगतान पुष्टिकरण ईमेल

payment_succeeded.js
function handler(webhook) {
  if (webhook.eventType !== "payment.succeeded") return webhook;

  const data = webhook.payload.data || {};
  const paymentDate = new Date(webhook.payload.timestamp).toLocaleDateString("en-US", {
    year: "numeric", month: "long", day: "numeric",
  });

  webhook.url = "https://api.keplars.com/api/v1/send-email/high";
  webhook.payload = {
    to: [data.customer?.email],
    from: "payments@mail.yourdomain.com",
    template_id: "your-keplars-payment-success-template-id",
    params: {
      customer_name: data.customer?.name,
      amount: ((data.total_amount || 0) / 100).toFixed(2),
      currency: data.currency || "USD",
      payment_id: data.payment_id,
      payment_method: data.payment_method,
      payment_date: paymentDate,
    },
  };
  return webhook;
}

भुगतान विफलता सूचना

payment_failed.js
function handler(webhook) {
  if (webhook.eventType !== "payment.failed") return webhook;

  const data = webhook.payload.data || {};
  const paymentDate = new Date(webhook.payload.timestamp).toLocaleDateString("en-US", {
    year: "numeric", month: "long", day: "numeric",
  });

  webhook.url = "https://api.keplars.com/api/v1/send-email/high";
  webhook.payload = {
    to: [data.customer?.email],
    from: "payments@mail.yourdomain.com",
    template_id: "your-keplars-payment-failed-template-id",
    params: {
      customer_name: data.customer?.name,
      amount: ((data.total_amount || 0) / 100).toFixed(2),
      currency: data.currency || "USD",
      payment_id: data.payment_id,
      error_message: data.error_message || "Your payment could not be processed.",
      payment_date: paymentDate,
    },
  };
  return webhook;
}

सदस्यता वेलकम ईमेल

subscription_active.js
function handler(webhook) {
  if (webhook.eventType !== "subscription.active") return webhook;

  const data = webhook.payload.data || {};
  const nextBilling = data.next_billing_date
    ? new Date(data.next_billing_date).toLocaleDateString("en-US", {
        year: "numeric", month: "long", day: "numeric",
      })
    : "";

  webhook.url = "https://api.keplars.com/api/v1/send-email/high";
  webhook.payload = {
    to: [data.customer?.email],
    from: "payments@mail.yourdomain.com",
    template_id: "your-keplars-subscription-active-template-id",
    params: {
      customer_name: data.customer?.name,
      subscription_id: data.subscription_id,
      product_id: data.product_id,
      amount: ((data.recurring_pre_tax_amount || 0) / 100).toFixed(2),
      currency: data.currency || "USD",
      billing_interval: data.payment_frequency_interval || "month",
      next_billing_date: nextBilling,
    },
  };
  return webhook;
}

सदस्यता रद्दीकरण ईमेल

subscription_cancelled.js
function handler(webhook) {
  if (webhook.eventType !== "subscription.cancelled") return webhook;

  const data = webhook.payload.data || {};
  const cancellationDate = new Date(webhook.payload.timestamp).toLocaleDateString("en-US", {
    year: "numeric", month: "long", day: "numeric",
  });

  webhook.url = "https://api.keplars.com/api/v1/send-email/high";
  webhook.payload = {
    to: [data.customer?.email],
    from: "payments@mail.yourdomain.com",
    template_id: "your-keplars-subscription-cancelled-template-id",
    params: {
      customer_name: data.customer?.name,
      subscription_id: data.subscription_id,
      cancellation_date: cancellationDate,
    },
  };
  return webhook;
}

सुझाव

  • बेहतर डिलीवरेबिलिटी के लिए सत्यापित प्रेषक डोमेन या पता का उपयोग करें।
  • प्रत्येक इवेंट प्रकार के लिए एक समर्पित केप्लार्स टेम्पलेट बनाएं ताकि प्रत्येक ईमेल ऑन-ब्रांड और ऑन-मेसज रहे।
  • प्रत्येक ईमेल को वैयक्तिकृत करने के लिए ग्राहक डेटा जैसे नाम, राशि, और भुगतान ID params के माध्यम से पास करें।
  • पहले सैंडबॉक्स मोड में परीक्षण करें। सैंडबॉक्स भेजें केप्लार्स टेस्ट इनबॉक्स में कैप्चर किए जाते हैं बजाय वितरित किए जाने के।

समस्याओं को सुलझाना

  • सत्यापित करें कि आपकी API की सही और केप्लार्स में Settings → API Keys के अंतर्गत सक्रिय है।
  • सत्यापित करें कि आपका प्रेषक डोमेन या पता सत्यापित है।
  • डोडो पेमेंट्स वेबहुक डिलीवरी लॉग में कच्ची केप्लार्स त्रुटि प्रतिक्रिया दिखाता है। विवरण के लिए इसे जांचें।
  • आपके हैंडलर में template_id आपके केप्लार्स खाते में एक सक्रिय टेम्पलेट का मिलान करना चाहिए। डैशबोर्ड में ID (और कि वह सक्रिय है) सत्यापित करें।
  • प्रत्येक हैंडलर webhook.eventType की जांच करता है और यदि यह मेल नहीं खाता है तो जल्दी लौटता है। सुनिश्चित करें कि सही इवेंट डोडो पेमेंट्स वेबहुक एन्डपॉइंट पर सब्सक्राइब किए गए हैं।
अंतिम संशोधन 18 जून 2026