如果我将Stripe代码放入在HTML上方运行的PHP代码中,帖子可以正常工作,但Stripe不起作用。因此,我尝试在HTML代码下运行条带代码,它在那里工作。但是,底部没有收到$ _POST输入。有没有什么方法可以让Stripe在表单的顶部工作在第二部分响应?如果可能的话,有没有办法将数据从顶级PHP代码发送到最底层的PHP代码?
以下是顶级PHP代码:
if(isset($_POST['money1'])){
$_SESSION['amount'] = 600;
}
以下是HTML代码:
<form action="shop.php" method="POST">
<input type="submit" style="margin-top:10px;width:175px" class="btn btn-
success" data-toggle="modal" data-target=".moneyOne" value="$6.00"
name="money1">
上面的代码打开了一个模式,通向下面的代码。
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_xxxxxxxxxxxxxxxx"
data-amount="600"
data-name="Example"
data-description="Widget"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto">
</script>
</form>
这是最底层的PHP代码:
<?php
$amount = $_SESSION['amount'];
require_once('vendor/autoload.php');
\Stripe\Stripe::setApiKey("sk_test_xxxxxxxxxxxxxx");
$token = $_POST['stripeToken'];
$charge = \Stripe\Charge::create(array(
"amount" => $amount,
"currency" => "usd",
"description" => "Buy",
"source" => $token,
));
?>