در دنیای امروزی، استفاده از خدمات پرداخت آنلاین در برنامه‌های وب بسیار رایج شده است. یکی از محبوب‌ترین سامانه‌های پرداخت، PayPal است. اگر شما یک توسعه‌ دهنده جنگو هستید و قصد دارید این سیستم پرداخت را به پروژه خود اضافه کنید، در این مقاله به شما یاد خواهیم داد که چگونه اتصال paypal به جنگو را انجام دهید.

اتصال PayPal به جنگو شامل مجموعه‌ای از مراحل است که به شما کمک می‌کند تا کاربران بتوانند از این سیستم پرداخت برای انجام تراکنش‌ها استفاده کنند. در زیر مراحل اصلی را برای انجام این کار بررسی می‌کنیم.

مراحل اتصال PayPal به جنگو

1. ایجاد حساب PayPal

ابتدا باید یک حساب کاربری PayPal بسازید. برای این کار به وب‌سایت PayPal مراجعه کنید و مراحل ثبت‌نام را دنبال کنید. پس از ایجاد حساب، شما نیاز دارید تا یک “API Client ID” و یک “Secret” برای استفاده در برنامه خود داشت باشید.

2. نصب کتابخانه لازم

برای اتصال PayPal به جنگو، به یک کتابخانه نیاز دارید. یکی از این کتابخانه‌ها paypalrestsdk است که می‌توانید با استفاده از pip آن را نصب کنید. در ترمینال خود دستور زیر را وارد کنید:

pip install paypalrestsdk

3. تنظیمات در settings.py

پس از نصب، باید تنظیمات لازم را در فایل settings.py اضافه کنید. این تنظیمات شامل کلیدها و شناسایی‌های مورد نیاز برای اتصال به PayPal است:

import paypalrestsdk

paypalrestsdk.configure({
    "mode": "sandbox",  # یا "live"
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET"
})

آموزش جنگو (رایگان)

4. ایجاد ویو برای پرداخت

حالا باید یک ویو در جنگو برای پردازش پرداخت‌ها ایجاد کنید. به مثال زیر توجه کنید:

from django.shortcuts import render
from paypalrestsdk import Payment

def payment(request):
    if request.method == "POST":
        payment = Payment({
            "intent": "sale",
            "payer": {
                "payment_method": "paypal"
            },
            "redirect_urls": {
                "return_url": "http://localhost:800/payment/success/",
                "cancel_url": "http://localhost:800/payment/cancel/"
            },
            "transactions": [{
                "item_list": {
                    "items": [{
                        "name": "Product",
                        "sku": "item",
                        "price": "10.00",
                        "currency": "USD",
                        "quantity": 1
                    }]
                },
                "amount": {
                    "total": "10.00",
                    "currency": "USD"
                },
                "description": "Payment description."
            }]
        })

        if payment.create():
            for link in payment.links:
                if link.rel == "approval_url":
                    return redirect(link.href)
    
    return render(request, 'payment.html')

5. پردازش موفقیت یا عدم موفقیت

سپس، باید دو ویو دیگر برای پردازش براساس موفقیت یا عدم موفقیت پرداخت ایجاد کنید:

def payment_success(request):
    return render(request, 'payment_success.html')

def payment_cancel(request):
    return render(request, 'payment_cancel.html')

6. بروزرسانی URLs

حالا باید فایل urls.py خود را برای مرتبط ساختن ویوها بروزرسانی کنید:

from django.urls import path
from .views import payment, payment_success, payment_cancel

urlpatterns = [
    path('payment/', payment, name='payment'),
    path('payment/success/', payment_success, name='payment_success'),
    path('payment/cancel/', payment_cancel, name='payment_cancel'),
]

نتیجه‌ گیری

اتصال PayPal به جنگو یک فرآیند نسبتاً ساده است که می‌تواند به شما در بهبود سیستم پرداخت در وب‌سایت‌تان کمک کند. پیروی از این مراحل به شما کمک می‌کند که یک تجربه پرداخت کاربر پسند برای کاربران خود فراهم کنید.

با این حال، توجه داشته باشید که استفاده از پرداخت‌های زنده نیازمند رعایت مسائل امنیتی و توافقات PayPal است. اطمینان حاصل کنید که اطلاعات خود را به درستی مدیریت کنید و از وجود SSL در وب‌سایت خود نیز مطمئن شوید.