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

# v1.84.0 (20 فبراير 2026)

> تحليلات على مستوى المنتج، منع منازعات Verifi RDR، أداة DodoPayments CLI، إعادة تصميم واجهة بوابة العملاء، تحديث طرق الدفع في السداد المضمّن، ملء مسبق لمعرف الضريبة، معلمات استعلام عنوان العودة، واجهة برمجة تطبيقات تحديث البريد الإلكتروني للعميل، ومهايئ Bun

## الميزات الجديدة

### 1. **تحليلات على مستوى المنتج**

كل منتج الآن يمتلك **لوحة تحليلات مخصصة** له. انتقل إلى **المنتجات > \[اختر منتجًا]** للوصول إلى مقاييس مفصلة خاصة بذلك المنتج، مرتبة على خمسة علامات تبويب:

<Frame>
  <img src="https://mintcdn.com/dodopayments/QP0nYJEAkU83kGFn/images/product-analytics/overview.png?fit=max&auto=format&n=QP0nYJEAkU83kGFn&q=85&s=f2ce88b712ba0205839cd334d0f2a367" alt="تحليلات على مستوى المنتج" style={{ maxHeight: '500px', width: 'auto' }} width="2368" height="1564" data-path="images/product-analytics/overview.png" />
</Frame>

| علامة التبويب                    | ما تحصل عليه                                                                                                                                        |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| **نظرة عامة**                    | إجمالي الإيرادات، عدد المدفوعات الناجحة، مخطط اتجاه الإيرادات خلال 30 يومًا (يومي أو تراكمي)، وجدول معاملات يمكن تصفيته                             |
| **العملاء**                      | أفضل 3 عملاء مرتبة حسب الإنفاق مع عرض منصة التتويج، بالإضافة إلى جدول تفصيلي كامل للعملاء                                                           |
| **الاحتفاظ**                     | معدل تسرب العملاء، معدل تسرب الإيرادات، ومخطط اتجاه بخطين مزدوجين لاكتشاف الأنماط                                                                   |
| **المشتركون**                    | كل الاشتراكات الخاصة بالمنتج مع الحالة، تاريخ البدء، تاريخ الفاتورة التالي، والمبلغ                                                                 |
| **الإيراد الشهري المتكرر (MRR)** | مخطط أشرطة مكدسة للإيراد الشهري المتكرر مع تفصيل الإيراد الشهري الجديد، وتوسعة الإيراد الشهري، وإلغاء الإيراد الشهري، وإجمالي الإيراد الصافي الجديد |

كل علامات التبويب تدعم **مرشح تاريخ** (افتراضيًا كل الوقت) حتى تتمكن من استعراض أي فترة زمنية.

<Tip>
  استخدم علامة تبويب الاحتفاظ لتحديد المنتجات ذات التسرب العالي مبكرًا، واستخدم علامة تبويب الإيراد الشهري المتكرر لتتبع ما إذا كانت إيرادات التوسعة تتجاوز الإيرادات الملغاة شهريًا.
</Tip>

تعرف على المزيد: [تحليلات على مستوى المنتج](/features/analytics-and-reporting#product-level-analytics)

### 2. **دعم Verifi RDR على Dodo Payments**

تدعم Dodo Payments الآن **حل النزاعات السريع من Visa (RDR)** بمساعدة Verifi -- وهي أداة آلية لمنع النزاعات تقوم بحل نزاعات Visa المؤهلة **قبل أن تتحول إلى استرداد رسمي**. عندما يبدأ حامل البطاقة نزاعًا، يقوم RDR باعتراضه ويصدر رد مبلغ تلقائيًا إذا كان المبلغ أقل من الحد المحدد بالدولار الأمريكي.

**لماذا هذا مهم**

| الفائدة                           | التأثير                                                                                                     |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **معدل نزاعات أقل**               | النزاعات التي تحل عن طريق RDR لا تُحتسب ضمن حد 0.9% لفيسا                                                   |
| **لا يزال يتم تطبيق رسوم النزاع** | لا تزال تُفرض رسوم النزاع على المعاملات المحسومة عن طريق RDR -- وهذا يغطي تكلفة الاعتراض مع فيزا نيابةً عنك |
| **انعدام العبء التشغيلي**         | لا يوجد جمع أدلة أو مواعيد نهائية للاستجابة                                                                 |
| **تجربة عملاء أفضل**              | يحصل حاملو البطاقات على ردود فورية                                                                          |
| **حماية الحساب**                  | الابتعاد عن برنامج مراقبة النزاعات لفيسا (VDMP)                                                             |

<Warning>
  تجاوز معدل النزاعات البالغ 0.9% أو 100 نزاع في الشهر عند Visa يؤدي إلى تفعيل VDMP، مع غرامات متصاعدة تصل إلى أكثر من 50,000 دولار/شهريًا. يساعدك RDR على البقاء دون هذه الحدود بكثير.
</Warning>

**كيف يعمل**

1. يبدأ حامل البطاقة نزاعًا مع البنك
2. يعترض RDR النزاع قبل أن يتحول إلى استرداد رسمي
3. إذا كان مبلغ المعاملة عند الحد أو دونه، يتم إصدار رد مبلغ تلقائيًا
4. يتم حل النزاع فورًا و**لا يُحتسب** ضمن معدل النزاعات الخاص بك

<Info>
  المعاملات التي تُرد تلقائيًا عبر RDR تظهر كنزاع خاسر في لوحة تحكم Dodo Payments. هذا متوقع -- حيث تم إصدار الرد تلقائيًا لمنع استرداد رسمي.
</Info>

لتمكين Verifi RDR في حسابك، تواصل مع **[support@dodopayments.com](mailto:support@dodopayments.com)** لتكوين الحد الخاص بك.

تعرف على المزيد: [توثيق Visa RDR](/features/transactions/disputes#visa-rapid-dispute-resolution-rdr)

### 3. **أداة سطر الأوامر DodoPayments CLI**

نقدم الأداة الجديدة كليًا **DodoPayments CLI** (`dodopayments-cli`) -- قم بإدارة سير عمل Dodo Payments بالكامل مباشرة من الطرفية. بُنيت للمطورين الذين يفضلون سطر الأوامر، وتتيح الأداة إدارة المنتجات والمدفوعات والعملاء والخصومات والتراخيص والإضافات والاستردادات، بل وحتى إنشاء جلسات السداد دون مغادرة محررك.

**التثبيت**

<CodeGroup>
  ```bash npm (Recommended) theme={null}
  npm install -g dodopayments-cli
  ```

  ```bash Bun theme={null}
  bun install -g dodopayments-cli
  ```
</CodeGroup>

**الأوامر الرئيسية**

| الأمر                   | الوصف                                                              |
| ----------------------- | ------------------------------------------------------------------ |
| `dodo login`            | المصادقة باستخدام مفتاح API (يفتح المتصفح)                         |
| `dodo products list`    | قائمة بكل المنتجات                                                 |
| `dodo payments list`    | قائمة بكل المدفوعات                                                |
| `dodo customers create` | إنشاء عميل جديد                                                    |
| `dodo checkout new`     | إنشاء جلسة سداد والحصول على عنوان URL                              |
| `dodo wh listen`        | إعادة توجيه webhooks اختبار مباشرة إلى الخادم المحلي عبر WebSocket |
| `dodo wh trigger`       | إرسال حمولات webhook وهمية إلى أي نقطة نهاية                       |

**اختبار Webhook**

تتضمن الأداة أدوات قوية للتطوير:

* **`dodo wh listen`** -- يفتح اتصال WebSocket لإعادة توجيه Webhooks الاختبارية في الوقت الفعلي إلى الخادم المحلي، مع الحفاظ على الرؤوس الأصلية لاختبار التحقق من التوقيع
* **`dodo wh trigger`** -- يرسل حمولات Webhook وهمية تفاعليًا، ويدعم جميع أنواع الأحداث الـ22 عبر الاشتراكات والمدفوعات والاستردادات والنزاعات والتراخيص

<Tip>
  يعمل مستمع Webhook فقط مع مفتاح API في وضع الاختبار. تأكد من تسجيل الدخول بمفتاح وضع اختبار قبل استخدام `dodo wh listen`.
</Tip>

تعرف على المزيد: [توثيق CLI](/developer-resources/sdks/cli)

### 4. **إعادة تصميم واجهة بوابة العملاء**

تم إعادة تصميم بوابة العملاء تمامًا بواجهة نظيفة وموحدة. تتميز البوابة المُعاد تصميمها بشريط تنقل جانبي على اليسار وأقسام منظمة، مما يوفر للعملاء تجربة خدمة ذاتية أكثر سهولة intuitively.

<Frame>
  <img src="https://mintcdn.com/dodopayments/kCngKZVrb0rZMS1f/images/customer-portal/new-portal.png?fit=max&auto=format&n=kCngKZVrb0rZMS1f&q=85&s=9431b2e24142e47cb39dc84c1a0303fe" alt="تحسين واجهة بوابة العملاء" style={{ maxHeight: '500px', width: 'auto' }} width="2876" height="1568" data-path="images/customer-portal/new-portal.png" />
</Frame>

**ما الجديد**

| القسم                 | الميزات                                                                      |
| --------------------- | ---------------------------------------------------------------------------- |
| **الاشتراكات النشطة** | عرض كل الاشتراكات النشطة مع تفاصيل الخطة، ودورة الفوترة، وتاريخ الدفع التالي |
| **طرق الدفع**         | إدارة طرق الدفع المحفوظة، إضافة بطاقات جديدة، وتحديث تفاصيل الدفع            |
| **سجل الفوترة**       | عرض الفواتير السابقة مع إيصالات PDF قابلة للتنزيل                            |
| **معلومات الفوترة**   | تحرير الاسم والبريد الإلكتروني ورقم الهاتف وعنوان الفوترة                    |
| **تفاصيل الاشتراك**   | عرض معلومات تفصيلية للاشتراك مع خيارات للإلغاء أو تغيير الخطة                |
| **تغييرات الخطة**     | الترقية أو التخفيض عبر مجموعات المنتجات مباشرةً في البوابة                   |

يمكن للعملاء أيضًا تحديث طرق الدفع للاشتراكات النشطة أو إعادة تفعيل الاشتراكات المتوقفة بسبب فشل الدفع -- كل ذلك من خلال البوابة المُعاد تصميمها.

<Check>
  البوابة المعاد تصميمها متاحة على `https://customer.dodopayments.com/login/{business_id}` لوضع الإنتاج و`https://test.customer.dodopayments.com/login/{business_id}` لوضع الاختبار.
</Check>

تعرف على المزيد: [بوابة العملاء](/features/customer-portal)

### 5. **تحديث طريقة الدفع في السداد المضمّن**

يدعم [السداد المضمّن](/developer-resources/inline-checkout) الآن **تحديث طرق الدفع** للاشتراكات. عندما يحتاج العميل إلى تحديث طريقة الدفع (لاشتراك نشط أو لإعادة تفعيل اشتراك متوقف)، يمكن الآن عرض تدفق تحديث طريقة الدفع مباشرة ضمن تخطيط صفحتك باستخدام السداد المضمّن -- مما يوفر تجربة مدمجة وسلسة.

**كيف يعمل**

1. استدعِ واجهة تحديث طريقة الدفع (Update Payment Method API) للحصول على `payment_link`:

```typescript theme={null}
const response = await client.subscriptions.updatePaymentMethod('sub_123', {
  type: 'new',
  return_url: 'https://example.com/return'
});
```

2. استخدم الـ `payment_link` المُعاد كـ `checkoutUrl` في السداد المضمّن:

```typescript theme={null}
DodoPayments.Checkout.open({
  checkoutUrl: response.payment_link,
  elementId: "dodo-inline-checkout"
});
```

يعرض الإطار المضمّن فقط نموذج جمع طريقة الدفع، مما يسمح للعملاء بإدخال تفاصيل بطاقة جديدة أو اختيار طريقة دفع محفوظة دون مغادرة صفحتك.

<Tip>
  بالنسبة للاشتراكات المتوقفة، يقوم تدفق تحديث طريقة الدفع تلقائيًا بإنشاء خصم للمبالغ المتبقية. راقب الـ `payment.succeeded` و`subscription.active` للتأكد من إعادة التفعيل.
</Tip>

تعرف على المزيد: [السداد المضمّن](/developer-resources/inline-checkout) | [تحديث طرق الدفع للاشتراكات](/features/subscription#update-payment-method-for-active-subscription)

### 6. **دعم الملء المسبق لمعرف الضريبة في جلسات السداد**

يمكنك الآن **ملء معرف الضريبة مسبقًا** (مثل رقم ضريبة القيمة المضافة، رقم GST) عند إنشاء جلسة سداد باستخدام المعامل `tax_id`. هذا مثالي للمعاملات بين الشركات حيث تعرف رقم تعريف الضريبة للعميل بالفعل. عندما يتم ملء المعرف مسبقًا، يتم تعبئة الحقل مسبقًا ويصبح مغلقًا في نموذج السداد.

```typescript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  customer: { customer_id: 'cus_123' },
  billing_address: { country: 'DE' },
  tax_id: 'DE999999999',
  return_url: 'https://yoursite.com/return'
});
```

<Info>
  يتطلب معامل `tax_id` وجود `billing_address` يحتوي على حقل`country` على الأقل. يتم التحقق من الأهلية الضريبية في الوقت الفعلي، وتطبق قواعد الخصم العكسي تلقائيًا للمعاملات المؤهلة بين الشركات.
</Info>

استخدم علم الميزة `allow_customer_editing_tax_id` للتحكم فيما إذا كان بإمكان العملاء تعديل معرف الضريبة المملوء مسبقًا، و`allow_tax_id` لتبديل رؤية معرف الضريبة في السداد.

تعرف على المزيد: [جلسات السداد - معرف الضريبة](/developer-resources/checkout-session) | [مدفوعات بين الشركات](/features/b2b-payments)

### 7. **مفتاح الترخيص والبريد الإلكتروني في إعادة التوجيه إلى عنوان العودة**

بعد إكمال العميل لعملية السداد، تضيف Dodo Payments الآن `license_key` و`email` كمعلمات استعلام في إعادة التوجيه `return_url`، بالإضافة إلى المعلمات الحالية `payment_id`/`subscription_id` و`status`.

**معلمات الاستعلام المضافة**

| المعامل           | النوع    | الشرط                                                                        |
| ----------------- | -------- | ---------------------------------------------------------------------------- |
| `payment_id`      | `string` | متوفر دائمًا للمدفوعات لمرة واحدة                                            |
| `subscription_id` | `string` | متوفر دائمًا لمدفوعات الاشتراك                                               |
| `status`          | `string` | موجود دائمًا                                                                 |
| `license_key`     | `string` | موجود إذا كان المنتج يحتوي على مفاتيح ترخيص ممكنة (مفصولة بفواصل عند تعددها) |
| `email`           | `string` | موجود إذا كان لدى العميل بريد إلكتروني في السجلات                            |

**أمثلة عناوين إعادة التوجيه:**

```text theme={null}
# One-time payment with license key
https://yoursite.com/return?payment_id=pay_xxx&status=succeeded&license_key=LK-001&email=customer%40example.com

# Subscription with multiple license keys
https://yoursite.com/return?subscription_id=sub_xxx&status=active&license_key=LK-001,LK-002&email=customer%40example.com
```

<Tip>
  استخدم هذه المعلمات لعرض مفاتيح الترخيص أو إرسال بريد تأكيد فورًا في صفحة العودة الخاصة بك، دون الحاجة إلى استدعاء API إضافي.
</Tip>

تعرف على المزيد: [جلسات السداد - عنوان العودة](/developer-resources/checkout-session) | [مفاتيح الترخيص في عنوان العودة](/features/license-keys#license-keys-in-return-url)

### 8. **واجهة تحديث البريد الإلكتروني للعميل**

تدعم نقطة النهاية `PATCH /customers/{customer_id}` الآن تحديث عناوين البريد الإلكتروني للعملاء برمجيًا. حدّث البريد الإلكتروني إلى جانب الاسم ورقم الهاتف والبيانات الوصفية في استدعاء API واحد.

```typescript theme={null}
await client.customers.update('cus_123', {
  email: 'newemail@example.com',
  name: 'Updated Name'
});
```

**الحقول القابلة للتحديث**

| الحقل          | النوع            | الوصف                          |
| -------------- | ---------------- | ------------------------------ |
| `email`        | `string \| null` | عنوان البريد الإلكتروني للعميل |
| `name`         | `string \| null` | اسم العرض الخاص بالعميل        |
| `phone_number` | `string \| null` | رقم الهاتف بالصيغة الدولية     |
| `metadata`     | `object \| null` | أزواج مفتاح-قيمة مخصصة         |

<Info>
  تحديثات البريد الإلكتروني للعملاء متاحة أيضًا من خلال بوابة العملاء (الخدمة الذاتية)، ولوحة التحكم، والأداة CLI عبر `dodo customers update`.
</Info>

تعرف على المزيد: [واجهة تحديث العميل](/api-reference/customers/patch-customer) | [إدارة العملاء](/features/customers)

### 9. **إصدار محول Bun**

نقدّم `@dodopayments/bun` -- محول إطار عمل مخصص للخادم الأصلي لـ [Bun](https://bun.sh) (`Bun.serve()`). دمج السداد، وبوابة العملاء، وWebhooks مع Bun ببضع أسطر فقط من التعليمات البرمجية.

**التثبيت**

```bash theme={null}
bun add @dodopayments/bun
```

**الإعداد السريع**

```typescript theme={null}
import { Checkout, CustomerPortal, Webhooks } from "@dodopayments/bun";

Bun.serve({
  routes: {
    "/api/checkout": Checkout({
      bearerToken: process.env.DODO_PAYMENTS_API_KEY!,
      returnUrl: process.env.DODO_PAYMENTS_RETURN_URL!,
      environment: process.env.DODO_PAYMENTS_ENVIRONMENT!,
    }),
    "/api/customer-portal": CustomerPortal({
      bearerToken: process.env.DODO_PAYMENTS_API_KEY!,
      environment: process.env.DODO_PAYMENTS_ENVIRONMENT!,
    }),
    "/api/webhooks": Webhooks({
      webhookKey: process.env.DODO_PAYMENTS_WEBHOOK_KEY!,
      onPaymentSucceeded: async (payload) => {
        console.log("Payment succeeded:", payload.data.payment_id);
      },
      onSubscriptionActive: async (payload) => {
        console.log("Subscription active:", payload.data.subscription_id);
      },
    }),
  },
});
```

يدعم محول Bun جميع تدفقات السداد الثلاثة (الثابتة، والديناميكية، والمعتمدة على الجلسة)، وتوليد جلسات بوابة العملاء، ومعالجة Webhooks آمنة مع التحقق من التوقيع والتحقق باستخدام Zod عبر 22 نوع حدث.

<Check>
  ينضم محول Bun إلى عائلة محولات الأطر لدينا التي تضم 11 محولًا بما في ذلك Next.js وNuxt وExpress وFastify وHono وAstro وSvelteKit وRemix وTanStack Start وBetter Auth وConvex.
</Check>

تعرف على المزيد: [توثيق محول Bun](/developer-resources/bun-adaptor) | [نظرة عامة على محولات الأطر](/developer-resources/framework-adaptors)
