Rails PayPal概念验证

3
我正在尝试使用Rails创建一个超级简单的PayPal自定义集成。我正在遵循Ryan Bates Railscast #141 的主题,并进一步简化了它。如果您有超级简单的PayPal集成经验,任何建议都将不胜感激!
我试图通过我的账户模型传递所有内容,这是一个概念验证。
def paypal_url(return_url)
  values = {
    :business => 'jwade_1268181180_biz@gmail.com',
    :cmd => '_cart',
    :upload => 1,
    :return => return_url,
    :invoice => 2,
    :amount => 7,
    :item_name => 'Membership',
    :item_number => 1,
    :quantity => 1 
  }

  "https://www.sandbox.paypal.com/cgi-bin/webscr?" + values.to_query
end 

当然,我创建一个链接:

<%= link_to "Checkout", @account.paypal_url(accounts_path) %>

PayPal检测到一个错误:“您的购物车为空”,这很奇怪,因为我可以在URL中看到我的模型传递的所有内容:
https://www.sandbox.paypal.com/cgi-bin/webscr?amount=7&business=jwade_1268181180_biz@gmail.com&cmd=_cart&invoice=&item_name=Barcoden+Membership&item_number=1&quantity=1&return=/accounts&upload=1
2个回答

2

我发现按照Railscast的步骤操作会导致空购物车错误信息。尝试创建一个表单来替换链接,如下:

<div>
  <%= form_tag 'https://www.sandbox.paypal.com/cgi-bin/webscr' do %>
  <input type="hidden" name="cmd" value="_cart"> 
  <input type="hidden" name="upload" value="1"> 
  <input type="hidden" name="business" value="Your sandbox biz Account"> 
  <input type="hidden" name="item_name_1" value="Some Name"> 
  <input type="hidden" name="amount_1" value="100"> 
  <input type="submit" value="PayPal">
  <% end %>
</div>

可以这样做。看起来,只有使用post请求才能创建购物车。

link_to助手中使用:method => :post是不起作用的。

您可以使用button_to助手创建一个迷你表单,并替换railcast中的link_to。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接