将隐藏输入添加到 Stripe 表单以用作 post 变量

Adding hidden inputs to the Stripe form to use as post variables

我正在使用条纹:

<form action="/design/charge" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="DATA KEY"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-name="DATA NAME"
data-description="DATA DESC"
data-amount="{{ $itemPrice }}"
</script>

{{ Form::hidden('canvas-size', 1) }}

</form>

这是可行的,但我还希望能够保存有关用户正在购买的商品的数据,并在收费成功后进行处理。

表单发布到/charge,所以你可以看到我在表单中添加了一个隐藏的输入。

目前,我正在我的路线中直接进行测试:

Route::post('/design/charge', function()
{
  $billing = App::make('Motivate\Billing\BillingInterface');
  $transaction = $billing->charge([
    'email' => Input::get('email'),
    'token' => Input::get('stripeToken')
  ]);

  $item = new Item;
  $item->canvas_size = Input::get('canvas-size');
  $item->save();
}

但是输入是空白的,无法正常工作。我有什么想法可以做到这一点吗?

因为它是隐藏文件,并且您的脚本代码在 it.that 导致问题之前就已经出现了。

所以

只需将您的 {{ Form::hidden('canvas-size', 1) }} 代码放在 script 代码之前即可。谢谢。

像这样:-

<form action="/design/charge" method="POST">
{{ Form::hidden('canvas-size', 1) }}
<script>
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="DATA KEY"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-name="DATA NAME"
data-description="DATA DESC"
data-amount="{{ $itemPrice }}"
</script>
</form>