我想在提交表单后在Stripe中创建一个新客户,并将该客户的信用卡添加到他们的帐户中。到目前为止,我在React App中提交时使用以下代码。然后,与我的服务器分开进行创建客户呼叫:
async submit(ev) {
let {token} = await this.props.stripe.createToken({name: "Name"});
let response = await fetch("https://api.stripe.com/v1/customers", {
method: "POST",
headers: {"Content-Type": "text/plain"},
body: token.id
});
发送数据时,在let response = ...
行上出现401错误。我知道401是一个auth错误,但是我的测试API密钥绝对正确,并且对它们访问我的条带化帐户的方式没有限制。有人可以建议吗?
答案 0 :(得分:1)
这里的问题是,您试图在原始Javascript中创建Customer对象客户端。此API请求需要您的Secret API密钥。这意味着您永远无法在客户端执行此操作,否则任何人都可以找到您的API密钥并将其用于例如退款或转移。
相反,您需要将令牌发送到您自己的服务器。在那里,您可以使用Stripe的official libraries之一来创建“客户”或“费用”,而不用自己发出原始HTTP请求。