将会话变量包含在条带支付中 php

Including session variable into stripe payment php

非常简单的事情,但我试图包括这个:

<?php echo $_SESSION['totalprice']; ?>

进入charge.php的金额字段是这样的:

<?php
  require_once('config.php');

  $token  = $_POST['stripeToken'];

  $customer = \Stripe\Customer::create(array(
      'email' => 'customer@example.com',
      'card'  => $token
  ));

  $charge = \Stripe\Charge::create(array(
      'customer' => $customer->id,
      'amount'   => "".$_SESSION['totalprice']."",
      'currency' => 'eur'
  ));

  echo '<h1>Successfully charged .00!</h1>';
?>

我认为这是缩进的问题,但无法解决。这是错误:

*Fatal error: Uncaught exception 'Stripe\Error\InvalidRequest' with message 'Invalid integer: ' in /home/barceloneta/public_html/stripe-php-3.2.0/lib/ApiRequestor.php:98 from API request 'req_6ycxcj8LmrLt9T' Stack trace: #0 /home/barceloneta/public_html/stripe-php-3.2.0/lib/ApiRequestor.php(210): Stripe\ApiRequestor->handleApiError('{\n "error": {\n...', 400, Array, Array) #1 /home/barceloneta/public_html/stripe-php-3.2.0/lib/ApiRequestor.php(60): Stripe\ApiRequestor->_interpretResponse('{\n "error": {\n...', 400, Array) #2 /home/barceloneta/public_html/stripe-php-3.2.0/lib/ApiResource.php(105): Stripe\ApiRequestor->request('post', '/v1/charges', Array, Array) #3 /home/barceloneta/public_html/stripe-php-3.2.0/lib/ApiResource.php(137): Stripe\ApiResource::_staticRequest('post', '/v1/charges', Array, NULL)

4 /home/barceloneta/public_html/stripe-php-3.2.0/lib/Charge.php(37): Stripe\ApiResource::_create(Array, NULL) #5

/home/barceloneta/public_html/charge.php(15): Stripe\Charge::create(Array) #6 /home/barceloneta/public_htm in /home/barceloneta/public_html/stripe-php-3.2.0/lib/ApiRequestor.php on line 98*

您将金额用引号引起来,使其成为字符串类型。 Stripe 似乎对此非常严格,因此请删除引号并确保您发送的是整数。

$charge = \Stripe\Charge::create(array(
    'customer' => $customer->id,
    'amount'   => (int) $_SESSION['totalprice'],
    'currency' => 'eur'
));

此外,在将会话密钥发送到 stripe 之前,请确保会话密钥已设置且具有整数值。