在 django python 的 pinax-stripe 模块中收取一次性付款时出错

Posted

技术标签:

【中文标题】在 django python 的 pinax-stripe 模块中收取一次性付款时出错【英文标题】:Error in charging a one-off payment in pinax-stripe module of django python 【发布时间】:2017-08-06 18:39:21 【问题描述】:

我正在 django 框架中用 python 开发一个应用程序,我必须向客户收取一次性付款。我正在使用 pinax-stripe 模块进行支付(https://github.com/pinax/pinax-stripe)。

当我在我看来像这样向客户收费时:

#views.py
from pinax.stripe.models import *

if customer.can_charge():
    customer.charge(15.00) #charge

它给了我以下错误:

异常类型:NameError

异常值:未定义名称“客户”

我知道我需要从 pinax.stripe 导入一些内容到我的应用程序的 views.py 中。有谁知道是什么?

【问题讨论】:

【参考方案1】:

你应该看看getting started guide

它提到要创建客户,您需要类似的代码

from pinax.stripe.actions import customers
customer = customers.create(user=new_user)

编辑

如果客户对象已经存在,您可以尝试使用类似的方法获取它

customer = Customer.objects.get(user=relevant_user) # or similar

【讨论】:

我试过你的方法,但恐怕还是同样的错误:( 相同,但从 pinax.stripe.actions 导入客户添加到顶部。我在客户注册时初始化他们,但我现在也使用 ./manage.py init_customers 手动完成 仅添加导入是不够的,您需要定义客户变量。因此,要么像上面第二行那样创建它,要么查询数据库以获取它(如果它已经存在)。 我添加了这个,但是它给出了以下错误:重复的键值违反了唯一约束“pinax_stripe_customer_user_id_key”详细信息:键(user_id)=(1)已经存在。 好的,它已经存在了。需要取而代之。进行了修改。

以上是关于在 django python 的 pinax-stripe 模块中收取一次性付款时出错的主要内容,如果未能解决你的问题,请参考以下文章

django / python 快速开发体现在啥地方?有多快捷呢?

python-- Django 中间件缓存信号

python Django

Django 安装到错误的 python 版本

基于python或django的workflow engine

消息 - 找不到安装的python-django或python3-django版本