Единовременный платеж Stripe + регулярный платеж - PullRequest
0 голосов
/ 22 мая 2019

Я проверил полосу api doc, но не могу найти решение для модели (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

Спасибо

1 Ответ

0 голосов
/ 23 мая 2019

Я нашел ответ.

1) Вам нужно создать план в полосе приборной панели. (Для этого кода я создал план с помесячной оплатой)

2) Вы можете добавить следующий код в ваш файл

customer = Stripe::Customer.create(
  :email => "user@user.user",
  :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
    },
  ]
)

Надеюсь, что это поможет другим, кто сталкивается с тем же делом. Спасибо

...