我去订阅/新,输入我的 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) 结束