Php paypal上的状态仍然被批准
我对PayPal的付款集成有问题。 我正在使用REST API和以下代码创建订单:Php paypal上的状态仍然被批准,php,api,paypal,paypal-sandbox,payment,Php,Api,Paypal,Paypal Sandbox,Payment,我对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 => "
$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;
}
我在沙箱环境中工作。我进入付款页面并转移虚拟货币。
当它将我重定向到我的站点时,我检查订单状态。状态为value=“APPROVED”而不是“COMPLETED”,并且钱也不会记入帐户。它取决于什么?您需要两个API调用,一个用于“设置事务”并创建订单,另一个用于在批准后“捕获事务”,如下所述: 如果您没有捕获订单,它将保持在已批准状态
为了获得最佳用户体验,请不要使用任何重定向。完全在后台加载您的站点,并为用户提供一个现代的上下文登录以供批准。这是它的用户界面:您设置了捕获的意图,但从未进行过实际捕获。PayPal在幕后有3个步骤:1:创建订单,提供详细信息,使用令牌将用户发送到PayPal。2:从返回用户处获取返回令牌,并检查他们是否批准了该令牌。3:使用返回值在最终操作中捕获资金。您还可以使用PayPal REST API SDK for PHP使代码中的事情变得更简单:。。。我说得容易一点,但这是主观的,因为这个臃肿和垃圾作曲者到处走动。