使用active_paypal_adaptive_payment gem授权preapproved_pa​​yment_key

时间:2012-03-20 13:57:59

标签: ruby-on-rails paypal paypal-adaptive-payments

男人,我把头发撕成了这个。 Paypal的文档是如此复杂和不完整,并且对自适应支付的本机ruby支持很少。

无论如何,我正在建立一个网络应用程序,我希望能够使用PayPal自适应支付设置预先批准的付款。我已经获得了active_paypal_adaptive_payment gem,但是没有关于从预批准到捕获付款的流程的文档。

我可以使用gem的preapprove_payment方法从PayPal获取预批准密钥:

response = ADAPTIVE_GATEWAY.preapprove_payment ({
  :return_url => admin_preapproved_payments_url,
  :cancel_url => admin_preapproved_payments_url,
  :senderEmail => @payment.sender_email,
  :start_date => @payment.start_date,
  :end_date => @payment.end_date,
  :currency_code =>"USD",
  :max_amount => @payment.max_amount.to_s,
  :maxNumberOfPayments => @payment.max_number_of_payments.to_s
  })
  puts response.preapproval_key

但发件人需要先授权预先批准密钥,然后才能使用它来从帐户中获取资金。

enter image description here

我在哪里重定向发件人,以便他们可以授权预批准密钥?我不想立即获得资金 - 我只需要他们的批准,以便我将来可以这样做。

2 个答案:

答案 0 :(得分:1)

方法 redirect_pre_approval_url_for(令牌)是您所需要的,它会返回一个您应该(显然)重定向用户的网址,以便授权预先批准的付款。

redirect_pre_approval_url_for(token)

因此,在rails应用程序中,事情应如下所示:

redirect_to ADAPTIVE_GATEWAY.redirect_pre_approval_url_for(response.preapproval_key)

答案 1 :(得分:0)

我建议尝试使用ActiveMerchant with paypal