Я проверил документ Stripe API, но не могу найти решение для модели (product_price + Month_Fee). Я вижу, что Stripe::Charge.create предназначен для единовременной оплаты, а подписка предназначена для регулярных платежей. Ссылка на руководство или пример кода будут очень благодарны. Я пробовал с кодом ниже, но пока безуспешно.
def save_and_pay(params)
customer = Stripe::Customer.create(
:email => subscription.user.email,
:source => params[:stripeToken]
)
subscription.user.update(gateway_customer_id: customer.id, is_active: true)
charge = Stripe::Charge.create(
:customer => customer.id,
:amount => (subscription.plan_price * 100).to_i,
:currency => 'usd',
:description => 'subscription Payment'
)
self.payment_status = charge.paid
self.payment_response = charge.status
self.save
end
Спасибо
Прочтите stackoverflow.com/help/минимально-воспроизводимый-пример. Нам нужно увидеть вашу попытку решить ее с помощью минимального кода, необходимого для воспроизведения проблемы. Без этого похоже, что вы просите нас написать код для вас.
Привет Tin Man, спасибо за руководство. Я проверил документ Stripe API и написал свой код, как указано выше, но пока не повезло.
Я нашел ответ.
1) Вам нужно создать план в панели инструментов Stripe. (Для этого кода я создал план с month_fee)
2) Вы можете добавить приведенный ниже код в свой файл.
customer = Stripe::Customer.create(
:email => "[email protected]",
:source => params[:stripeToken]
)
invoiceItem = Stripe::InvoiceItem.create({
:customer => customer.id,
:amount => 100,
:currency => 'usd',
:description => 'subscription Payment'
})
charge = Stripe::Subscription.create(
:customer => customer,
:items => [
{
:plan => "monthly_fee",
:quantity => 5
},
]
)
Надеюсь, это поможет другим, кто сталкивается с тем же случаем. Спасибо
Не уверен, что понял: в чем проблема создать 2 начисления с помощью существующих инструментов - стандартную разовую и подписку?