我去订阅/新,把我的CC信息,我得到了这个:
没有安装后台工作程序。没有turbolinks。怎么了?
Subscription_controller.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 %>
订阅Plan.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 do | config |
config.secret_key ='sk_test_blablalblalblal' config.publishable_key ='pk_test_rCxOKWqL22MjvOvc4RsutK6o'
config.send_email_for:收据
config.default_currency ='eur' #示例订阅: # #config.subscribe'payola.package.sale.finished'do | sale | #EmailSender.send_an_email(sale.email) # 结束 # #除了Stripe发送的任何事件外,您还可以订阅 #以下特殊的payola事件: # # - payola..sale.finished # - payola..sale.refunded # - payola..sale.failed # #这些事件消耗Payola :: Sale,而不是Stripe :: Event # #示例费用验证者: # #config.charge_verifier = lambda do | sale | #raise“不!”如果sale.email.includes?('yahoo.com') #ndode
#保留此订阅,除非您要禁用退款处理 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(*参数) 端