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

السؤال

نشر

اذا قمت بتفعيل خدمة دفع PayPal ضمن مشروع دجانغو 

وثبتت مكتبة Paypal IPN باستخدام pip install django-PayPal 

وظهر جدول جديد في صفحة admin يحتوي على معلومات الدفع 
هل هكذا تم كل شيء بنحاح ولااحتاج خطوات اضافية

للحصول على إشعارات الدفع

Recommended Posts

  • 0
نشر

بمجرد تثبيت مكتبة django-PayPal وظهور الجدول الجديد في صفحة admin، فإن الخطوات الأساسية قد تمت بنجاح. ومع ذلك، لضمان استقبال إشعارات الدفع بشكل صحيح، قد تحتاج إلى بعض الخطوات الإضافية.

تكوين PayPal IPN Settings: تأكد من تكوين إعدادات PayPal IPN بشكل صحيح داخل حسابك على PayPal. يمكنك العثور على هذه الإعدادات في قسم "تكوين IPN" داخل حساب PayPal الخاص بك.

تكوين عنوان الإشعار في مشروع Django: يجب عليك تكوين عنوان URL الذي سترسل إليه PayPal إشعارات الدفع. يجب أن يتم ذلك في ملف urls.py الخاص بتطبيق Django الخاص بك. يمكنك استخدام django-PayPal لتسهيل هذه العملية.

اختبار الدفعات: قم بإجراء اختبارات للتأكد من أن كل شيء يعمل بشكل صحيح. يمكنك استخدام وضع Sandbox المتوفر من PayPal لإجراء اختبارات دون الحاجة إلى استخدام الأموال الحقيقية.

معالجة الإشعارات: بمجرد استقبال إشعارات الدفع، يجب عليك كتابة معالج لها في تطبيق Django الخاص بك. يمكنك استخدام django-PayPal لتبسيط هذه العملية أيضًا.

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

اولا: 

تكوين PayPal IPN Settings:

ادخل إلى حساب PayPal الخاص بك.

انتقل إلى "الإعدادات" (Settings) واختر "تكوين IPN" (IPN setup).

أدخل عنوان URL الذي سيستقبل فيه إشعارات الدفع من PayPal. يجب أن يكون هذا العنوان مثل "https://example.com/paypal/ipn/".

اختر نوع الإشعارات التي ترغب في استقبالها (عادةً "Payment").

تكوين عنوان الإشعار في مشروع Django:

في ملف urls.py في تطبيق Django الخاص بك، يمكنك تكوين عنوان URL لاستقبال إشعارات PayPal IPN:

# urls.py
from django.urls import path
from yourapp.views import paypal_ipn_view

urlpatterns = [
    path('paypal/ipn/', paypal_ipn_view, name='paypal-ipn'),
]

في هذا المثال، يُفترض أن لديك دالة paypal_ipn_view في ملف views.py لمعالجة الإشعارات.

اختبار الدفعات:

يمكنك استخدام Sandbox من PayPal لإجراء اختبارات دون أي تأثير على الأموال الحقيقية. يمكنك استخدام بيانات اعتماد اختبار موفرة من PayPal.

معالجة الإشعارات:

يجب عليك كتابة معالج لإشعارات PayPal IPN. إليك مثالًا بسيطًا باستخدام مكتبة django-PayPal

# views.py
from django.http import HttpResponse
from paypal.standard.models import ST_PP_COMPLETED
from paypal.standard.ipn.signals import valid_ipn_received

def paypal_ipn_view(sender, **kwargs):
    ipn_obj = sender
    if ipn_obj.payment_status == ST_PP_COMPLETED:
        # تم دفع المبلغ بنجاح
        # هنا يمكنك كتابة رمزك لمعالجة الدفعة بنجاح
        pass
    else:
        # لم يتم دفع المبلغ بنجاح
        pass
    return HttpResponse("OK")

valid_ipn_received.connect(paypal_ipn_view)

هذا المثال يقوم بتحديد دالة paypal_ipn_view كمعالج للإشعارات الصحيحة التي يتم استقبالها من PayPal. يمكنك تخصيص هذه الدالة بحسب احتياجاتك لمعالجة الدفعات بشكل صحيح.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...