PHP - Попытка POST для серверной части и 500 Ошибка возвращается? - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь отправить информацию в мой PHP-бэкэнд для создания клиента Stripe, но по какой-то причине мой код ниже возвращает ошибку 500, когда я посещаю путь .php. Есть идеи почему? Большая часть приведенного ниже - прямо из примера с Stripe, поэтому я не уверен, почему это происходит ... (извиняюсь за недостаток знаний PHP).

EDIT:

<?php // Create a customer using a Stripe token

// If you're using Composer, use Composer's autoload:
require_once('vendor/autoload.php');

ini_set('display_errors',1);
error_reporting(E_ALL);

// Be sure to replace this with your actual test API key
// (switch to the live key later)
\Stripe\Stripe::setApiKey("MYLIVEKEY");

if (!isset($_POST['api_version']))
{
    exit(http_response_code(400));
}

// Create Stripe Customer
try {

    $key = \Stripe\EphemeralKey::create(array(
    "customer" => $customerId, 
    "stripe_version" => $_POST['api_version']
        )
    );

   header('Content-Type: application/json');
    exit(json_encode($key));
} catch (Exception $e) {
    exit(http_response_code(500));
}

?>

1 Ответ

0 голосов
/ 08 января 2019

После прочтения ваших комментариев я замечаю, что у вас есть следующая ошибка:

вызов неопределенной функции http_response_code ()

http_response_code () был представлен в PHP 5.4, поэтому я предполагаю, что вы используете версию PHP ниже 5.4?

Вы можете либо обновить версию PHP, либо удалить http_response_code () и установить свои собственные ответы.

Пример:

<?php

require_once('vendor/autoload.php');
ini_set('display_errors',1);
error_reporting(E_ALL);

\Stripe\Stripe::setApiKey("MYLIVEKEY");

if (!isset($_POST['api_version'])) 
{
    // Manually set your own header:
    header('HTTP/1.1 400 Bad Request');
    // Do other things here
}

try {

    $key = \Stripe\EphemeralKey::create(array(
        "customer" => $customerId, 
        "stripe_version" => $_POST['api_version']
    ));

   header('Content-Type: application/json');
   exit(json_encode($key));

} catch (Exception $e) {
   // Manually set your own header instead...
   header('HTTP/1.1 500 Internal Server Error');
   // Do other things here
}

?>
...