0

我的 PHP 中有以下代码,我猜它会启动 PayPal 付款:

$resArray = CallPay (   $actionType, $cancelUrl, $returnUrl, $currencyCode, $receiverEmailArray,
                        $receiverAmountArray, $receiverPrimaryArray, $receiverInvoiceIdArray,
                        $feesPayer, $ipnNotificationUrl, $memo, $pin, $preapprovalKey,
                        $reverseAllParallelPaymentsOnError, $senderEmail, $trackingId   );

这似乎会在 中生成一些特定于付款的数据$resArray,即:

[responseEnvelope.timestamp]        = 2013-09-10T13:23:42.650-07:00 <- actual value
[responseEnvelope.ack]              = Success                       <- actual value
[responseEnvelope.correlationId]    = CORRELATION_ID_HERE           <- value changed for security reasons
[responseEnvelope.build]            = BUILD_VALUE_HERE              <- value changed for security reasons
[payKey]                            = GENERATED_KEY_HERE            <- value changed for security reasons
[paymentExecStatus]                 = CREATED                       <- actual value

然后我可以使用 将[payKey]用户发送到 PayPal 网站以登录并付款

$cmd = "cmd=_ap-payment&paykey=" . urldecode($resArray["payKey"]);
RedirectToPayPal ( $cmd );

我的问题是,如果用户没有登录完成付款,是否可以UNCREATE根据 PayPal 的记录[payKey]或我不需要UNCREATE它?如果在一定时间后不使用,PayPal会自动删除该记录吗?如果是这种情况,PayPal 会在删除之前保留记录多长时间?

根据https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_APGettingStarted,它说:

在这个特定场景中,paymentExecStatus 变量设置为 CREATED 而不是 COMPLETED,这表明支付已经创建,但尚未执行。

似乎没有进一步详细说明是否可以取消创建它,或者它在被删除之前保持创建多长时间(如果它被删除)。

4

1 回答 1

1

支付密钥一旦创建就无法取消,但它会在 3 小时后自行失效。

于 2013-09-10T21:44:31.177 回答