настройка django-paypal - PullRequest
       6

настройка django-paypal

14 голосов
/ 16 апреля 2009

Кто-нибудь настраивал django-paypal? Вот ссылка на него здесь ?

У меня есть настройка "myproject", и структура моей папки выглядит следующим образом:

myproject> paypal> (стандартные папки и папки pro)

к моему файлу урегулирования, который я добавил

INSTALLED_APPS = (
    'myproject.paypal.standard',
    'myproject.paypal.pro',
)

в файле моего URL для приложения учетной записи я добавил:

urlpatterns += patterns('myproject.account.views',
    (r'^payment-url/$', 'buy_my_item'),                   
)

и в своем представлении я добавил:

from myproject.paypal.pro.views import PayPalPro
from myproject.paypal.pro.forms import PaymentForm, ConfirmForm

def buy_my_item(request):
    item = {'amt':"10.00",              # amount to charge for item
            'inv':"1111",         # unique tracking variable paypal
            'custom':"2222",       # custom tracking variable for you
            'cancelurl':"http://127.0.0.1:8000/",   # Express checkout cancel url
            'returnurl':"http://127.0.0.1:8000/"}   # Express checkout return url

    kw = {'item':'item',                            # what you're selling
           'payment_template': 'pro/payment.html',          # template to use for payment form
           'confirm_template': ConfirmForm,  # form class to use for Express checkout confirmation
           'payment_form_cls': PaymentForm,  # form class to use for payment
           'success_url': '/success',               # where to redirect after successful payment
           }

    ppp = PayPalPro(**kw)
    return ppp(request)

--- РЕДАКТИРОВАТЬ --------- Затем я добавил папки с шаблонами "за" и "стандартные" в папку с шаблонами своих проектов.

Когда я иду на http://127.0.0.1:8000/account/payment-url/ и отправляю форму ...

Я получаю ValueError: «Элемент последовательности обновления словаря # 0 имеет длину 1; требуется 2»

Traceback:

File "...\accounts\views.py" in buy_my_item
  655.     return ppp(request)
File "...\paypal\pro\views.py" in __call__
  115.                 return self.validate_payment_form()
File "...\paypal\pro\views.py" in validate_payment_form
  133.             success = form.process(self.request, self.item)
File "...\paypal\pro\forms.py" in process
  1. params.update (пункт)

Ответы [ 2 ]

6 голосов
/ 17 апреля 2009

В вашем коде ...

  'payment_form_cls': 'payment_form_cls',  # form class to use for payment

Это должен быть объект Form, который используется для проверки.

   'payment_form_cls': MyValidationForm,  # form class to use for payment

Редактировать

http://github.com/johnboxall/django-paypal/tree/master

Ваш запрос должен содержать URL-адрес уведомления, URL-адрес возврата и отмену-возврата. Все три URL-адреса, которые ВЫ предоставляете Paypal.

Paypal будет отправлять сообщения на эти URL-адреса.

Поскольку Paypal будет отправлять сообщения на эти URL-адреса, ВЫ должны поместить их в свой urls.py. Вы должны написать функции просмотра для этих трех URL '. На эти URL будут отправлены ваши ответы PayPal.

0 голосов
/ 17 апреля 2009

Интеграция PayPal django сообщение должно помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...