登录
首页 >  Golang >  Go问答

如何在Stripe中进行一次性付款?

来源:stackoverflow

时间:2024-03-16 16:21:20 445浏览 收藏

在 Stripe 中进行一次性付款时,需要创建客户对象并指定客户姓名。然后,创建一个 Checkout 会话,其中包含客户 ID、成功 URL、取消 URL、付款方式类型、模式和项目列表。其中,模式应设置为付款模式,项目列表应包括要购买的产品或服务的 ID 和数量。

问题内容

我正在尝试让我的网站进行一次性付款并验证,/ payment/confirm 将验证付款已完成并将该项目添加到当前用户,而 /pricing 只是他们之前的页面重定向到条纹结帐,这是我迄今为止的付款代码:

    params := &stripe.CustomerParams{
        Name: stripe.String(usr.Username),
    }
    newCustomer, err := customer.New(params)
    if err != nil {
        return nil, err
    }
    checkout := &stripe.CheckoutSessionParams{
        Customer:   &newCustomer.ID,
        SuccessURL: stripe.String(host + "/payment/confirm"),
        CancelURL:  stripe.String(host + "/pricing"),
        PaymentMethodTypes: stripe.StringSlice([]string{
            "card",
        }),
        Mode: stripe.String(string(stripe.CheckoutSessionModePayment)),
        LineItems: []*stripe.CheckoutSessionLineItemParams{
            &stripe.CheckoutSessionLineItemParams{
                Price:    stripe.String(PriceID),
                Quantity: stripe.Int64(1),
            },
        },
    }
    return session.New(checkout)

这是我的代码,由于某种原因这不起作用......它说: “ 不能使用结账(*stripe.checkoutsessionparams 类型的变量)作为 session.new 参数中的 *stripe.billingportalsessionparams 值”


正确答案


我发现错误,我需要导入 github.com/stripe/stripe-go/v72/checkout/session 并且我正在导入一些其他会话。

import "github.com/stripe/stripe-go/v72/checkout/session"

以上就是《如何在Stripe中进行一次性付款?》的详细内容,更多关于的资料请关注golang学习网公众号!

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