在 Active Merchant / PayPal Express Checkout 中设置税额

Posted

技术标签:

【中文标题】在 Active Merchant / PayPal Express Checkout 中设置税额【英文标题】:setting tax amount in Active Merchant / PayPal Express Checkout 【发布时间】:2010-12-05 17:22:55 【问题描述】:

我需要知道如何使用 Active Merchant 和 rails 将税额传递给 PayPal Express Checkout。一切正常(完成交易),除了我终生不知道如何设置税款。

感谢您的帮助!

【问题讨论】:

您不应该在使用 PayPal 支付的金额中添加税金吗? 谢谢埃德温,但这没有用。 PayPal 曾经有一个我以前使用过的用于 RoR 的 SDK,并且我能够通过这种方式传递税额。我只需要知道如何通过 Active Merchant 做到这一点。一定有办法,但我肯定找不到。 【参考方案1】:

这就是它的完成方式。

以下代码将为 2 件具有不同价格(5 美元和 10 美元)的商品设置 paypal 快递购买,外加税款(50 美分),并且没有运费或手续费。

response = YOUR_PAYPAL_GAETWAY_NAME.setup_purchase(1550,
  :subtotal => 1500,
  :shipping => 0,
  :handling => 0,
  :tax => 50,
  :ip     => CLIENT_IP, # you might want to use "request.remote_ip" method from a controller to obtain this value

  :items => [
             :name => 'ITEM_NAME_1', :description => 'ITEM_DESC_1', :amount => 500, :quantity => 1, 
             :name => 'ITEM_NAME_2', :description => 'ITEM_DESC_2', :amount => 1000, :quantity => 1
            ],

  :return_url        => 'http://SOME/URL',
  :cancel_return_url => 'http://MAYBE/ANOTHER/URL'
)

redirect_to YOUR_PAYPAL_GAETWAY_NAME.redirect_url_for(response.token)

注意事项:

所有金额必须以美分为单位

必须指定所有 4 个选项 [:subtotal, :shipping, :handling, :tax],如果缺少一个或多个选项,其余的将被忽略,如果您不需要设置某个选项,例如处理成本,只需像上面的示例一样将其设置为零,设置为零的选项不会出现在您的贝宝页面上。

:小计必须等于商品的总价格,单位为美分,即(item1 * item1 的数量)+(item2 * item2 的数量)等等......

订单总金额(代码中设置为1550),必须等于:subtotal + :shipping + :handling + :tax 否则paypal会返回错误(无效交易)

【讨论】:

感谢您的回答。我很久以前离开了这个项目,所以我不会针对我的代码测试你的解决方案,但为了后代,我很高兴你发布了。谢谢@Bash。 以防万一有人想知道,如果您在 setup_purchase 函数中添加税等,您需要在购买函数中再次添加,以便正确查看 Paypal 页面。【参考方案2】:

我刚刚注意到它有多老了 - 但如果出于任何原因有人在寻找答案,那么它现在似乎得到了支持,如果以前没有的话。

从外观上看,您需要所有 4 个 ':subtotal、:shipping、:handling、:tax' 可用,并且所有这些都必须加起来作为您作为首选的总金额。

【讨论】:

以上是关于在 Active Merchant / PayPal Express Checkout 中设置税额的主要内容,如果未能解决你的问题,请参考以下文章

Rails:安装 active_merchant_payu_india 时出错

如何在视图中显示支付网关响应消息 - Rails 4,Active Merchant

我们可以使用 active-merchant authorized.net COM API 从网关检索交易详情吗?

Authorize.net CIM Active Merchant -- 由于验证值无效,用户验证失败

使用 Active Merchant 从 Authorize.net 获取 ARB 订阅信息?

Active Merchant 和 Authorize.net 在生产中返回失败