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

jeck猫
TA贡献1909条经验 获得超7个赞
您需要两次 API 调用,一次调用“设置交易”并创建订单,然后调用一次在批准后“捕获交易”,如下所示:https: //developer.paypal.com/docs/checkout/reference/服务器集成/
如果您没有捕获订单,它将保持已批准状态。
为了获得最佳用户体验,请勿使用任何重定向。完全没有。让您的网站在后台加载,并向用户提供现代的上下文登录以供批准。这是用户界面:https://developer.paypal.com/demo/checkout/#/pattern/server
- 1 回答
- 0 关注
- 123 浏览
添加回答
举报
0/150
提交
取消