这是一个应该在实时环境中工作的扩展示例流程:
- 使用 actionType=CREATE 发送支付请求
- 使用返回的 payKey 发送 SetPaymentOptions 请求
- 重定向用户以批准付款
- 接收 IPN
- 使用返回的 payKey 发送 PaymentDetails 请求
- 使用返回的 payKey 发送 GetPaymentOptions 请求
- 使用返回的 payKey 发送 ExecutePayment 请求
一切正常,直到最后一步。一旦用户批准付款,付款就会以某种方式设置为 COMPLETED 状态。
我究竟做错了什么?我使用了不同的卡来接受付款,并且没有使用 paypal 帐户,这样我就不会被视为同一个用户。以下是用户接受付款后的详细信息:
[status] => COMPLETED
[trackingId] =>
[payKey] => AP-XXXXXXXXX
[actionType] => CREATE
[feesPayer] => EACHRECEIVER