向Stripe表单添加隐藏的输入以用作后置变量

时间:2015-05-28 13:25:26

标签: javascript php laravel-4 stripe-payments

我正在使用Stripe:

<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>

哪个有效,但我也希望能够保存用户购买的商品数据并在收费成功后进行处理。

表单发布到/收费,因为您可以看到我已在表单的隐藏输入中添加。

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

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();
}

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

1 个答案:

答案 0 :(得分:1)

因为它的隐藏文件和您的脚本代码在它之前出现。这会导致问题。

所以

只需将{{ 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>