request->post(); $rule = new Validate([ "article_id"=>"require" ]); if(!$rule->check($data)){ return jsonError($rule->getError()); } $article_info = $this->article_obj->where("article_id",$data['article_id'])->find(); $journal_info = $this->journal_obj->where("journal_id",$article_info['journal_id'])->find(); $check = $this->order_obj->where("user_id",$article_info['user_id'])->where("article_id",$data['article_id'])->whereIn("state",[0,1])->find(); if($check){ $re['detail'] = $check; return jsonSuccess($re); } $insert['user_id'] = $article_info['user_id']; $insert['type'] = 0; $insert["article_id"] = $data['article_id']; $insert['order_fee'] = $journal_info['fee']; $insert['real_fee'] = $journal_info['fee']; $insert['ctime'] = time(); $id = $this->order_obj->insertGetId($insert); $re['detail'] = $this->order_obj->where("order_id",$id)->find(); return jsonSuccess($re); } public function getUserOrder(){ $data = $this->request->post(); $rule = new Validate([ "user_id"=>"require", "state"=>"require" ]); if(!$rule->check($data)){ return jsonError($rule->getError()); } $list = $this->order_obj->where("user_id",$data['user_id'])->where("state",$data['state'])->select(); $re['list'] = $list; return jsonSuccess($re); } private function handleResponse($response) { $jsonResponse = json_decode($response->getBody(), true); return [ "jsonResponse" => $jsonResponse, "httpStatusCode" => $response->getStatusCode(), ]; } public function mytest(){ $url = 'https://api-m.sandbox.paypal.com/v1/oauth2/token'; // PayPal client credentials (replace these with your own credentials) $clientId = $this->PAYPAL_CLIENT_ID; // 替换为您的 client_id $clientSecret = $this->PAYPAL_CLIENT_SECRET; // 替换为您的 client_secret $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://api-m.sandbox.paypal.com/v1/oauth2/token'); // PayPal 沙盒环境的 URL curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 返回响应而不是输出 curl_setopt($ch, CURLOPT_POST, true); // 设置为 POST 请求 curl_setopt($ch, CURLOPT_USERPWD, $clientId . ':' . $clientSecret); // 设置基本认证(Basic Auth) curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/x-www-form-urlencoded' // 设置 Content-Type 为 x-www-form-urlencoded ]); curl_setopt($ch, CURLOPT_POSTFIELDS, 'grant_type=client_credentials'); // 设置表单参数 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $response = curl_exec($ch); if (curl_errno($ch)) { // 如果有错误,输出错误信息 echo 'Error: ' . curl_error($ch); } else { // 请求成功,解析响应 $responseData = json_decode($response, true); // 将 JSON 响应转为数组 if (isset($responseData['access_token'])) { echo "Access Token: " . $responseData['access_token']; // 输出获取的 Access Token } else { echo "Error: Unable to retrieve access token. Response: " . json_encode($responseData); // 如果没有获取到 Token,输出错误信息 } } curl_close($ch); } public function mytest1(){ $re = $this->createPaypalOrder(); return jsonSuccess($re); } private function createPaypalOrder() { $client = PaypalServerSdkClientBuilder::init() ->clientCredentialsAuthCredentials( ClientCredentialsAuthCredentialsBuilder::init( $this->PAYPAL_CLIENT_ID, $this->PAYPAL_CLIENT_SECRET ) ) ->environment(Environment::SANDBOX) ->build(); $orderBody = [ "body" => OrderRequestBuilder::init("CAPTURE", [ PurchaseUnitRequestBuilder::init( AmountWithBreakdownBuilder::init("USD", "100")->build() )->build(), ])->build(), ]; $apiResponse = $client->getOrdersController()->ordersCreate($orderBody); return $this->handleResponse($apiResponse); } }