- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,我一直在尝试学习如何将 Stripe 预构建结帐页面集成到我的 django 项目中。
stripe 文档是针对 Flask 的,所以我正在尝试阅读或观看 YouTube 教程,了解如何将它们转换为 django,但我并没有真正取得任何进展。教程中的代码与当前的 stripe 文档不同
https://stripe.com/docs/checkout/integration-builder
from django.shortcuts import render, redirect
import stripe
from django.conf import settings
from django.http import JsonResponse
# Create your views here.
from django.views import View
from django.views.generic import TemplateView
stripe.api_key = settings.STRIPE_SECRET_KEY
class ProductLandingPageView(TemplateView):
template_name = "landing.html"
class CreateCheckoutSessionView(View):
def post(self, request, *args, **kwargs):
YOUR_DOMAIN = "http://127.0.0.1:8000"
checkout_session = stripe.checkout.Session.create(
payment_method_types=['card'],
line_items=[
{
# TODO: replace this with the `price` of the product you want to sell
'price': '{{PRICE_ID}}',
'quantity': 1,
},
],
mode='payment',
success_url=YOUR_DOMAIN + "/success",
cancel_url=YOUR_DOMAIN + "/cancel",
)
return redirect(checkout_session.url, code=303)
class Successview(TemplateView):
template_name = "success.html"
class Cancelview(TemplateView):
template_name = "cancel.html"
我可以显示 checkout.html,但是当我单击结账按钮时,出现此错误
TypeError at /create-checkout-session
__init__() takes 1 positional argument but 2 were given
Request Method: POST
Request URL: http://127.0.0.1:8000/create-checkout-session
Django Version: 3.2.5
Exception Type: TypeError
Exception Value:
__init__() takes 1 positional argument but 2 were given
Exception Location: C:\Program Files\Python39\lib\site-packages\django\core\handlers\base.py, line 181, in _get_response
Python Executable: C:\Program Files\Python39\python.exe
Python Version: 3.9.5
Python Path:
['C:\\Users\\TYS\\Desktop\\Web Development\\Django\\stripetest_project',
'C:\\Program Files\\Python39\\python39.zip',
'C:\\Program Files\\Python39\\DLLs',
'C:\\Program Files\\Python39\\lib',
'C:\\Program Files\\Python39',
'C:\\Users\\TYS\\AppData\\Roaming\\Python\\Python39\\site-packages',
'C:\\Program Files\\Python39\\lib\\site-packages',
'C:\\Program Files\\Python39\\lib\\site-packages\\ibapi-9.76.1-py3.9.egg',
'C:\\Program Files\\Python39\\lib\\site-packages\\win32',
'C:\\Program Files\\Python39\\lib\\site-packages\\win32\\lib',
'C:\\Program Files\\Python39\\lib\\site-packages\\Pythonwin']
Server time: Tue, 17 Aug 2021 03:52:08 +0000
我也尝试过此页面上的代码
https://stripe.com/docs/payments/accept-a-payment?platform=web&ui=checkout
from django.shortcuts import render, redirect
import stripe
from django.conf import settings
from django.http import JsonResponse
# Create your views here.
from django.views import View
from django.views.generic import TemplateView
stripe.api_key = settings.STRIPE_SECRET_KEY
class ProductLandingPageView(TemplateView):
template_name = "landing.html"
class CreateCheckoutSessionView(View):
def post(self, request, *args, **kwargs):
YOUR_DOMAIN = "http://127.0.0.1:8000"
checkout_session = stripe.checkout.Session.create(
payment_method_types=['card'],
line_items=[{
'price_data': {
'currency': 'usd',
'product_data': {
'name': 'T-shirt',
},
'unit_amount': 2000,
},
'quantity': 1,
}],
mode='payment',
success_url=YOUR_DOMAIN + "/success",
cancel_url=YOUR_DOMAIN + "/cancel",
)
return redirect(checkout_session.url, code=303)
class Successview(TemplateView):
template_name = "success.html"
class Cancelview(TemplateView):
template_name = "cancel.html"
仍然得到同样的错误
谁能帮我解决这个问题吗?
谢谢
编辑:添加urls.py以及landing.html以供引用
from django.contrib import admin
from django.urls import path
from products.views import CreateCheckoutSessionView, ProductLandingPageView, Cancelview, Successview
urlpatterns = [
path('admin/', admin.site.urls),
path('cancel/', Cancelview.as_view(), name='cancel'),
path('success/', Successview.as_view(), name='success'),
path('create-checkout-session', CreateCheckoutSessionView, name='create-checkout-session'),
path('', ProductLandingPageView.as_view(), name='landing-page')
]
这是登陆.html
<!DOCTYPE html>
<html>
<head>
<title>Buy cool new product</title>
<link rel="stylesheet" href="style.css">
<script src="https://polyfill.io/v3/polyfill.min.js?version=3.52.1&features=fetch"></script>
<script src="https://js.stripe.com/v3/"></script>
</head>
<body>
<section>
<div class="product">
<img
src="https://i.imgur.com/EHyR2nP.png"
alt="The cover of Stubborn Attachments"
/>
<div class="description">
<h3>Stubborn Attachments</h3>
<h5>$20.00</h5>
</div>
</div>
<form action="/create-checkout-session" method="POST">{% csrf_token %}
<button type="submit">Checkout</button>
</form>
</section>
</body>
</html>
最佳答案
看起来这与 path
定义中缺少 as_view()
有关: https://stackoverflow.com/a/53572256/12474862
这似乎不是与 Stripe 相关的错误,而是 Django 配置中的某些错误。
关于django - Stripe Integration 与 Django 给出类型错误,指出 __init__() 采用 1 个位置参数,但给出了 2 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68811545/
我目前是一群学生的团队负责人,他们正在为一门类(class)的项目工作,该类(class)目前由电气和计算机工程专业的学生组成。我是一名电气工程专业的学生,我还没有开始研究该项目的软件组件。我觉得
我们对 spring-integration 非常满意,除非事情没有按预期工作。然后真的很难找出发生了什么(我们使用的是xml配置)。有人可以将我指向 spring 集成组件背后的 java 组件以便
我需要评估几个积分,我正在使用正常 (0,1) 密度来测试。 在 python 中 import scipy.integrate as integrate import scipy.stats imp
我想保留原始请求的原始有效负载并将其放在 xslt-transformer 或其他操作中。我丢失了它,因为我使用了 xslt-transformer,并且我只需要转换中的一些元素。所以我的场景是: 1
我想知道在 Spring Integration 中使消息不可变的原因是什么。 仅仅是因为多线程环境中的线程安全吗? 表现?当您每次要向现有消息添加某些内容时都必须创建新消息时,您不会受到性能惩罚吗?
我有一个偶尔会返回 503 错误的 http 网关调用。我想配置 retry advice围绕那个调用,但我不想为每个错误都这样做,只是 503s。 我已经配
我们正在使用 Spring Integration 4.2.3 聚合器组件和定义的组超时,并期望组在给定的超时值内超时,同时向组添加消息和发布大小标准不满足。 但我们看到了不同的结果,当我们向服务输入
我需要轮询邮件服务器。由于我的项目已经在 Spring 中,我使用 Spring-Integration 来轮询邮件服务器。我在这方面很成功。但现在我必须轮询多封电子邮件。有人可以告诉我该怎么做吗。
现在,我正在从事的项目已经达到了一个复杂的水平,需要完成多个步骤(实际上,它变得不可思议!)才能生产出完整/可用的产品。不幸的是,我们并不是从Continuos Integration的心态开始的,所
哪些指标表明应该使用企业集成模式框架?另一方面,哪些指标表明应该坚持使用简单的旧代码进行逻辑流? 就我而言,我们将 Spring Integration 应用于映射/处理应用程序,该应用程序从数据库读
我们在 XML 中有以下工作配置,并正在尝试转换为 DSL。不确定它们是否等效,也尝试使用 inboundAdapter。但是,我无法弄清楚如何在那里设置与并发相关的值。有人可以建议他们是否在 DSL
所以我在玩这个: factors :: Integral a => a -> [a] factors n = filter (\d -> n `rem` d == 0) . takeWhile (\d
我是 Spring 集成的新手,正在尝试建模一个流程,其中我通过 HTTP 进行同步请求和响应,但也是交付的同一流程的一部分将响应发送到队列,对其进行后处理,并让一个单独的进程使用该响应。所以从调用流
我有一个 Spring Integration Flow 项目,它公开了一个 Rest 网关,在收到 Rest POST 请求后,它会执行一些小逻辑。基于一些有效负载参数,我想动态激活另一个 Spri
我浏览了 Internet,在 Spring 论坛上发帖,并阅读了几乎全部在线文档,但我无法弄清楚 Spring Integration 是否可以在单个多资源 (JTA) 事务中处理多个消息。这对于我
我正在查看 spring-projects/spring-integration-samples 中的聚合器示例。 https://github.com/spring-projects/spring-
我正在查看 spring-projects/spring-integration-samples 中的聚合器示例。 https://github.com/spring-projects/spring-
我有一个 spring-integration接受 org.w3c.dom.Document 并返回域对象的转换器。这很好。如果缺少元素,我会引发应用程序异常。 但是,我想将该异常放到错误 chann
我显然已经通读了 documentation , 但我无法找到更详细的幕后情况描述。具体来说,有几个行为我很疑惑: 一般设置 import numpy as np from scipy.integra
我正在使用 Spring Integration 使用以下配置从目录中读取文件。但是,我希望在找到任何文件后停止轮询,直到服务不再重新启动为止。有什么方法可以在运行时更改轮询器延迟或在运行时启动/停止
我是一名优秀的程序员,十分优秀!