> ## 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.

# Keplars

> إرسال رسائل بريد إلكتروني معاملات من خلال Keplars بناءً على أحداث Dodo Payments.

## المقدمة

أرسل رسائل بريد إلكتروني معاملات احترافية تلقائيًا عند حدوث أحداث الدفع والاشتراك. قم بتوصيل تأكيدات الدفع، تحديثات الاشتراك، وإشعارات الفشل من خلال Keplars دون الحاجة إلى خادم وسيط. يقوم Dodo Payments باستدعاء API الخاص بـ Keplars مباشرةً باستخدام معالج تحويل JavaScript.

<Info>
  هذه التكامل يتطلب مفتاح API الخاص بـ Keplars للمصادقة. يمكنك العثور عليه في لوحة تحكم Keplars تحت **الإعدادات → مفاتيح API**، والتحقق من نطاق أو عنوان المرسل تحت **النطاقات**.
</Info>

## كيفية البدء

<Steps>
  <Step title="Open the Webhook Section">
    في لوحة تحكم Dodo Payments، انتقل إلى <b>Webhook → + إضافة نقطة نهاية</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="اختر بطاقة تكامل Keplars" style={{ maxHeight: '500px', width: 'auto' }} width="1040" height="731" data-path="images/integrations/keplars/select.png" />
    </Frame>
  </Step>

  <Step title="Enter API Key">
    قدم مفتاح API الخاص بك لـ Keplars. يتم إرساله كرمز Bearer في كل طلب.

    <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="أدخل عنوان URL لـ Keplars و مفتاح API واشترك في الأحداث" style={{ maxHeight: '500px', width: 'auto' }} width="982" height="854" data-path="images/integrations/keplars/api-key.png" />
    </Frame>
  </Step>

  <Step title="Configure Transformation">
    قم بتحرير كود التحويل لتنسيق الرسائل الإلكترونية لـ Keplars. استبدل عنوان المرسل المؤقت ومعرفات القوالب الخاصة بك.
  </Step>

  <Step title="Test & Create">
    اختبر مع نماذج بيانات وانقر على <b>إنشاء</b> لتفعيل إرسال البريد الإلكتروني.
  </Step>

  <Step title="Done!">
    🎉 ستقوم أحداث الدفع الآن تلقائيًا بتشغيل رسائل البريد الإلكتروني المعاملات عبر Keplars.
  </Step>
</Steps>

## أمثلة كود التحويل

كل معالج يضبط `webhook.url` إلى نقطة الإرسال ذات الأولوية العالية في Keplars ويعيد كتابة `webhook.payload` إلى طلب Keplars (يتم إرسال مفتاح API تلقائيًا كرمز Bearer). استبدل `payments@mail.yourdomain.com` بمرسل مؤكد و `your-keplars-*-template-id` بمعرفات القوالب الخاصة بك.

<Warning>
  `to` يجب أن تكون **مصفوفة**، حتى للمستلم الواحد. عند استخدام `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;
}
```

## نصائح

* استخدم نطاق أو عنوان مرسل مؤكد لتحسين قابلية التسليم.
* أنشئ قالب Keplars مخصص لكل نوع حدث بحيث يبقى كل بريد إلكتروني متسقًا مع العلامة التجارية والرسالة.
* اجعل كل بريد إلكتروني شخصيًا بإرسال بيانات العملاء مثل الاسم والمبلغ ومعرف الدفع عبر `params`.
* جرب في وضع التجارب أولاً. الإرسال في وضع التجارب يتم احتجازه في صندوق الاختبارات لـ Keplars بدلاً من التسليم.

## استكشاف الأخطاء وإصلاحها

<AccordionGroup>
  <Accordion title="Emails not being sent">
    * تحقق من أن مفتاح API الخاص بك صحيح ونشط في Keplars تحت **الإعدادات → مفاتيح API**.
    * تحقق من أن نطاق أو عنوان المرسل الخاص بك مؤكد.
    * تعرض Dodo Payments استجابة خطأ Keplars الخام في سجل تسليم الويب هوك. تحقق منه للحصول على التفاصيل.
  </Accordion>

  <Accordion title="Template not found">
    * يجب أن تتطابق `template_id` في معالجك مع قالب نشط في حساب Keplars الخاص بك. تحقق من المعرف (وأنه نشط) في لوحة التحكم.
  </Accordion>

  <Accordion title="Wrong event triggered">
    * كل معالج يتحقق من `webhook.eventType` ويعود مبكرًا إذا لم يتطابق. تأكد من أن الأحداث الصحيحة مشترك فيها على نقطة نهاية ويب هوك Dodo Payments.
  </Accordion>
</AccordionGroup>
