将会话变量包含在条带支付中 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 之前,请确保会话密钥已设置且具有整数值。
非常简单的事情,但我试图包括这个:
<?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 之前,请确保会话密钥已设置且具有整数值。