Go版Stripe Checkout教程无法编译,未定义: session

标签 go go-gin stripe-payments

我正在尝试 Stripe Checkout tutorial与 golang 和 Gin 。但是由于错误为,无法构建以下代码未定义: session .

package main

import (
    "github.com/gin-gonic/gin"
    "net/http"
    stripe "github.com/stripe/stripe-go/v71"
)

func main(){
    r := gin.Default()

    r.GET("/buy/:id", func(c *gin.Context) {
        stripe.Key = "sk_test_MyKey............"

        params := &stripe.CheckoutSessionParams{
            PaymentMethodTypes: stripe.StringSlice([]string{
                    "card",
                    "ideal",
            }),
            LineItems: []*stripe.CheckoutSessionLineItemParams{
                    &stripe.CheckoutSessionLineItemParams{
                            PriceData: &stripe.CheckoutSessionLineItemPriceDataParams{
                                Currency: stripe.String("stripe.String(stripe.CurrencyEUR)"),
                                ProductData: &stripe.CheckoutSessionLineItemPriceDataProductDataParams{
                                    Name: stripe.String("T-shirt"),
                                },
                                UnitAmount: stripe.Int64(2000),
                            },
                            Quantity: stripe.Int64(1),
                    },
            },
            Mode: stripe.String("payment"),
            SuccessURL: stripe.String("https://example.com/success?session_id={CHECKOUT_SESSION_ID}"),
            CancelURL: stripe.String("https://example.com/cancel"),
        }
        s, err := session.New(params)
        if err != nil {
            log.Println(err)
        } else {
            c.JSON(http.StatusOK, gin.H{
                "SessionID": s.id,
            })  
        }
    r.Run(":8080")
}
有谁知道为什么 session 是未定义的?谢谢!

最佳答案

需要导入包含session的包: Go package docs

import "github.com/stripe/stripe-go/v71/checkout/session"
他们确实从 Create a Checkout Session 链接到它部分,但他们忘记了代码片段中的包含。

关于Go版Stripe Checkout教程无法编译,未定义: session,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63245759/

相关文章:

forms - 如何为具有 gin(框架)和 golang 接口(interface)的表单制作通用表单函数?

go - 如何通过 Gin 的上下文传递 context.Context?

wordpress - 根据主机名强制 Stripe WooCommerce 插件进入测试模式

ios - wkwebview中的 strip 打开浏览器页面加载脚本

go - 为sns传输添加服务名称

Golang 测试 go-routine with channel

go - 为什么 Benchmark 运行六(?)次

go - 当对同一个变量调用两次 defer 时会发生什么?

go - "unexpected end of JSON input"当在 POST 请求中传递对象数组时

Node.Js 从 POST 请求中获取数据