【发布时间】:2021-04-05 14:10:18
【问题描述】:
根据 PayPal 订单 API as document here,我们必须先创建订单,然后从响应中复制批准 url 并在浏览器中运行。这将打开 PayPal 页面。那里的买家将批准该请求。在此之后,应发出捕获请求。
问题详情
我有以下代码使用 PayPal API 创建订单:
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', $uri, [
'json' => [
"intent" => "CAPTURE",
"purchase_units" => [
[
"amount" => [
"currency_code" => "USD",
"value" => "100.00"
]
]
]
],
'headers' => [
'Accept' => 'application/json',
'Accept-Language' => 'en_US',
'Content-Type' => 'application/json',
],
'auth' => [$clientId, $secret, 'basic']
]
);
$data = json_decode($response->getBody(), true);
echo "<pre>";
print_r($data);
echo "</pre>";
此代码运行良好。这给了我 4 个网址,如下面的屏幕截图所示。
在此之后,我使用 rel = 批准复制 url。这个:https://www.sandbox.paypal.com/checkoutnow?token=3C454469W0667862G
现在,运行这个 url,这将打开沙盒 PayPal 页面。买家登录后,点击支付,一直在同一页面,没有任何错误。
知道为什么会这样吗?
【问题讨论】: