Rya*_*yan 6 paypal ruby-on-rails activemerchant
我正在使用ActiveMerchant让我的rails应用程序访问Paypal的Express Checkout.我想在审核页面上包含订单详细信息,如下所述:https://cms.paypal.com/us/cgi-bin/?cmd = _render-content&content_ID = developer/e_howto_api_ECCustomizing
可以这样做吗?
目前,我的控制器代码如下所示:
def paypal
#currently, options is unused, I'm not sure where to send this info
options = {
:L_NAME0=>"Tickets",
:L_QTY0=>@payment.quantity,
:L_DESC0=>"Tickets for #{@payment.event_name}",
:L_AMT0=>@payment.unit_price
}
#the actual code that gets used
setup_response = gateway.setup_purchase(@payment.amount,
:ip=> request.remote_ip,
:return_url=> url_for(:action=>:confirm, :id=>@payment.id, :only_path=>false),
:cancel_return_url => url_for(:action=>:show, :id=>@payment.id, :only_path=>false)
)
redirect_to gateway.redirect_url_for(setup_response.token)
end
Run Code Online (Sandbox Code Playgroud)
如果我想做的事情是可能的,我需要改变什么?
ash*_*ai_ 11
确保您的activemerchant版本不低于1.12.0.
EXPRESS_GATEWAY.setup_purchase(220,
:items => [{:name => "Tickets", :quantity => 22,:description => "Tickets for 232323", :amount => 10}],
:return_url => 'example.com',
:cancel_return_url => 'example.com'
)
希望这可以帮助 :)
@Soleone我尝试你的解决方案,但不适合我。
xml.tag! 'n2:OrderDescription', options[:description]
xml.tag! 'n2:Name', options[:name]
xml.tag! 'n2:Description', options[:desc]
xml.tag! 'n2:Amount', options[:amount]
xml.tag! 'n2:Quantity', options[:quantity]
Run Code Online (Sandbox Code Playgroud)
我认为xml结构不正确,订单项目有多个,所以应该像这样
xml.tag! 'n2:OrderItems' do
xml.tag! 'n2:OrderItem' do
xml.tag! 'n2:Name', options[:name]
xml.tag! 'n2:Description', options[:desc]
xml.tag! 'n2:Amount', options[:amount]
xml.tag! 'n2:Quantity', options[:quantity]
end
end
Run Code Online (Sandbox Code Playgroud)
但我真的不知道正确的结构,现在正在寻找。
====更新
我找到了 SOAP api 文档,https://cms.paypal.com/us/cgi-bin/ ?cmd=_render-content&content_ID=developer/e_howto_api_soap_r_SetExpressCheckout#id09BHC0QF07Q
xml.tag! 'n2:PaymentDetails' do
xml.tag! 'n2:PaymentDetailsItem' do
xml.tag! 'n2:Name', options[:name]
xml.tag! 'n2:Description', options[:desc]
xml.tag! 'n2:Amount', options[:amount]
xml.tag! 'n2:Quantity', options[:quantity]
end
end
Run Code Online (Sandbox Code Playgroud)
但还是不行,谁能帮忙?
=====更新====
我尝试了添加 PaymentDetails 参数的方法,但似乎仍然不起作用,我找到了 SetExpressCheckoutReq xml 的 schema,http://www.visualschema.com/vs/paypal/SetExpressCheckoutReq/,没有 PaymentDetails 的定义,谁做的之前的事情,希望对你有帮助。
======最终========
我已经修复了这个问题,新版本的ActiveMerchant支持订单详情审核,mwagg也推送了这个补丁,大家可以使用这个版本https://github.com/mwagg/active_merchant
| 归档时间: |
|
| 查看次数: |
4233 次 |
| 最近记录: |