настройка Джанго-Пейпал
Вопрос
Кто-нибудь настраивал django-paypal?Вот ссылка на него здесь?
У меня есть настройка «myproject», и структура моей папки выглядит следующим образом:
myproject > paypal > (папки stdandard и pro)
в мой файл settins.py я добавил
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)
--- Редактировать --------- Тогда я добавил папки Pro и Standard STAMPTATE в папку шаблона своих проектов.
Когда я иду в http://127.0.0.1:8000/account/pay-url/ и отправьте форму...
Я получаю ValueError:«Элемент последовательности обновления словаря № 0 имеет длину 1;2 требуется"
Выслеживать:
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
- params.update(пункт)
Решение
В вашем коде...
'payment_form_cls': 'payment_form_cls', # form class to use for payment
Это должен быть объект формы, используемый для проверки.
'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.
Другие советы
Интеграция PayPal с Джанго пост должен вам помочь.