首页 > 解决方案 > CURL 未在 PHP 中执行

问题描述

我将 POST 请求中的参数传递到应该运行 Stripe cURL 请求的 PHP 后端。问题是 cURL 请求不起作用。

我已确保在 Apache 服务器上安装了 cURL。但是,来自 Stripe 的 URL 不会被执行。

PHP

<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");
require_once("../../src/backend/php/init.php");
require_once('../../../../vendor/autoload.php');

$stripe = [
 "secret_key"      => "******************"
];

\Stripe\Stripe::setApiKey($stripe["secret_key"]);

$value = json_decode(file_get_contents("php://input"),true);
$code =  $value['code'];
echo json_encode($code);
$code = json_encode($code);

// output: CURL IS available
 if(in_array  ('curl', get_loaded_extensions())) {
     echo "CURL is available on your web server";
 }
 else{
     echo "CURL is not available on your web server";
 }

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://connect.stripe.com/oauth/token');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "client_secret=". $stripe["secret_key"]. "&code=". $code . "&grant_type=authorization_code");
curl_setopt($ch, CURLOPT_POST, 1);

$headers = array();
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}else {
    echo json_encode("success");
}
curl_close ($ch);
?>

标签: phpcurloauthstripe-paymentsphp-curl

解决方案


推荐阅读