PayPal的付款执行状态值


PayPal's paymentExecStatus value

我的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 );

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

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

在此特定方案中,付款执行状态变量设置为 "已创建"而不是"已完成",表示付款已 已创建,但尚未执行。

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

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