我的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 小时后自动过期。