Django с Stripe, платеж не прошел при отправке информации о карте в интерфейсе (React JS) - PullRequest
0 голосов
/ 25 мая 2020

Когда я отправляю данные карты из внешнего интерфейса, он не может успешно выполнить 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...