You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PayPal API时已批准订单未显示在交易记录且余额未更新

问题根源与解决方案

核心问题

当你创建意图为CAPTURE的PayPal订单时,APPROVED状态仅代表用户已同意授权付款,但并未完成实际的资金捕获。只有调用专门的捕获接口,才能触发资金划转,订单才会出现在交易记录中。你的当前代码仅检查了订单状态,缺少关键的捕获步骤。

修正后的后端代码

在检测到订单状态为APPROVED后,添加资金捕获的请求逻辑:

$orderId = $_POST['orderId'];
$clientId = '你的LIVE环境Client ID';
$clientSecret = '你的LIVE环境Client Secret';

// 1. 验证订单状态
$checkUrl = "https://api.paypal.com/v2/checkout/orders/$orderId";
$headers = array(
  'Content-Type: application/json',
  'Authorization: Basic ' . base64_encode($clientId . ':' . $clientSecret),
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $checkUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);

if ($response) {
  $responseData = json_decode($response, true);
  $orderStatus = $responseData['status'];
  
  if ($orderStatus === 'APPROVED') {
      // 2. 关键步骤:调用捕获接口完成收款
      $captureUrl = "https://api.paypal.com/v2/checkout/orders/$orderId/capture";
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $captureUrl);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_POST, true);
      curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
      $captureResponse = curl_exec($ch);
      $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
      curl_close($ch);

      if ($captureResponse && $httpCode === 201) {
          $captureData = json_decode($captureResponse, true);
          // 捕获成功,可记录交易ID、金额等信息到数据库
          echo 'SUCCESS: 资金已捕获';
      } else {
          // 捕获失败,处理错误逻辑
          echo 'ERROR: 资金捕获失败';
          // 建议记录错误响应便于排查
          error_log('PayPal捕获错误: ' . $captureResponse);
      }
  } else {
      echo 'ERROR: 订单未批准';
  }
} else {
  echo 'ERROR: 无法获取订单信息';
}

额外注意事项

  • 捕获接口返回201 Created状态码才代表捕获成功,此时订单会进入交易记录,资金会划转至你的PayPal账户。
  • 务必处理捕获过程中的错误(如网络问题、PayPal返回的错误码),避免遗漏收款。
  • 建议在代码中添加日志记录,记录订单ID、捕获响应等信息,方便后续排查问题。

内容的提问来源于stack exchange,提问作者Mystical

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 19:37:20