Как настроить Php / Stripe checkout ... для нескольких продуктов на одной странице? - PullRequest
0 голосов
/ 31 декабря 2018

Так что я могу добавить Stipe checkout без проблем, и он отлично работает (для одного продукта).

<form action="/load-funds/" method="post">
  <input type='hidden' name='fund_amount' value='9600' />
  <script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
          data-key="<?php echo STRIPE_PUBLIC_KEY; ?>"
          data-description="Buy 3 Hours"
          data-amount="9600"
          data-locale="auto"
          data-label="Buy 3 Hours"
          data-name="3 Hours"           
          ></script>
</form>

Я хочу предоставить клиентам 6 вариантов загрузки средств в свою систему (3 часа, 6 часов, 9 часов и т. Д.)

Но я хочу сохранить страницу обратного вызова одинаковой для всех фондов (например, /load-funds/).

Как отличить различные типы транзакций от php-стороны?

  if (!empty($_POST['stripeToken']) && !empty($_POST['stripeEmail'])) {
  $customer = \Stripe\Customer::create([
      'email' => $email,
      'source'  => $_POST['stripeToken'],
  ]);
  $fund_amount = $_POST['fund_amount'];
  $charge = \Stripe\Charge::create([
     'customer' => $customer->id,
     'amount'   => $fund_amount,
     'currency' => 'usd'                   
  ]);
  add_funds($fund_amount);}

Я использую простую переменную (количество данных) в форме ... и она работает ... но я боюсь, что это может быть взломано.Должен быть лучший способ сделать это?Многие корзины покупок используют Stripe и имеют несколько товаров на одной странице.Однако, если я извлекаю входящие переменные ($ _POST ['stripeToken'] или $ _POST ['stripeEmail']), я не вижу ничего, что отличало бы, какой продукт был фактически куплен.

Буду признателен за любую помощь!

...