猿问

paypal 状态仍为“已批准”

我在与 PayPal 进行付款集成时遇到问题。我正在使用 REST API,这是我用于创建订单的代码:


    $curl = curl_init();


curl_setopt_array($curl, array(

  CURLOPT_URL => "https://api.sandbox.paypal.com/v2/checkout/orders",

  CURLOPT_RETURNTRANSFER => true,

  CURLOPT_ENCODING => "",

  CURLOPT_MAXREDIRS => 10,

  CURLOPT_TIMEOUT => 30,

  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,

  CURLOPT_CUSTOMREQUEST => "POST",

  CURLOPT_POSTFIELDS => '{

  "intent": "CAPTURE",

  "purchase_units": [

    {

      "reference_id": "PUHF",

      "amount": {

        "currency_code": "PLN",

        "value": "100.00"

      }

    }

  ],

  "application_context": {

    "return_url": "http://www.mywebside.com",

    "cancel_url": ""

  }

}',

  CURLOPT_HTTPHEADER => array(

    'accept: application/json',

    'accept-language: en_US',

    'authorization: Bearer '.$access_token.'',

    'content-type: application/json'

  ),

));


$response = curl_exec($curl);

$err = curl_error($curl);


curl_close($curl);


if ($err) {

  echo "cURL Error #:" . $err;

} else {

  echo $response;

}

我在沙箱环境中工作。我进入支付页面并转移虚拟货币。当它将我重定向到我的网站时,我会检查订单状态。状态的值为“已批准”而不是“已完成”,并且资金也不会记入帐户。这取决于什么?


慕姐4208626
浏览 110回答 1
1回答

jeck猫

您需要两次 API 调用,一次调用“设置交易”并创建订单,然后调用一次在批准后“捕获交易”,如下所示:https: //developer.paypal.com/docs/checkout/reference/服务器集成/如果您没有捕获订单,它将保持已批准状态。为了获得最佳用户体验,请勿使用任何重定向。完全没有。让您的网站在后台加载,并向用户提供现代的上下文登录以供批准。这是用户界面:https://developer.paypal.com/demo/checkout/#/pattern/server
随时随地看视频慕课网APP
我要回答