> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# केप्लार्स

> डोडो पेमेंट्स इवेंट्स के आधार पर केप्लार्स के माध्यम से लेन-देन ईमेल भेजें।

## परिचय

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

<Info>
  इस एकीकरण के लिए आपके केप्लार्स API की की आवश्यकता होती है। इसे केप्लार्स डैशबोर्ड में **Settings → API Keys** के अंतर्गत खोजें, और **Domains** के अंतर्गत एक प्रेषक डोमेन या पता सत्यापित करें।
</Info>

## आरंभ करें

<Steps>
  <Step title="Open the Webhook Section">
    अपने डोडो पेमेंट्स डैशबोर्ड में, <b>Webhooks → + Add Endpoint</b> पर नेविगेट करें और इंटीग्रेशन ड्रॉपडाउन का विस्तार करें।
  </Step>

  <Step title="Select Keplars">
    <b>Keplars</b> इंटीग्रेशन कार्ड चुनें।

    <Frame>
      <img src="https://mintcdn.com/dodopayments/tM0KgwbOo2xwg7zr/images/integrations/keplars/select.png?fit=max&auto=format&n=tM0KgwbOo2xwg7zr&q=85&s=776a4a2228efa0822b15b13d2baaf5bb" alt="केप्लार्स इंटीग्रेशन कार्ड चुनें" style={{ maxHeight: '500px', width: 'auto' }} width="1040" height="731" data-path="images/integrations/keplars/select.png" />
    </Frame>
  </Step>

  <Step title="Enter API Key">
    अपना केप्लार्स API की प्रदान करें। इसे प्रत्येक अनुरोध पर एक बियरर टोकन के रूप में भेजा जाता है।

    <Frame>
      <img src="https://mintcdn.com/dodopayments/tM0KgwbOo2xwg7zr/images/integrations/keplars/api-key.png?fit=max&auto=format&n=tM0KgwbOo2xwg7zr&q=85&s=f3e0917155715d0587a6012c1bfd3f26" alt="केप्लार्स API URL, API की दर्ज करें, और इवेंट्स को सब्सक्राइब करें" style={{ maxHeight: '500px', width: 'auto' }} width="982" height="854" data-path="images/integrations/keplars/api-key.png" />
    </Frame>
  </Step>

  <Step title="Configure Transformation">
    केप्लार्स के लिए ईमेल फॉर्मेट करने के लिए ट्रांसफॉर्मेशन कोड संपादित करें। प्लेसहोल्डर प्रेषक पते और टेम्पलेट IDs को अपने मे बदलें।
  </Step>

  <Step title="Test & Create">
    सैंपल पेलोड के साथ परीक्षण करें और ईमेल भेजने को सक्रिय करने के लिए <b>Create</b> पर क्लिक करें।
  </Step>

  <Step title="Done!">
    🎉 अब भुगतान इवेंट्स अपने आप केप्लार्स के माध्यम से लेन-देन ईमेल ट्रिगर करेंगे।
  </Step>
</Steps>

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

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

<Warning>
  `to` एक **array** होना चाहिए, भले ही एकल रिसीवर हो। `template_id` का उपयोग करते समय, `subject` या `body` को भी न भेजें। टेम्पलेट इसे प्रदान करते हैं।
</Warning>

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

```javascript payment_succeeded.js icon="js" expandable theme={null}
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;
}
```

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

```javascript payment_failed.js icon="js" expandable theme={null}
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;
}
```

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

```javascript subscription_active.js icon="js" expandable theme={null}
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;
}
```

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

```javascript subscription_cancelled.js icon="js" expandable theme={null}
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` के माध्यम से पास करें।
* पहले सैंडबॉक्स मोड में परीक्षण करें। सैंडबॉक्स भेजें केप्लार्स टेस्ट इनबॉक्स में कैप्चर किए जाते हैं बजाय वितरित किए जाने के।

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

<AccordionGroup>
  <Accordion title="Emails not being sent">
    * सत्यापित करें कि आपकी API की सही और केप्लार्स में **Settings → API Keys** के अंतर्गत सक्रिय है।
    * सत्यापित करें कि आपका प्रेषक डोमेन या पता सत्यापित है।
    * डोडो पेमेंट्स वेबहुक डिलीवरी लॉग में कच्ची केप्लार्स त्रुटि प्रतिक्रिया दिखाता है। विवरण के लिए इसे जांचें।
  </Accordion>

  <Accordion title="Template not found">
    * आपके हैंडलर में `template_id` आपके केप्लार्स खाते में एक सक्रिय टेम्पलेट का मिलान करना चाहिए। डैशबोर्ड में ID (और कि वह सक्रिय है) सत्यापित करें।
  </Accordion>

  <Accordion title="Wrong event triggered">
    * प्रत्येक हैंडलर `webhook.eventType` की जांच करता है और यदि यह मेल नहीं खाता है तो जल्दी लौटता है। सुनिश्चित करें कि सही इवेंट डोडो पेमेंट्स वेबहुक एन्डपॉइंट पर सब्सक्राइब किए गए हैं।
  </Accordion>
</AccordionGroup>
