首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-paypal设置

django-paypal设置
EN

Stack Overflow用户
提问于 2009-04-16 19:57:51
回答 2查看 13.1K关注 0票数 14

有人陷害django-paypal吗?这是指向它的链接,这里

我有“我的项目”设置,我的文件夹结构如下所示:

myproject > paypal > (stdandard和pro文件夹)

添加到我的settins.py文件中

代码语言:javascript
复制
INSTALLED_APPS = (
    'myproject.paypal.standard',
    'myproject.paypal.pro',
)

在我的帐户应用程序的url文件中,我添加了:

代码语言:javascript
复制
urlpatterns += patterns('myproject.account.views',
    (r'^payment-url/$', 'buy_my_item'),                   
)

在我的帐户上,我补充道:

代码语言:javascript
复制
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是必需的”

回溯:

代码语言:javascript
复制
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(项目)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-16 20:01:16

在你的密码里..。

代码语言:javascript
复制
  'payment_form_cls': 'payment_form_cls',  # form class to use for payment

这必须是用于验证的表单对象。

代码语言:javascript
复制
   'payment_form_cls': MyValidationForm,  # form class to use for payment

编辑

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

您的请求应该包括一个通知-url,返回-url和取消-返回。你提供给Paypal的所有三个url。

Paypal将向这些URL发送消息。

因为贝宝将发送消息到这些网址,你必须把他们放在你的urls.py。您必须为这三个urls编写视图函数。这些urls会让您的paypal回复发送给他们。

票数 5
EN

Stack Overflow用户

发布于 2009-04-17 11:49:19

PayPal django积分帖子应该对你有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/757809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档