# روابط الدفع (من غير كود) (/ar/integrate/integration-patterns/payment-links)

استخدم الرابط اللي التاجر أنشأه في لوحة التحكم. ضمّنه في موقع، حطّه في إيميل، اطبع كود QR، أو استنى أحداث الدفع بـ webhook.

روابط الدفع ميزة من غير كود. بتتعمل في لوحة التحكم، مش عن طريق الـ API. الصفحة دي بتغطي تعمل إيه بالرابط بعد ما يبقى موجود: إزاي تحطّه في السطوح بتاعتك، والـ URL شكله إيه، وإزاي تأكّد الدفعات برمجيًا لو حبيت.

<Cards className="grid-cols-1">
  <Card icon="<Sparkles />" title="ابدأ من هنا: أنشئ الرابط في لوحة التحكم" href="/features/payment-links">
    الشرح الكامل (المنتجات، والتحصيل، والتأكيد، والمشاركة) موجود في صفحة ميزة روابط الدفع.
    ارجع هنا بمجرد ما يبقى عندك رابط في إيدك.
  </Card>
</Cards>

## رابط الـ URL [#رابط-الـ-url]

كل رابط دفع ليه URL بالشكل ده:

```
https://checkout.xpay.app/p/{paymentLinkId}
```

الـ `paymentLinkId` هو معرّف الرابط من لوحة التحكم، ببادئة `plink_test_*` في وضع الاختبار و`plink_live_*` في الحساب الفعلي. اسم المضيف (hostname) واحد في الوضعين؛ البادئة هي اللي بتقولك الرابط بيخص أنهي بيئة.

افتح صفحة تفاصيل الرابط في لوحة التحكم واضغط **نسخ الرابط** علشان تاخد الـ URL، أو **عرض رمز QR** علشان تحمّل كود QR قابل للطباعة.

## استخدم الرابط [#استخدم-الرابط]

الـ URL ده URL عادي بـ HTTPS. استخدمه في أي مكان بيشتغل فيه URL.

<Cards>
  <Card icon="<ExternalLink />" title="رابط أو زرار في موقعك">
    `<a href="https://checkout.xpay.app/p/plink_...">` بيفتح الدفع المستضاف في نفس التاب. ضيف `target="_blank"` علشان يفتح في تاب جديد.
  </Card>

  <Card icon="<QrCode />" title="كود QR على ورق أو شاشة">
    لوحة التحكم بتولّد كود QR قابل للطباعة. الزقه على بوستر، أو فلاير، أو ترابيزة مطعم، أو اعرضه على شاشة كاشير.
  </Card>

  <Card icon="<CodeXml />" title="إيميل، شات، سوشيال">
    حطّ الـ URL في إيميل معاملاتي، أو رسالة Slack، أو bio على إنستجرام، أو رسالة واتساب. الرابط بيشتغل في أي قناة بتعرض URLs.
  </Card>

  <Card icon="<LinkIcon />" title="Webflow، Wix، Squarespace، Shopify">
    أغلب منشئي المواقع من غير كود بيقبلوا URL مخصّص على زرار أو صورة. الصق الرابط هناك. من غير script tag، ولا SDK، ولا embed.
  </Card>
</Cards>

## رابط واحد، عملاء كتير [#رابط-واحد-عملاء-كتير]

نفس رابط الدفع بيتقبل من عدد لا نهائي من العملاء. تفاعل كل عميل قايم بذاته: بطاقته، وفورمه، وإيصاله.

ده مفيد للفواتير اللي بتعيد إرسالها، أو البوسترات اللي بتفضل معلّقة أسابيع، أو زراير "اشتري دلوقتي" الدائمة. وبيبقى مشكلة لو الرابط بيحكم بيعة واحدة أو خانة محدودة. للبيعات الفريدة، عطّل الرابط بعد ما العميل يدفع (صفحة القائمة، إجراء جماعي) علشان الـ URL يبطّل يقبل دفعات جديدة.

## أكّد الدفعات برمجيًا (اختياري) [#أكّد-الدفعات-برمجيًا-اختياري]

مش محتاج كود علشان تحصّل دفعات عن طريق رابط دفع. لوحة التحكم بتعرضلك أصلًا كل معاملة، وكل عميل، وكل تسوية جت من خلاله.

ما تلجأش للكود إلا لما تحتاج رد فعل مؤتمت على كل دفعة ناجحة: منح وصول، أو إرسال إيصال بإيميل متتبَّع، أو نشر لنظام المخزن بتاعك، أو تحديث CRM داخلي. علشان كده، اظبط نقطة نهاية webhook واستنى أحداث `checkout.session.completed`.

الحدث ده هو نفس الحدث اللي بيطلقه كل دمج تاني في XPay. حمولة الجلسة بتحمل حقل `paymentLinkId` بيقولك العميل دفع من خلال أنهي رابط دفع، علشان تقدر تفرّع معالِجك على حسب الرابط.

الحد الأدنى اللي معالِجك محتاج يعمله:

1. تحقّق من ترويسة `XPay-Signature`.
2. فُكّ محتوى الـ JSON.
3. لو `event.type === "checkout.session.completed"` و`event.data.object.paymentLinkId === "plink_..."`، اعمل أي تنفيذ عايزه للرابط ده.

للإعداد الكامل (إنشاء نقطة نهاية، والحصول على السرّ بتاع التوقيع، وطريقة التحقق في Node وPython)، شوف مجموعة الـ Webhooks.

<Cards>
  <Card icon="<Webhook />" title="إعداد نقطة نهاية webhook" href="/integrate/webhooks/setting-up-an-endpoint">
    أضِف نقطة نهاية في لوحة التحكم وخُد السرّ بتاع التوقيع `whsec_*`.
  </Card>

  <Card icon="<Webhook />" title="التحقق من التواقيع" href="/integrate/webhooks/verifying-signatures">
    التحقق من توقيع HMAC-SHA256 مع الحماية من إعادة التشغيل.
  </Card>
</Cards>

## رايح فين بعد كده [#رايح-فين-بعد-كده]

<Cards>
  <Card icon="<LinkIcon />" title="أنشئ رابط دفع" href="/features/payment-links">
    شرح لوحة التحكم: المنتجات، والتحصيل، والتأكيد، والمشاركة.
  </Card>

  <Card icon="<FlaskConical />" title="وضع الاختبار وبطاقات الاختبار" href="/get-started/test-mode">
    افتح URL `plink_test_*` ببطاقة اختبار علشان تشغّل دفعة من الأول للآخر من غير ما تصرف فلوس.
  </Card>

  <Card icon="<GitBranch />" title="محتاج دفع متحكَّم فيه بالكود؟" href="/get-started/choose-your-integration">
    لو عايز تحكم برمجي كامل في كل جلسة، بُص على الدفع المستضاف، أو Drop-in، أو
    Elements.
  </Card>
</Cards>