Ошибка предоставления полосы, что у этого клиента нет подключенного источника оплаты, даже когда карта добавлена - PullRequest
0 голосов
/ 27 октября 2019

Я пытаюсь создать подписку в тестовой среде, используя stripe-go, но получаю сообщение об ошибке This customer has no attached payment source. Я явно добавляю способ оплаты, присоединяю его к клиенту и даже устанавливаю его по умолчанию, но все равно получаю эту ошибку. Вот мой источник

customerParams := &stripe.CustomerParams{Email: &request.Email}

newCustomer, _ := a.stripeClient.Customers.New(customerParams)


params := &stripe.PaymentMethodParams{
    Type: stripe.String(string(stripe.PaymentMethodTypeCard)),
    Card: &stripe.PaymentMethodCardParams{
        Number:   stripe.String("4242424242424242"),
        ExpMonth: stripe.String("10"),
        ExpYear:  stripe.String("2020"),
        CVC:      stripe.String("123"),
    },
}

p, _ := a.stripeClient.PaymentMethods.New(params)

paymentAttachParams := &stripe.PaymentMethodAttachParams{ Customer: &newCustomer.ID}

a.stripeClient.PaymentMethods.Attach(p.ID, paymentAttachParams)

updateCustomerParams := &stripe.CustomerParams{}
updateCustomerParams.AddMetadata("invoice_settings.default_payment_method", p.ID)
a.stripeClient.Customers.Update(
    newCustomer.ID,
    updateCustomerParams,
)

invoiceParams := &stripe.InvoiceItemParams{
    Customer:    &newCustomer.ID,
    Currency:    stripe.String(string(stripe.CurrencyUSD)),
    Description: stripe.String("One-time setup fee"),
    Amount:      stripe.Int64(100),
}

a.stripeClient.InvoiceItems.New(invoiceParams)

subscriptionParams := &stripe.SubscriptionParams{
    Customer: &newCustomer.ID,
    Items: []*stripe.SubscriptionItemsParams{
        {
            Plan: stripe.String("plan_xxxx"),
        },
    },
}

s, err := a.stripeClient.Subscriptions.New(subscriptionParams)

Я также пытаюсь добавить разовую плату за установку вместе с подпиской, но я не думаю, что это должно быть проблемой.

...