我正在创建一个简单的网页,其中Stripe Checkout将提示用户输入他们的卡信息,生成令牌并将其发送给我的后端Go webserver,该服务器处理该令牌的付款。我遇到的问题是,当我得到的令牌,我尝试创建一个客户,设置源通过条纹产生的原因,但我得到这个响应每次:将费用与带有条纹的客户相关联
charge failed: {"type":"invalid_request_error","message":"Customer cus_######### does not have a linked source with ID tok_#########.","code":"missing","param":"source","request_id":"req_######","status":404}
创建客户与关联与该客户的卡片工作得很好。但是,基于令牌Stripe生成的卡收费失败。即使在我的Stripe Dashboard中该客户的日志中显示了尝试收费。因此,它试图将费用与正确的客户联系起来,但由于令牌是在没有考虑到特定客户的情况下生成的,因此失败了。我不确定发生了什么事。
我有接受该令牌并处理一切后端的代码如下:
stripe.Key = "sk_test_################"
customerParams := &stripe.CustomerParams{
Desc: "Customer for xyz.com",
Email: "[email protected]",
}
err := customerParams.SetSource("tok_####################")
if err != nil {
return nil, err
}
cus, err := customer.New(customerParams)
if err != nil {
return nil, err
}
// Charge the user's card
cp := &stripe.ChargeParams{
Amount: 100,
Currency: "usd",
Desc: "some description",
Customer: cus.ID,
}
err = cp.SetSource("tok_####################")
if err != nil {
return nil, err
}
err = charge.New(cp)
而且,如果删除该实施例的客户部分,电荷经过就好与上面的代码。它显然没有将客户的收费与客户联系起来。但是,只要我尝试设置客户的费用,它就会失败。
问题寻求帮助调试(“?为什么不是这个代码工作”)必须包括所期望的行为,一个具体问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者无益。请参阅:[如何创建一个最小,完整和可验证的示例。](http://stackoverflow.com/help/mcve) – peterSO