Paypal:付款后如何更新运费,就像Etsy一样?

时间:2012-05-21 05:33:59

标签: ruby-on-rails paypal payment-gateway

我正在开发类似于Etsy的市场应用程序。具体来说,我目前正在实施结账流程,而我正在努力实施PayPal付款。

我希望有一个类似于etsy的工作流程:

  1. 客户登录/在我的网站上注册
  2. 客户重定向到paypal,输入收货地址并授权付款
  3. 客户重定向回我的网站,最终更改送货地址并完成结帐
  4. 我不明白如何在步骤3)中考虑更改订单总数的任何更改。例如,客户可以选择不同的运输国家,因此可以支付更高或更低的运输成本。我不想取消之前的付款并将客户发回Paypal以重新验证付款,因为这很可能会导致客户放弃订单。

    • Etsy如何考虑这些变化?
    • 他们使用什么样的PayPal支付类型(标准,适应性等)?

    如果您能指出一些真实的单词示例(我在轨道上使用ruby,但欢迎使用任何框架),我将非常感激。

1 个答案:

答案 0 :(得分:1)

你的问题是你的第3步没有意义。让我解释一下。

  • 在上面的第2步中,您可能知道,只有在给出送货地址时,您才能真正给予客户良好的运费估算。在那之前,你的估计不会那么紧张。

  • 在您的第3步中,付款处理商(例如Paypal或Google Checkout)将根据运费调整订单总额。 (详细信息有所不同,请参阅下面的Google Checkout示例。)

  • 完成第3步后,即可完成订单。处理器将向您的网站报告,说明订单已完成,并附有详细信息。您的网站进行任何最终处理。 (您的上述问题表示“客户可能会选择不同的运输国家/地区,因此可能会支付更高或更低的运费”但这对我来说没有意义。此时,订单已完成 - 您的网站允许用户更改送货地址 - 除非用户想完全取消订单。)

Google Checkout

有关详细信息,Google Checkout API文档提供了许多您感兴趣的选项。请阅读Google Checkout XML API Developer's Guide的“送货和数字投放”部分。这些是我认为最相关的两个:

  
      
  1. 商家计算的运费 - 对于商家计算的运费,您必须运营计算并返回运费的网络服务。 Google Checkout会向您的服务发送一个请求,其中包含买方的送货地址,订单中的商品以及您提供的送货方式。 (您之前会在Checkout API请求中将商品和送货方式发送给Google。)然后,您的网络服务会计算每种送货方式的运费,并将该信息返回给Google。

  2.   
  3. 承运人计算的运费 - 对于承运人计算的运输方式,您可以识别您提供的一种或多种FedEx,UPS或USPS运输方式。然后,Google会根据购物车中商品的总重量动态计算每个选项的运费。运营商计算的运输文档定义了Google为每个运营商支持的具体运输方式。对于运营商计算的运输选项,仅当Google未能尝试获取运营商的运费时,才会使用默认运费。

  4.   

有关完整详细信息,请参阅文档。我希望选项2有效 - 它似乎涉及相当少的自定义开发工作。

贝宝

与Google Checkout相比,通过Paypal的文档相当迟钝。所以我要指出你正确的方向,但我不打算为你详细挖掘所有细节。查看:Calculate shipping and taxes

不要忘记税收

奖金材料!税费也可能因运送地点而异。付款服务有文档,告诉您如何执行此操作。