Я начинаю с Stripe Payment и мне нужно подключить пользователя к своему приложению Stripe. Я следую за гильдией в нашивка чтобы получить accesss_token с кодом PHP:
// See full code example here: https://gist.github.com/3507366
if (isset($_GET['code'])) { // Redirect w/ code
$code = $_GET['code'];
$token_request_body = array(
'grant_type' => 'authorization_code',
'client_id' => 'ca_*************************',
'code' => $code,
'client_secret' => 'sk_test_************************'
);
$req = curl_init(TOKEN_URI);
curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
curl_setopt($req, CURLOPT_POST, true );
curl_setopt($req, CURLOPT_POSTFIELDS, http_build_query($token_request_body));
// TODO: Additional error handling
$respCode = curl_getinfo($req, CURLINFO_HTTP_CODE);
$resp = json_decode(curl_exec($req), true);
curl_close($req);
echo $resp['access_token'];
} else if (isset($_GET['error'])) { // Error
echo $_GET['error_description'];
} else { // Show OAuth link
$authorize_request_body = array(
'response_type' => 'code',
'scope' => 'read_write',
'client_id' => 'ca_************************'
);
$url = AUTHORIZE_URI . '?' . http_build_query($authorize_request_body);
echo "<a href='$url'>Connect with Stripe</a>";
}
Но ответ от Stripe всегда нулевой. Кто-нибудь сталкивался с такой же проблемой, как это раньше? Любая помощь будет очень ценной для меня в этот раз.
Большое спасибо.
После некоторой отладки я обнаружил, что проблема в библиотеке cURL моего PHP-сервера. Кажется, cURL не работает с HTTPS. И база на этой теме: PHP cURL не работает с HTTPS
Я нахожу решение заставить его работать, минуя проверку:
...
curl_setopt($req, CURLOPT_POSTFIELDS, http_build_query($token_request_body));
curl_setopt($req, CURLOPT_SSL_VERIFYPEER, false); // Bypass the verification
$resp = json_decode(curl_exec($req), true); // Now has response well.
...
P / s: это не хорошее решение, лучше сделать больше исследований (Вот)
Я надеюсь, что это поможет некоторым начинающим, как я 🙂
Других решений пока нет …