PayPal的paymentExecStatus值

时间:2013-09-10 20:52:43

标签: php paypal paypal-adaptive-payments paypal-nvp

我的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此记录基于[payKey] PayPal,或者我不需要UNCREATE它呢?如果在一段时间后没有使用,PayPal会自动删除此记录吗?如果是这种情况,PayPal会在删除记录之前保留多长时间?

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

  

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

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

1 个答案:

答案 0 :(得分:1)

创建后无法取消付费密钥,但会在3小时后自动过期。