如何取消PayPal(快速结账)交易?

时间:2011-12-15 15:54:02

标签: paypal express-checkout

我有一个使用Express Checkout处理付款的应用程序。

在调用SetExpressCheckout之后我需要一些方法来取消交易(并让用户在paypal的页面上填写他的详细信息),然后才能用DoExpressCheckoutPayment完成它。

我找不到在paypal文档中使用它的正确方法,我只是让它超时还是我需要做一些API调用?

2 个答案:

答案 0 :(得分:1)

你只是让它超时。如果您尚未调用DoExpressCheckoutPayment,则尚未执行任何操作 令牌在三小时后自动过期。

答案 1 :(得分:0)

从技术上讲,您可以清空令牌REQUEST,并取消设置reshash SESSION并让它在没有风险的情况下过期(假设您使用的是api示例附带的相同命名变量。您使用的语言是什么?我可以进一步提供示例。

在PHP中,我只会这样做:

// empty token
$_REQUEST['token'] = NULL;

//unset reshash session
$_SESSION['reshash'] = NULL;
unset($_SESSION['reshash']);

现在您理想地希望将用户重定向到取消页面,例如

header( 'Location: http://www.example.com/transactionCancelled.html' ) 

否则,如果用户处于“ReviewOrder”阶段,他们将自动重定向回paypal以开始新的交易。