2

我去订阅/新,输入我的 CC 信息,我得到了这个:

在此处输入图像描述

没有安装后台工作者。没有涡轮链接。怎么了?

订阅控制器.rb

class SubscriptionsController < ApplicationController
  # bring in the `render_payola_status` helper.
  include Payola::StatusBehavior

  def new
    @plan = SubscriptionPlan.first
  end

  def create
    # do any required setup here, including finding or creating the owner object
    owner = current_user # this is just an example for Devise

    # set your plan in the params hash
    params[:plan] = SubscriptionPlan.find_by(id: 1)
    params[:stripeEmail] = owner.email

    # call Payola::CreateSubscription
    subscription = Payola::CreateSubscription.call(params, owner)



    # Render the status json that Payola's javascript expects
    render_payola_status(subscription)
  end
end

意见/订阅/new.html.erb

<%= render 'payola/transactions/stripe_header' %>

<%= form_tag('/subscriptions',
      class: 'payola-onestep-subscription-form',
      'data-payola-base-path' => '/payola',
      'data-payola-error-selector' => '.payola-error',
      'data-payola-plan-type' => @plan.class,
      'data-payola-plan-id' => @plan.id
  ) do |f| %>
  <span class="payola-payment-error"></span>
  Email:<br>
  <input type="email" name="stripeEmail" data-payola="email"></input><br>
  Card Number<br>
  <input type="text" data-stripe="number"></input><br>
  Exp Month<br>
  <input type="text" data-stripe="exp_month"></input><br>
  Exp Year<br>
  <input type="text" data-stripe="exp_year"></input><br>
  CVC<br>
  <input type="text" data-stripe="cvc"></input><br>
  <input type="submit"></input>

   <div class="alert alert-warning payola-error" style="display: none"></div>
<% end %>

订阅计划.rb(模型)

class SubscriptionPlan < ActiveRecord::Base


    def redirect_path(subscription)
    # you can return any path here, possibly referencing the given subscription
    'http://google.com'
  end
end

Payola.configure 做 |config|

config.secret_key = 'sk_test_blablalblalblal' config.publishable_key = 'pk_test_rCxOKWqL22MjvOvc4RsutK6o'

config.send_email_for :receipt

config.default_currency = 'eur' # 订阅示例:# # config.subscribe 'payola.package.sale.finished' do |sale| # EmailSender.send_an_email(sale.email) # end # # 除了 Stripe 发送的任何事件之外,您还可以订阅以下特殊 payola 事件:# # - payola..sale.finished # - payola..sale.refunded # - payola..sale.failed # # 这些事件使用 Payola::Sale,而不是 Stripe::Event # # 收费验证器示例: # # config.charge_verifier = lambda do |sale| # 提高“不!” if sale.email.includes?('yahoo.com') # end

# 保留这个订阅,除非你想禁用退款处理 config.subscribe 'charge.refunded' do |event| sale = Payola::Sale.find_by(stripe_id: event.data.object.id) sale.refund!结束结束

Payola.background_worker = lambda do |klass, *args| klass.call(*args) 结束

4

0 回答 0