Когда я отправляю данные карты из внешнего интерфейса, он не может успешно выполнить POST на Django сервере отдыха.
Я думаю, что ошибка с кодом Django. Если вы знаете, как настроить полосу с помощью Django, пожалуйста, помогите
DJANGO VIEWS.PY
@csrf_exempt
def chargeview(request,*args,**kwargs): # new
if request.method == 'POST':
charge = stripe.Charge.create(
amount=500,
currency='usd',
description='A Django charge',
source=request.POST['token']
)
return render(request, 'payments/charge.html')
ERROR
raise MultiValueDictKeyError(key)
django.utils.datastructures.MultiValueDictKeyError: 'stripeToken'
REACT JS CODE
import React, { useState } from "react";
import StripeCheckout from "react-stripe-checkout";
import axios from 'axios';
const StripeBtn = () => {
const publishableKey = "pk_test_some key";
const price = 1000
const onToken = token => {
const body = {
amount: 1000,
token: token
};
console.log(body.token)
axios
.post("http://localhost:8000/payments/", {token:body.token})
.then(response => {
console.log(response);
})
.catch(error => {
console.log("Payment Error: ", error);
alert("Payment Error");
});
};
return (
<StripeCheckout
label="Go Premium" //Component button text
name="Business LLC" //Modal Header
description="Upgrade to a premium account today."
panelLabel="Go Premium" //Submit button in modal
amount={price} //Amount in cents $9.99
token={onToken}
stripeKey={publishableKey}
image="" //Pop-in header image
billingAddress={false}
/>
);
};
export default StripeBtn;
РЕЗУЛЬТАТНЫЙ ЖЕТОН ОТ РЕАКТИВНОГО ФРОНТЕНДА, КОТОРЫЙ ПРОХОДИТ В DJANGO ИСПОЛЬЗОВАНИЕ AX IOS
{id: "tok_1G***WLSNV4Son7o8TBJY", object: "token", card: {…}, client_ip: "***", created: ***, …}
card: {id: "card_1Gmn7*****oPKqrwrXa", object: "card", address_city: null, address_country: null, address_line1: null, …}
client_ip: "1***77"
created: 15***39325
email: "anoop***il.com"
id: "tok_1Gm***4Son7o8TBJY"
livemode: false
object: "token"
type: "card"
used: false