【发布时间】:2015-08-19 07:08:21
【问题描述】:
以下是与 PayPal API 相关的问题。我正在使用 PayPal Express Checkout,我在 .NET 中使用它。
使用我们的软件,用户可以通过两种不同的方式使用 PayPal 结账。一个是他们从结帐页面选择它作为付款选项。如果他们以这种方式到达那里,他们将已经输入了他们的运输信息并选择了他们的运输方式,所有这些(运输信息、运输总额、运输折扣)都通过 SetExpressCheckout 函数传递到 PayPal。然后他们被重定向到一个现场确认页面,他们在该页面上单击一个按钮以确认他们的付款(称为 DoExpressCheckoutPayment)以及所支付的金额。这一切都有效,但此页面还使用户能够在点击确认之前更改他们首选的运输方式。更改运输方式会更改运输总额,也可能会影响运输折扣和税收总额。在确认订单(通过 DoExpressCheckoutPayment)之前,我找不到在 PayPal 中实际更新此信息的方法。在这种情况下,我向此函数传递的金额与最初通过 SetExpressCheckout 给出的订单总额不同。
客户结账的另一种方式是他可以点击购物车页面上的 PayPal 结账按钮。如果用户以这种方式结账,他甚至不会选择送货方式,直到他到达确认页面,所以最初的 SetExpressCheckout 调用根本不会发送运费总额和折扣。除此之外,在这种情况下,一切都与第一个相同。它会更新我们软件中的运输方式和总计,并将最终金额发送回 PayPal。
首先,我想知道在调用 SetExpressCheckout 之后是否真的有任何方法可以更新运费总额、运费折扣、税收总额等。我没有看到这些值被传递到 DoExpressCheckoutPayment,也没有看到另一种更新方法。如果这不可能,只传递与通过 SetExpressCheckout 发送的总金额不同的付款金额是否就足够了,还是会导致问题?或者有没有我没有想到的更好的方法?
【问题讨论】: