У меня настроена платежная система, которая интегрируется с Stripe, позволяя как периодические, так и разовые платежи. По умолчанию мы сохраняем данные кредитной карты о клиенте для облегчения последующих платежей, но для одноразовых платежей я хотел бы разрешить клиентам отказаться от сохранения информации о платеже, сохраняя при этом платеж, связанный с Stripe::Customer
.
Когда способ оплаты сохранен и привязан к клиенту, мы можем использовать одноразовую оплату следующим образом:
Stripe::Charge.create(
{
source: payment_card_id,
customer: customer.id,
amount: total,
}
)
Кроме того, мы можем произвести единовременную оплату не , связанный с клиентом без сохранения карты с:
Stripe::Charge.create(
{
source: stripe_token,
amount: total,
}
)
Однако, хотя этот платеж не сохраняет способ оплаты, он также не привязывает платеж к клиенту. Создание платежа с клиентом и stripe_token приводит к ошибке *** Stripe::InvalidRequestError Exception: Customer {customer.id} does not have a linked source with ID #{token_id}.
Stripe::Charge.create(
{
source: stripe_token,
customer: customer.id,
amount: total,
}
)
Есть ли способ сделать единый платеж с клиента, позволяя ему отказаться от сохранения своей платежной информации?