paypal 上的状态仍然是 APPROVED
Status on paypal is still APPROVED
我在与 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;
}
我在沙盒环境中工作。我转到支付页面并转账虚拟货币。
当它将我重定向到我的网站时,我会检查订单状态。 Status 的值为“APPROVED”而不是“COMPLETED”,并且钱也没有记入帐户。它取决于什么?
您需要两次 API 调用,一次调用 'Set Up Transaction' 并创建订单,然后调用一次调用 'Capture Transaction' 获得批准,如下所述:
https://developer.paypal.com/docs/checkout/reference/server-integration/
如果您不获取订单,它将保持已批准状态。
为获得最佳用户体验,请勿使用任何重定向。完全没有。保持您的网站在后台加载,并向用户提供现代 in-context 登录以供批准。这是 UI:https://developer.paypal.com/demo/checkout/#/pattern/server
我在与 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;
}
我在沙盒环境中工作。我转到支付页面并转账虚拟货币。 当它将我重定向到我的网站时,我会检查订单状态。 Status 的值为“APPROVED”而不是“COMPLETED”,并且钱也没有记入帐户。它取决于什么?
您需要两次 API 调用,一次调用 'Set Up Transaction' 并创建订单,然后调用一次调用 'Capture Transaction' 获得批准,如下所述: https://developer.paypal.com/docs/checkout/reference/server-integration/
如果您不获取订单,它将保持已批准状态。
为获得最佳用户体验,请勿使用任何重定向。完全没有。保持您的网站在后台加载,并向用户提供现代 in-context 登录以供批准。这是 UI:https://developer.paypal.com/demo/checkout/#/pattern/server