Невозможно получить способы оплаты клиента в Stripe

Я создал клиента и намерение платежа в Stripe с намерением взимать с клиента плату после того, как намерение платежа будет первоначально выполнено. Согласно этой статье, все, что мне нужно сделать, это добавить идентификатор клиента к намерению платежа и добавить setup_future_usage : 'off_session', к объекту намерения платежа. Тогда я смогу позже вызвать в пункт назначения платежа и произвести оплату.

При выполнении тестового платежа я могу увидеть намерение использовать платеж в будущем на панели инструментов Stripe. намерение платежа для будущего использования

Но когда я вызываю способы оплаты клиента, я получаю пустой массив.

Попытка №1

const paymentMethods = await stripe.paymentMethods.list({
  customer: customerId,
  type: "card",
});

Попытка №2

const paymentMethods = await stripe.customers.listPaymentMethods(
      customerId,
      {
        type: "card"
      },
    );

Пустой список в ответ: пустой ответ

Журналы Stripe также показывают эти попытки с правильным идентификатором клиента.

PaymentMethod будет прикреплен к клиенту только в том случае, если PaymentIntent имел значение customer на момент подтверждения. Добавляли ли вы customer к PaymentIntent при создании PaymentIntent или обновляли PaymentIntent идентификатором клиента перед подтверждением PaymentIntent?

LauraT 18.04.2024 18:43

Я обновил намерение платежа, указав идентификатор клиента прямо перед звонком stripe.confirmPayment. Мой процесс заключался в следующем: 1 – создать намерение платежа с указанием суммы, 2 – обновить намерение с помощью setup_future_usage, 3 – создать клиента и добавить идентификатор клиента в намерение, 4 – подтвердить платеж.

spacecraft96 18.04.2024 19:22

Было бы полезно, если бы вы включили фрагменты кода, показывающие, как вы создаете и обновляете намерение платежа. Есть ли особая причина, по которой у вас нет идентификатора клиента на момент создания платежного намерения?

RyanM 18.04.2024 19:31
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я нашел решение. Я мог бы заставить метод оплаты автоматически привязываться к клиенту только в том случае, если бы я создал платежное намерение с идентификатором клиента Stripe. Ранее мой идентификатор клиента был добавлен в Платежное намерение с обновлением.

Другие вопросы по теме