يو باي منتس (UPayments)
UPayments صفحة دفع مستضافة مبنية حول الكويت — كي نت والبطاقات وأبل باي وغيرها من الطرق المفعّلة على حسابك في UPayments. يدفع المشترون على صفحة UPayments ثم يعودون إلى متجرك. الطرق التي تظهر يحددها حسابك في UPayments وليس TakeTheme.
الربط
الإعدادات ← المدفوعات ← يو باي منتس.
| بيان الاعتماد | مطلوب | أين تجده |
|---|---|---|
| مفتاح API | نعم | مفتاح API الخاص بك في UPayments (Bearer token) للبيئة التي تختارها أدناه |
| المفتاح السري لـ API | موصى به | لوحة UPayments ← Merchant API Details |
| البيئة | نعم | تجريبي (Sandbox) أو مباشر (إنتاج) |
يستخدم الاختبار والإنتاج مفاتيح مختلفة على خوادم مختلفة، لذا يجب أن يتطابق المفتاح مع البيئة. ابدأ على تجريبي بمفتاح الاختبار وبطاقة اختبار من UPayments، ثم انتقل إلى مباشر (إنتاج) بمفتاح الإنتاج. للحصول على مفاتيح الإنتاج تواص ل مع UPayments (support@upayments.com)؛ ويجب أن يجتاز حسابك مراجعة KYC لديهم قبل استقبال مدفوعات حقيقية.
المفتاح السري لـ API اختياري لكن يُنصح بإضافته:
- تشترط UPayments توقيع كل طلب API عندما يكون HMAC مفعّلاً على حسابك. عند حفظ المفتاح السري توقّع TakeTheme كل طلب؛ وبدونه تُرسل الطلبات غير موقّعة وسيرفضها أي حساب يفرض التوقيع.
- يتيح لـ TakeTheme التحقق من إشعارات الـ Webhook التي ترسلها UPayments (راجع مسار الدفع).
تُنشأ الطلبات عند عودة المشتري من UPayments: تستعلم TakeTheme عن عملية الدفع لدى UPayments أثناء العودة، لذا لا يلزم تسجيل أي شيء في المسار المعتاد. كما تمنح TakeTheme لـ UPayments رابط إشعار مع كل عملية دفع، فيُنشأ الطلب إذا دفع المشتري ثم أغلق الصفحة، أو إذا تأخر تأكيد البنك.
الإعدادات
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
| اسم الدفع في صفحة الدفع | فارغ | الاسم الذي يراه العميل (مثل "كي نت أو بطاقة"). إن تُرك فارغاً يظهر "UPayments" |
| رسوم المعاملة | لا يوجد | رسوم ثابتة أو نسبية تُضاف إلى الطلب عند اختيار هذه الطريقة |
| خصم الدفع | لا يوجد | خصم يُطبَّق عند اختيار المشتري لهذه الطريقة |
| إرسال بريد تأكيد الدفع | مفعّل | يرسل بريداً للعميل عند نجاح الدفع |
| إشعار عند فشل الدفع (بريد) | فارغ | ينبّه فريقك عند فشل عملية دفع |
العملة
تُنشئ TakeTheme عملية الدفع بـعملة متجرك. تقبل UPayments KWD وSAR وUSD وBHD وEUR وOMR وQAR وAED وINR وGBP وJOD، وتحوّل أي عملة غير KWD بنفسها. قد يلزم أن تفعّل UPayments استخدام عملة غير KWD على حسابك. وإذا كانت عملة متجرك غير مدعومة لدى UPayments — مثل EGP — يعرض الدفع رسالة الخطأ من UPayments بدلاً من رابط الدفع.
تُرسل مبالغ KWD وBHD وOMR وJOD بثلاث خانات عشرية، وباقي العملات بخانتين.
إذا أبلغت UPayments عن مبلغ محصَّل يختلف عن إجمالي الطلب، تسجّل TakeTheme الفرق للمطابقة دون رفض الدفع.
مسار الدفع
- يختار المشتري UPayments ويُرسل الطلب.
- تُنشئ TakeTheme عملية دفع في UPayments (بمرجع داخلي) وتوجّه المشتري إلى صفحتها المستضافة.
- يختار المشتري طريقة الدفع ويدفع.
- تعيد UPayments المشتري إلى TakeTheme —
GET /v1/payment/upayments/return/<reference>بعد الدفع، أوGET /v1/payment/upayments/cancel/<reference>إذا ألغى. تستعلم TakeTheme عن عملية الدفع لدى UPayments بمفتاحك أنت وباستخدام الجلسة التي خزّنتها عند إنشاء العملية — وليس بأي شيء قادم من المتصفح — وفقط إذا أفادت UPayments بأنها CAPTURED تُنشئ الطلب مدفوعاً. - يصل المشتري إلى صفحة الشكر في متجرك.
ترسل UPayments أيضاً إشعاراً:
POST https://<your-api-host>/api/v1/payment/webhook/upayments
عند حفظ المفتاح السري لـ API يجب أن يحمل كل إشعار X-Signature صحيحاً (HMAC-SHA256 للطابع الزمني والطريقة والرابط الكامل والمحتوى الخام، بذلك المفتاح السري)؛ ويُرفض الإشعار بلا توقيع أو بتوقيع غير مطابق بالرمز 403. وحتى الإشعار الصحيح لا يحدد النتيجة بمفرده: هو فقط يعرّف عملية الدفع، وتُعاد قراءة الحالة من UPayments. أيهما وصل أولاً (العودة أو الإشعار) ينشئ الطلب — ولا يُنشئان طلبين.