在帐户页面上,您可以单击“激活类别”,然后将您重定向到查看页面,在该页面上将使用所涉及的代码完成付款。在重定向到审阅页面时,将显示按钮和所有正确的数据。但是,完成付款后,一切都停止了。在此之后,还有其他三个激活作为其他选项。另外,我需要确保如果在完成页面后刷新页面,则每次页面刷新时都不会再次向卡收费。每次刷新都需要支付大量费用,这才是我遇到问题的最初开始。它回显了用于多个单独收费的相同令牌。
php位于文件顶部:
<?php
session_start();
require_once('insert.php');
require_once('stripe-php-6.28.0/init.php');
//set Stripe key
$stripe = [
"secret_key" => "sk_test_xxxx",
"publishable_key" => "pk_test_xxxx",
];
\Stripe\Stripe::setApiKey($stripe['secret_key']);
echo 'stripe key: ' . $stripe['secret_key'];//returns expected result
?>
然后在同一文件中
$matchActivate = $_POST['matchactivate'];
if(isset($matchActivate)){
?>
<form id="mactivatenow" name="mactivatenow" action="" method="post"<?php
echo htmlspecialchars($_SERVER["PHP_SELF"]);?>>
<input type="hidden" name="matchactivatenow" id="matchactivatenow"
value="true">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_xxxx"
data-amount=$pricetotal
data-name="example.com"
data-description="Category Subscription(s)"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto"
data-currency="usd"
data-billing-address="true"
data-zip-code="true"
data-label="Add Match Category ($3/monthly)"
data-panel-label="Add Match Category ($3/monthly)">
</script>
<?php
}
$session = $_SESSION['session'];
//get stripe token for add category transactions----------------
$token = $_POST['stripeToken'];
$email = $_POST['stripeEmail'];
echo 'token: ' . $token . '<br />';
echo 'email: ' . $email . '<br />';
echo 'stripe key: ' . $stripe['secret_key'];
if(empty($_POST['stripeToken'])){
exit();
echo 'NO token';
}else{
//this is where the magic should happen after completing payment.
付款后,仅回显带区号的api密钥,并且没有其他任何反应。不在我的数据库中,也没有Stripes。我认为这与付款完成后的页面有关,isset $_POST
条件在页面从付款刷新后就消失了$matchActivate
。
我已经通过在上面的文件中设置我的API密钥并在重定向文件中的if(empty($stripeToken))
条件接收到数据的情况下尝试了重定向,然后显示未设置任何条带化API密钥。我也尝试过header("Location:http://example.com")
。
对于同一文件中此处显示的一个选项,我需要对另外三个选择执行此操作。
有什么想法吗?任何帮助将不胜感激