Stripe 签帐卡出现致命错误 php rest api

Stripe charge card get fatal error with php rest api

我正在使用 stripe charge card api 进行卡支付。令牌已成功创建,此信息也将发送到条带服务器。但是当去收费时它给出了致命错误。

我正在使用亚马逊 ubuntu 实例来发布我的网站。

我的 php 代码是:-

$token=$this->input->post('stripeToken');
var_dump($token);

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

// Get the credit card details submitted by the form
//$token = $_POST['stripeToken'];

// Create the charge on Stripe's servers - this will charge the user's card
try {
    $charge = \Stripe\Charge::create(array(
    "amount" => 100, // amount in cents, again
    "currency" => "usd",
    "source" => $token,
    "description" => "Example charge"
));
    } catch(\Stripe\Error\Card $e) {
    // The card has been declined
}

它给出了致命错误。

Fatal error: Uncaught exception 'Stripe\Error\ApiConnection' with message 'Could not connect to Stripe (https://api.stripe.com/v1/charges). Please check your internet connection and try again. If this problem persists, you should check Stripe's service status at https://twitter.com/stripestatus, or let us know at support@stripe.com. (Network error [errno 28]: Connection timed out after 30055 milliseconds)' in /opt/lampp/htdocs/devbeacon/application/libraries/stripe/lib/HttpClient/CurlClient.php:216 Stack trace: #0 /opt/lampp/htdocs/devbeacon/application/libraries/stripe/lib/HttpClient/CurlClient.php(178): Stripe\HttpClient\CurlClient->handleCurlError('https://api.str...', 28, 'Connection time...') #1 /opt/lampp/htdocs/devbeacon/application/libraries/stripe/lib/ApiRequestor.php(184): Stripe\HttpClient\CurlClient->request('post', 'https://api.str...', Array, Array, false) #2 /opt/lampp/htdocs/devbeacon/application/libraries/stripe/lib/ApiRequestor.php(59): Stripe\ApiRequestor->_requestRaw('post', '/v1/charges', Array, Ar in /opt/lampp/htdocs/devbeacon/application/libraries/stripe/lib/HttpClient/CurlClient.php on line 216

我不知道这背后的原因。

消息显示网络错误 [errno 28],这是一个 curl error,定义为 CURLE_OPERATION_TIMEDOUT 错误。这是一个连接错误。

连接错误通常是由于安全组设置和不允许出站 https,在本例中为 API 端点 (https://api.stripe.com/v1/charges)。

您可以尝试 curl https://api.stripe.com/v1/charges 并确认您可以连接吗?

您应该得到以下信息:

{
  "error": {
    "type": "invalid_request_error",
    "message": "You did not provide an API key. You need to provide your API key in the Authorization header, using Bearer auth (e.g. 'Authorization: Bearer YOUR_SECRET_KEY'). See https://stripe.com/d
ocs/api#authentication for details, or we can help at https://support.stripe.com/."
  }
}

如果您在服务器上的命令行中没有得到该响应,那么您的代码也将无法连接。检查您的传出安全组设置,并允许出站 HTTPS 到端点的 IP 或 0.0.0.0/0。