【发布时间】:2016-08-05 06:19:48
【问题描述】:
我已经在 PHP 上实现了“Pay With Amazon”(https://payments.amazon.com/documentation/express/201747030) 的自定义集成。我想在结帐流程结束时设置卖家订单 ID。流程如下
- 用户点击“Pay With Amazon”按钮并登录亚马逊并点击支付
- 用户被重定向到我们的退货页面,我们在内部根据亚马逊订单详细信息 (GetOrderReferenceDetails) 创建用户并显示订单摘要。
- 用户点击“Place Order”按钮开始订单处理,授权支付,CaptureNow 参数设置为 true 也捕获支付金额。
我们只能在第 3 步中获得内部订单 ID,我们无法更改调用 SetOrderReferenceDetails 的 SellerOrderId,因为在第 1 步之后,亚马逊订单已经处于“打开”状态(而不是“草稿”)。
是否有可能在第 1 步之后让亚马逊订单处于“草稿”状态,或者是否有可能在订单已经处于“打开”状态后设置 SellerOrderId?
【问题讨论】:
-
我不使用 Express..所以你什么时候(或者你实际上手动调用)
ConfirmOrderReference?尽管如果您的内部 id 仅在 successfulCapture(?) 之后生成,则不确定这是否会有所帮助(相对于生成之前并相应地更新其状态)... -
我没有调用 ConfirmOrderReference,因为当用户再次返回我的网站时(在他在 Amazon Payments 网站上选择付款方式和送货地址后),订单已经确认并且订单状态已经打开.
-
有没有办法告诉亚马逊在用户返回我的网站后让订单处于草稿状态?
-
除非亚马逊人纠正,否则我不相信 Express Integration。您需要发送的所有
paymentActionparameters(默认仍然是none)都会导致确认ORO - 不同之处仅在于当用户被重定向回您的站点时您最终如何授权和捕获(它们自动为您准备 - 更少的工作,“表达”)。 -
您在非 Express 中具有灵活性 - 例如登录并付款,然后可以致电
ConfirmOrderReference“每当”您“准备好” - 用户也不会离开您的网站(真的很棒的实施恕我直言)。但是,您仍然需要在进行身份验证之前进行确认,所以不确定它是否对您有帮助...Hth...
标签: php amazon-pay