我正在使用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();
}
但是输入是空白的,无法正常工作。我有什么想法可以做到这一点吗?
答案 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>