我正在創建一個簡單的網頁,其中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