私はペイパルの定期的な宝石を使用しています:
https://github.com/fnando/paypal-recurring
Ruby on Rails アプリケーションの場合
これが私のコードの選択された部分です:
def make_recurring
process :request_payment
if @plan
create_units
process :create_recurring_profile, period: @plan.recurring, amount: (@plan.price), frequency: 1, start_at: Time.zone.now
end
end
def process(action, options={})
not_recurring_amount = @cart.total_price
not_recurring_amount += 19.95 if @plan #add activation price for first payment
options = options.reverse_merge(
token: @order.paypal_payment_token,
payer_id: @order.paypal_customer_token,
description: "Your product total is below",
amount: not_recurring_amount.round(2),
currency: "USD"
)
response = PayPal::Recurring.new(options).send(action)
raise response.errors.inspect if response.errors.present?
response
end
基本的に、ユーザーは製品を購入し、239.95 を請求されます。その後、ユーザーは 1 回限りのアクティベーションで製品のプランを購入し、33.95 が請求されます。どちらも一括払いです。次に、プランを購入すると、その通信時間プランに対して 14.95 の定期的な月額料金も請求されます。すべてが機能しているように見えますが、paypal サンドボックス アカウントで、別の定期的な請求が空白になっていることに気付きました。
なぜそのブランクチャージが発生するのですか?