【问题标题】:How do i cancel a PayPal (Express Checkout) transaction?如何取消 PayPal(快速结账)交易?
【发布时间】:2011-12-15 15:54:02
【问题描述】:

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

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

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

【问题讨论】:

    标签: paypal express-checkout


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      从技术上讲,您可以只清空令牌 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”阶段,他们将自动被重定向回贝宝以开始新的交易。

      【讨论】:

        猜你喜欢
        • 2012-08-05
        • 2018-04-15
        • 2014-04-15
        • 2013-05-17
        • 2016-10-05
        • 2013-04-21
        • 2014-03-03
        • 2013-09-21
        • 2012-06-25
        相关资源
        最近更新 更多