我正在用Django创建电子商务。在用户注册期间,我想获取用户的信用卡信息,以便将来用户尝试购买商品时,他/她不必再次插入他/她的信用卡信息。
当前,我在处理Stripe时遇到问题(创建此表单以获取信用卡信息,然后使用Django和Stripe中的存储信息处理付款)。
基于Stripe文档,我了解到应该将用户的客户ID保存在Django数据库中,然后,将来,我将使用此客户ID从Stripe检索此用户的信息。但是,我对此过程感到非常困惑:
这是我在Django中的结帐视图: def checkout_two(request):
if request.method == "POST":
# Creating a Customer in the stripe platform.
customer = stripe.Customer.create(
# How to create such form to get the info below?
source=request.POST['stripeToken'], # How to get token?
# email="john@email.com", # How to get email?
)
# Charging the Customer instead of the card:
# charge = stripe.Charge.create(
# amount=1000,
# currency='usd',
# customer=customer.id,
# )
# YOUR CODE: Save the customer ID and other info in a database for later.
obj = Customer.objects.create(customer_id=customer.id)
# When it's time to charge the customer again, retrieve the customer ID.
# charge = stripe.Charge.create(
# amount=1500, # $15.00 this time
# currency='usd',
# customer=obj.id, # Previously stored, then retrieved
# )
return render(request, "payments/checkout_two.html", {"customer_id":obj.id})
else:
context = {"stripe_publishable_key":STRIPE_PUBLISHABLE_KEY}
return render(request, "payments/checkout_two.html", context)
答案 0 :(得分:1)
首先,您几乎应该永远不要将信用卡信息保存在数据库中。
我将首先阅读PCI和已设置的不同行业标准。
然后查看遵循最佳实践的社区推动的第三方。
有关django和stripe的YouTube教程:
尤其对于信用卡信息,我的建议是:不要重新创建轮子。