HyoNovaالتوثيق

عدم التكرار في المدفوعات

كل الطرق التي يجعل بها HyoNova Commerce الطلبات المكررة والـWebhooks المُعادة والعمّال المتزامنين آمنة — المفاتيح والسجلات الفريدة والنسخ والإشعارات لمرة واحدة.

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

لا تظهر طريقة الدفع إلا بعد أن يُعدّ HyoNova مزوّد الدفع الخاص بها.

تُعاد محاولات المدفوعات من المتصفحات والشبكات والمزوّدين والعمّال. وقد بُني HyoNova Commerce بحيث يكون لتنفيذ الشيء مرتين أثر تنفيذه مرة واحدة.

مفاتيح الطلبات#

ترسل إجراءات المال التي قد يعيد العميل محاولتها ترويسة Idempotency-Key من 16 إلى 100 حرف (حروف وأرقام و_ . : -). ويُرفض المفتاح الناقص أو غير الصحيح بالرمز IDEMPOTENCY_KEY_REQUIRED.

الإجراءفريد لكلالتكرار يعيد
بدء عملية دفعشركة + مفتاحعملية الدفع التي أُنشئت بالفعل
تأكيد دفعة بنكيةشركة + مفتاحالدفعة المسجلة بالفعل
طلب استردادشركة + مفتاحالاسترداد المطلوب بالفعل (ويُرفض مفتاح أعيد استخدامه لدفعة أخرى)

السجلات الفريدة#

الضمانةالأثر
عملية دفع مفتوحة واحدة لكل شركةتُرفض عملية دفع ثانية أثناء وجود أخرى مفتوحة بالرمز CHECKOUT_IN_PROGRESS
مفتاح حدث المزوّد (المزوّد، معرّف الحدث)الـWebhook المُعاد duplicate
مراجع المزوّد للدفعات والطلبات والفواتير والاسترداداتلا يُسجَّل كائن المزوّد نفسه مرتين أبداً
استرداد مفتوح واحد لكل دفعةREFUND_ALREADY_EXISTS
مفتاح السجل الزمني للفوترة لكل شركةلا يُسجَّل التغيير نفسه — ولا يُشعَر به — مرتين أبداً
رسالة بريد واحدة لكل حدث ومستلملا يُرسل إشعار الفوترة بالبريد إلى الشخص نفسه مرتين
أرقام الفواتيرتؤخذ تحت قفل صف: لا تُتخطى ولا تتكرر أبداً

الاستدعاءات إلى المزوّدين#

يمرّر HyoNova معرّفاته الخاصة مفاتيحَ عدم تكرار إلى المزوّدين — معرّف عملية الدفع لعملية الدفع، ومعرّف الاسترداد للاسترداد، ومفاتيح بصيغة <subscription>:<version> لتغييرات الاشتراك وإلغائه واستئنافه. ولا تُعاد محاولة الاستدعاءات الخارجية إلا حين يكون تكرارها آمناً: القراءات، أو الكتابات التي يمنع المزوّد تكرارها بالمفتاح.

النسخ#

تحمل تغييرات الاشتراك والفاتورة وملف الفوترة والمزوّد والتوجيه النسخة التي قرأها المستدعي آخر مرة. وتُرفض النسخة القديمة (SUBSCRIPTION_CONFLICT أو RESOURCE_VERSION_CONFLICT) فلا يكتب شخصان فوق تغيير بعضهما أبداً.

العمّال#

تعمل صيانة الفوترة في عامل واحد في كل مرة (قفل استشاري في قاعدة البيانات) ومرة في الدقيقة على الأكثر؛ وكل تغيير تجريه يستخدم مفاتيح السجل الزمني نفسها، فالتشغيل المكرر لا يغيّر شيئاً.

↑↓ للتنقل · Enter للفتح · Esc للإغلاق