اذهب إلى المحتوى
  • 0

Python | Django | multi-vendor

Omar Mohamed52

السؤال

السلام عليكم 

اريد ان اعرف موضوع يخص ال multi-vendor كيف بيتم بشكل صحيح وللتوضيح اكثر مثلا موقع مستقل العميل يدفع المبلغ ومستقل ياخذ ال 15% والمبرمج ياخد ال 85% ف فكرتها ان بيتم عمل متغيرين لتخزين القيم لمستقل وللمبرمج مثلا لاكن كيف يتم تحويل المبلغ لبوابتين او لبوابة الاساسية وهي بوابة مستقل بعدها بيتم التحويل لبوابة المبرمج مثلا 

وشكرا لكم مقدما

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

عندما يدفع العميل المبلغ، يتم تحصيله عبر بوابة دفع مثل Stripe أو PayPal، و في هذه المرحلة المبلغ يتم تحويله إلى حساب المنصة، بعدها تقوم المنصة بحساب النسبة التي سيتم أخذها كعمولة، و يمكن تخزين هذه النسب في متغيرين أو حقول في قاعدة البيانات بهذا الشكل:

platform_fee_percentage = 0.15
programmer_fee_percentage = 0.85

total_amount = 1000  # المبلغ المدفوع من قبل العميل
platform_fee = total_amount * platform_fee_percentage
programmer_fee = total_amount * programmer_fee_percentage

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

و بعض الأنظمة تحتفظ بالمبلغ بالكامل في حساب المنصة لفترة معينة حتى يتم تأكيد انتهاء العمل، وبعد ذلك يتم توزيع المبالغ، و عند تأكيد العمل يتم تحويل النسبة المستحقة للمبرمج بشكل تلقائي.

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 1 دقيقة مضت قال Chihab Hedidi:

عندما يدفع العميل المبلغ، يتم تحصيله عبر بوابة دفع مثل Stripe أو PayPal، و في هذه المرحلة المبلغ يتم تحويله إلى حساب المنصة، بعدها تقوم المنصة بحساب النسبة التي سيتم أخذها كعمولة، و يمكن تخزين هذه النسب في متغيرين أو حقول في قاعدة البيانات بهذا الشكل:

platform_fee_percentage = 0.15
programmer_fee_percentage = 0.85

total_amount = 1000  # المبلغ المدفوع من قبل العميل
platform_fee = total_amount * platform_fee_percentage
programmer_fee = total_amount * programmer_fee_percentage

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

و بعض الأنظمة تحتفظ بالمبلغ بالكامل في حساب المنصة لفترة معينة حتى يتم تأكيد انتهاء العمل، وبعد ذلك يتم توزيع المبالغ، و عند تأكيد العمل يتم تحويل النسبة المستحقة للمبرمج بشكل تلقائي.

 

نعم عرفت كل هذا بعد عمليات البحث والقراءه ولاكن ايضا اريد توضيح العملية بشكل اكبر برمجيا 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 26 دقائق مضت قال Omar Mohamed52:

نعم عرفت كل هذا بعد عمليات البحث والقراءه ولاكن ايضا اريد توضيح العملية بشكل اكبر برمجيا 

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

import stripe


def charge_customer(customer_id, amount):
    try:
        charge = stripe.Charge.create(
            amount=int(amount * 100),  # المبلغ بالـ cents
            currency="usd",
            customer=customer_id,
            description="Payment for services"
        )
        return charge
    except stripe.error.StripeError as e:
        print(f"Error charging customer: {e}")
        return None

# تحصيل المبلغ من العميل
charge = charge_customer("cus_J5hPjXxU8bF7Zk", total_amount)

بعد تحصيل المبلغ، نحتاج الآن لتحويل النسب لكل من المنصة والمبرمج، بهذا الشكل:

def transfer_funds(to_account_id, amount):
    try:
        transfer = stripe.Transfer.create(
            amount=int(amount * 100),  # المبلغ بالـ cents
            currency="usd",
            destination=to_account_id,
            description="Transfer to account"
        )
        return transfer
    except stripe.error.StripeError as e:
        print(f"Error transferring funds: {e}")
        return None

# تحويل العمولة إلى حساب المنصة
platform_transfer = transfer_funds("acct_1J5hPj2eZvKYlo2C", platform_fee)

# تحويل المبلغ المتبقي إلى حساب المبرمج
programmer_transfer = transfer_funds("acct_1J6hKl2eZvKYlo2K", programmer_fee)

و يجب أيضا تسجيل جميع العمليات في قاعدة بيانات لمتابعة السجلات ومعالجة أي مشكلات لاحقا، يمكنك استخدام قاعدة بيانات مثل PostgreSQL أو MySQL لتخزين البيانات.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 4 ساعة قال Chihab Hedidi:

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

import stripe


def charge_customer(customer_id, amount):
    try:
        charge = stripe.Charge.create(
            amount=int(amount * 100),  # المبلغ بالـ cents
            currency="usd",
            customer=customer_id,
            description="Payment for services"
        )
        return charge
    except stripe.error.StripeError as e:
        print(f"Error charging customer: {e}")
        return None

# تحصيل المبلغ من العميل
charge = charge_customer("cus_J5hPjXxU8bF7Zk", total_amount)

بعد تحصيل المبلغ، نحتاج الآن لتحويل النسب لكل من المنصة والمبرمج، بهذا الشكل:

def transfer_funds(to_account_id, amount):
    try:
        transfer = stripe.Transfer.create(
            amount=int(amount * 100),  # المبلغ بالـ cents
            currency="usd",
            destination=to_account_id,
            description="Transfer to account"
        )
        return transfer
    except stripe.error.StripeError as e:
        print(f"Error transferring funds: {e}")
        return None

# تحويل العمولة إلى حساب المنصة
platform_transfer = transfer_funds("acct_1J5hPj2eZvKYlo2C", platform_fee)

# تحويل المبلغ المتبقي إلى حساب المبرمج
programmer_transfer = transfer_funds("acct_1J6hKl2eZvKYlo2K", programmer_fee)

و يجب أيضا تسجيل جميع العمليات في قاعدة بيانات لمتابعة السجلات ومعالجة أي مشكلات لاحقا، يمكنك استخدام قاعدة بيانات مثل PostgreSQL أو MySQL لتخزين البيانات.

اذا كانت البوابة هي Moyasar فكيفة التعامل معها لان اعتقد انها لا تدعم هذا الامر؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...