كيفية تطوير واجهة نقل النقود اليدوية لموقع الويب الخاص بي؟

StackOverflow https://stackoverflow.com/questions/2062872

سؤال

لقد قمت بتطوير موقع ويب. يحتاج المستخدمون إلى الدفع المسبق لمشاريعه/مهامه. الآن أريد أن أقدم طريقة يمكن للمستخدم إعادة شحن حسابه المالي على موقع الويب الخاص بي. لنفترض أن الحساب المالي لموقع الويب الخاص بي هو حساب Moneybookers ويمكن للمستخدم إرسال الأموال إلى هذا الحساب يدويًا ، كيف يمكنني تطوير الواجهة؟ كما تعلمون ، سوف يرسل العديد من المستخدمين الأموال إلى الحساب العام لموقع الويب ، كيف يمكنني تحديد المصدر الذي يأتي منه مبلغ المال؟ كيف يمكنني التأكد من أنني لن أضيف رصيد حسابه مرتين لنقل أموال واحد فقط؟ إذا لم يكن سؤالي واضحًا ، فالرجاء عدم التردد في طلب التوضيح.

لنفترض أن لديك حسابًا على موقع الويب الخاص بي ، إنه yourname@example.com. وعندما تنشئ الحساب ، يكون الرصيد 0 دولار. تحتاج الآن إلى إيداع الأموال في yourname@example.com. يمكنك أن تفعل ذلك يدويًا. أنت فقط تدفع لي 200 دولار ، ولاحظ أنك أرسلت لي 200 دولار ، لذلك سأقوم بتحديث رصيدك إلى 200 دولار.

أنا لا أستخدم واجهة برمجة التطبيقات الخاصة بهم. إذا استخدمت واجهة برمجة التطبيقات الخاصة بهم ، فسيتم تنفيذ هذه العملية تلقائيًا بواسطة برنامج الكمبيوتر. أعني أنني أريد أن أفعل ذلك يدويًا ، باليد.

هل كانت مفيدة؟

المحلول

أنا متأكد من أنه مهما كانت Moneybookers/PayPal/Neteller/أيا كانت واجهة برمجة التطبيقات التي تستخدمها ، فهذه مشكلة في مؤسسة مالية, ليس أنت ، طالما أنك تلتزم باستخدام واجهة برمجة التطبيقات الخاصة بهم ولا تحاول إعادة اختراع العجلة.

نصائح أخرى

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

إذا كان هذا هو الحال ، فإليك اقتراحي:

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

على سبيل المثال ، لديك جدول معاملات مع حقل فريد من نوعه كمفتاح أساسي ، والمبلغ ، والتاريخ/الوقت ، وربط مفتاح foriegn بجدول المستخدمين وربط مفتاح ForieGN بجدول حالة. سيتألف جدول الحالة الخاص بك من "inprogress" و "إلغاء" و "كاملة".

بمجرد إرسال المعاملة إلى بوابة الدفع ، قم بإنشاء المعاملة في جدول المعاملات الخاص بك مع حالة "inprogress". عندما تحصل على الإخطار لإرجاع لتحديث نظامك ، قم بتشغيل هذا المنطق:

if(returnedStatus == "Completed" && status = "inProgress")
(
  status = "Completed";
  //update balance
)
elseif(returnedStatus == "Cancelled" && status != "Completed")) 
{
  status = "Cancelled";
  //display cancelled message
}

سيؤدي ذلك إلى تحديث رصيد الحساب إذا كانت المعاملة لا تزال قيد التقدم ، فلا تحديث الحساب إذا تم القيام به بالفعل ولم يفعل شيئًا لتوازن الحساب إذا تم إلغاؤه لسبب ما.

ملاحظة: احصل على لوك في MonsterPay كبوابة www.monsterpay.com

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top