2013-05-09 52 views
0

我使用貝寶經常性的寶石:貝寶的交易記錄創建一個額外的定期付款

https://github.com/fnando/paypal-recurring

爲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。然後用戶通過一次激活購買產品的計劃,並收取33.95。這些都是一次性付款。然後,當他們購買該計劃時,他們還會收取該通話時間計劃每月14.95美元的費用。一切似乎工作,但我在我的PayPal沙盒帳戶注意到另一個經常性費用是空白:

enter image description here

這是爲什麼空費怎麼回事?

回答

1

這不是實際收費,它只是創建配置文件的記錄。您必須首先創建配置文件,然後才能對其進行收費。這在您看到的PayPal帳戶中反映出來。

+0

那麼我所做的正確嗎?我不確定結果是否符合我的期望。 – JohnMerlino 2013-05-10 13:26:23

+0

你所做的事看起來是正確的。但是,關於一次性設置33.95的費用,您可以將其僅分配給僅收取一次的配置文件,但不包括它作爲常規循環配置文件chage的一部分。創建配置文件時,如果使用NVP,則只需使用變量INITAMT設置此數量即可。您也可以使用變量FAILEDINITAMTACTION來設置操作。 – 2013-05-10 13:50:04