我正在React.js上使用Stripe(开发支付系统),并且试图将以下代码转换为React.js,并使用axios创建接收来自后端(Django)的POST请求的端点:
var handler = StripeCheckout.configure({
key: 'pk_test_zNq2YI8Spsyi81TknNujN36T',
image: 'https://stripe.com/img/documentation/checkout/marketplace.png',
locale: 'auto',
token: function(token) {
$.ajax({
type: "POST",
url: 'http://localhost:8000/subscriptions/codes/pay/',
data: {amount: amount, token: token},
});
}
});
我停留在此链接的screen的第4步上,该链接解释了POST请求,但他们使用的是Express,而我使用的是Django。
答案 0 :(得分:0)
服务器端代码可以用任何语言/框架编写,只要它为您的前端帖子提供端点subscriptions/codes/pay/
。
在Django
中,您可以参考[0]处的文档,以了解如何开始创建REST API
一个非常简单的代码
定义路线
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('subscriptions/checkout', views.ElementView.as_view(), name="Stripe Checkout"),
path('subscriptions/codes/pay', views.charge, name='charge'),
]
在您的视图定义中
from django.http import HttpResponse
from django.views.decorators.http import require_http_methods
from django.views.decorators.csrf import csrf_exempt
@require_http_methods(["POST"])
@csrf_exempt
def charge(request):
# request.body will contain your data {amount: amount, token: token}
return HttpResponse(request.body)
同样,后端实现应该与语言/框架无关;只要您的后端提供有效的POST
API,该API即可让您将StripeToken发送回