登录
首页 >  Golang >  Go问答

Stripe 收取支付失败的客户来源

来源:stackoverflow

时间:2024-02-24 22:21:23 132浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《Stripe 收取支付失败的客户来源》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我正在尝试使用其中一张存储的信用卡向客户收费。我在请求中传递了客户 id,并且可以从 stripe 获取客户信息。问题是,当尝试向客户来源之一收费时,库会返回错误 must 提供来源或 customer。我检查了 sc.sources.data[1] (仅针对此示例在此处进行了硬编码),它有一个实际的剪切源。谁能告诉我我做错了什么?

编辑:如果我使用 tok_1212321 令牌,它工作正常,但我找不到从 stripe 检索令牌 id 的方法,只能从客户端源中检索。

stripe.Key = os.Getenv("STRIPE_KEY")
sc, _ := stripeCustomer(request)

params := &stripe.ChargeParams{
    Amount:      stripe.Int64(int64(order.total * 100)),
    Currency:    stripe.String(string(stripe.CurrencyUSD)),
    Description: stripe.String("Order Number " + order.ID),
}

params.SetSource(sc.Sources.Data[1])

if _, err := charge.New(params); err != nil {
    return nil, err
}

解决方案


好的,所以我缺少的是 customer id。进行收费时,必须提供两个 id。

params := &stripe.ChargeParams{
    Amount:      stripe.Int64(int64(order.total * 100)),
    Currency:    stripe.String(string(stripe.CurrencyUSD)),
    Description: stripe.String("Order Number " + order.ID),
    Customer:    stripe.String(sc.ID),
}

params.SetSource(sc.Sources.Data[1].ID)

if _, err := charge.New(params); err != nil {
    return nil, err
}

这段代码可以让它工作。

以上就是《Stripe 收取支付失败的客户来源》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>