简体   繁体   中英

How do I validate my api key from stripe?

I have been using stripe checkout in my react application for about a week now. However, I now receive an error that says "Stripe Checkout can't communicate with our payment processor because the API key is invalid. Please contact the website owner or support@stripe.com." I have no idea why this is happening now. I just want to be able to send my total into the stripe modal.

stripe.js

import React, { useState } from "react";
import ReactDOM from "react-dom";
import axios from "axios";
import { connect } from "react-redux";
import { purchase } from "../actions/StoreActions";
import { toast } from "react-toastify";
import StripeCheckout from "react-stripe-checkout";
const mapStateToProps = (state) => {
  return {
    cart: state.cart,
    total: state.total
  };
};
const mapDispatchToProps = (dispatch) => {
  return {
    purchase: (order) => {
      dispatch(purchase(order));
    }
  };
};
function Stripe(props) {
  console.log(props);
  const [product] = React.useState({
    name: `$${props.total}`,
    price: props.total
  });
  async function handleToken(token, address) {
    props.startLoading();

    const response = await axios.post(
      "https://storebe.herokuapp.com/checkout",
      {
        token,
        product
      }
    );
    const { status } = response.data;
    if (status === "success") {
      props.stopLoading();
      console.log(address);
      purchaseCartItems(address);
    } else {
      props.stopLoading();
      toast("Failed, please try again", { type: "error" });
    }
    console.log(response.data);
  }
  
  return (
    <div className="container">
      <StripeCheckout
        stripeKey="pk_test_51HF9J6FriexrfnPAT0b3P1wDiKx1YQzONJrB5F4ksTidko10JKZOTgo7zuPjj9NWquykYNnMz1GRyQ5LDI2HvrEF00U49BhKdn"
        token={handleToken}
        amount={props.total * 100}
        billingAddress
        shippingAddress
        name={product.name}
      />
    </div>
  );
}
export default connect(mapStateToProps, mapDispatchToProps)(Stripe);

There isn't a way to validate if an API key is actually a valid Stripe API key.

The issue on your end is most likely because the publishable key in your code has a typo in it.

You just have to make sure that the API keys you copy from https://dashboard.stripe.com/test/apikeys are correct and don't have any copy paste errors like extra white space, etc.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM