1

我正在开发一个类似于 Etsy 的市场应用程序。具体来说,我目前正在实施结帐流程,并且正在努力实施贝宝付款。

我想要一个类似于 etsy 的工作流程:

  1. 客户在我的网站上登录/注册
  2. 客户重定向到贝宝,输入收货地址并授权付款
  3. 客户重定向回我的网站,最终更改送货地址并完成结帐

我不明白如何在步骤 3) 中考虑更改订单总额的任何更改。例如,客户可能会选择不同的运输国家,因此可能会支付更高或更低的运输成本。我不想取消之前的付款并将客户发回贝宝以重新验证付款,因为这很可能会导致客户放弃订单。

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

如果您能指出一些真实的例子(我在 Rails 上使用 ruby​​,但欢迎任何框架),将不胜感激。

4

1 回答 1

1

您的问题是您的第 3 步并没有真正的意义。让我解释。

  • 在上面的第 2 步中,您可能知道,只有在提供送货地址时,您才能真正为客户提供良好的运输估算。在那之前,您的估计不会那么严格。

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

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

谷歌结帐

至于详细信息,Google Checkout API 文档提供了许多您会感兴趣的选项。请阅读Google Checkout XML API 开发人员指南的“运输和数字交付”部分。这是我认为最相关的两个:

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

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

有关完整的详细信息,请参阅文档。我希望选项 2 有效——它似乎涉及的定制开发工作要少得多。

贝宝

与 Google Checkout 相比,浏览 Paypal 的文档是相当迟钝的。因此,我将为您指出正确的方向,但我不会仅为您详细介绍所有内容。退房:计算运费和税金

不要忘记税收

奖励材料!税费也可能因运输地点而异。支付服务有向您展示如何执行此操作的文档。

于 2012-07-17T03:29:00.547 回答