Интеграция с Django и PayPal - PullRequest
       9

Интеграция с Django и PayPal

13 голосов
/ 26 апреля 2010

Я разрабатываю сайт на Python (используя Django), и мне нужно продавать вещи через него.

Может ли кто-нибудь помочь мне с исходным кодом для интеграции PayPal-Pro (Do-Direct Payment) или PayPal-Standard (экспресс-проверка)?

Ответы [ 4 ]

18 голосов
/ 26 апреля 2010

Возможно, вы захотите попробовать django-paypal , даже на главной странице есть учебник .

8 голосов
/ 18 декабря 2017

paypal.standard.ipn

PayPal API Генерирует кнопку, которая будет вызывать свой API через paypal.standard.ipn.

Для интеграции с API вы должны выполнить следующие шаги:

Установить django-paypal:

pip install django-paypal

Обновление settings.py file:

INSTALLED_APPS = [
    'paypal.standard.ipn',
]

PAYPAL_RECEIVER_EMAIL = 'XXXXX'
PAYPAL_TEST = True

Написать адрес электронной почты получателя. PAYPAL_TEST = True означает, что вы хотите оплатить тестовый API. Вы можете написать «Ложь» для Оригинального платежного API.

Команда запуска:

python manage.py migrate 

В urls.py :

url(r'^paypal/', include('paypal.standard.ipn.urls')),
url(r'^payment_process/$', api_views.payment_process, name='payment_process' ),
url(r'^payment_done/$', TemplateView.as_view(template_name= "pets/payment_done.html"), name='payment_done'),
url(r'^payment_canceled/$', TemplateView.as_view(template_name= "pets/payment_canceled.html"), name='payment_canceled'),*

В views.py :

from django.conf import settings
from django.urls import reverse
from django.shortcuts import render, get_object_or_404
from paypal.standard.forms import PayPalPaymentsForm


def payment_process(request):
    host = request.get_host()
    paypal_dict = {
        'business': settings.PAYPAL_RECEIVER_EMAIL,
        'amount': '100',
        'item_name': 'Item_Name_xyz',
        'invoice': 'Test Payment Invoice',
        'currency_code': 'USD',
        'notify_url': 'http://{}{}'.format(host, reverse('paypal-ipn')),
        'return_url': 'http://{}{}'.format(host, reverse('payment_done')),
        'cancel_return': 'http://{}{}'.format(host, reverse('payment_canceled')),
    }
    form = PayPalPaymentsForm(initial=paypal_dict)
    return render(request, 'pets/payment_process.html', {'form': form})

Следуйте видеоруководству по django-коду, указанному в ссылке.

В payment_process.html :

{{ form.render }}

Для вызова API у вас есть запрос на /payment_process/. Он сгенерирует кнопку в HTML, которая вызывает API PayPal для транзакции. Дальнейший процесс будет выполнен в конце PayPal, при входе в систему или при оплате картой.

3 голосов
/ 26 апреля 2010

Вы смотрели на pypaypal ? Вы можете создать представление, которое подключается к PayPal, и отправлять свои платежные команды.

0 голосов
/ 03 июня 2015

Лучше будет использовать "родные" документы от владельца: документы PayPal

...