Полоса останавливается после завершения оплаты - PullRequest
0 голосов
/ 02 февраля 2019

На странице аккаунта вы можете нажать «Активировать категорию», и он перенаправит вас на страницу обзора, где платеж будет завершен с указанным кодом.При перенаправлении на страницу обзора кнопка показывает и все правильные данные.Однако после завершения оплаты все останавливается.Есть еще три актива, чтобы следовать как другие варианты после этого.Кроме того, я должен убедиться, что если страница обновляется после завершения, карта не будет заряжаться снова каждый раз, когда страница обновляется.Многозарядка с каждым обновлением была оригинальным началом моих проблем.Он повторял один и тот же токен, который использовался для нескольких отдельных сборов.

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 полосы нашло свое отражение, и больше ничего не происходит.Ни в моей базе, ни в полоску.Я думаю, что это связано с тем, что после завершения платежа условие isset $_POST теряется для $matchActivate после обновления страницы из платежа.

Я попытался перенаправить, указав мой ключ API в файле выше.и условие if(empty($stripeToken)) в файле перенаправления, получающем данные, и затем оно говорит, что НЕТ API-ключ чередования установлен.Я также попробовал header("Location:http://example.com").

Мне нужно сделать это еще для трех вариантов выбора, которые показаны здесь в том же файле.

Есть идеи?Любая помощь будет оценена

...