Go версия Stripe Checkout учебник не может быть скомпилирован, undefined: сеанс - PullRequest
0 голосов
/ 04 августа 2020

Я пробую Учебник по проверке полос с golang и джином. Но следующий код не может быть построен из-за ошибки undefined: 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 не определено? Спасибо!

1 Ответ

1 голос
/ 04 августа 2020

Вам необходимо импортировать пакет, содержащий сеанс : Go документы пакета

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

Они ссылаются на него из Создать Раздел Checkout Session , но они забыли включить его в фрагменты кода.

...