Php 拉威尔出纳+;能否自定义订阅的附加字段
在使用带条纹的laravel出纳时,我有一个问题,您是否可以将条纹附加字段自定义为不是由条纹提供的字段。比如,如果我想自定义条带表并添加我自己的字段,这可能吗 为了进行测试,我在条带订阅迁移中添加了一个名为random_id的整数字段,当尝试进行订阅时,我将默认值设置为1,只是想看看它是否会显示在数据库中,但不会显示,所以我想知道如何使用laravel cashier实现这一点Php 拉威尔出纳+;能否自定义订阅的附加字段,php,laravel,stripe-payments,laravel-cashier,Php,Laravel,Stripe Payments,Laravel Cashier,在使用带条纹的laravel出纳时,我有一个问题,您是否可以将条纹附加字段自定义为不是由条纹提供的字段。比如,如果我想自定义条带表并添加我自己的字段,这可能吗 为了进行测试,我在条带订阅迁移中添加了一个名为random_id的整数字段,当尝试进行订阅时,我将默认值设置为1,只是想看看它是否会显示在数据库中,但不会显示,所以我想知道如何使用laravel cashier实现这一点 付款控制员 public function subscribe(Request $request) {
付款控制员
public function subscribe(Request $request)
{
$user = auth()->user();
$paymentMethod = $request->payment_method;
$planId = $request->plan;
$user->newSubscription('main', $planId)->create($paymentMethod, [
'random_id' => 1,
]);
return response([
'success_url' => redirect()->intended('/')->getTargetUrl(),
'message' => 'success'
]);
}
Payment.blade.php
@section('content')
<select name="plan" class="form-control" id="subscription-plan">
@foreach($plans as $key=>$plan)
<option value="{{$key}}">{{$plan}}</option>
@endforeach
</select>
<input placeholder="Card Holder" class="form-control" id="card-holder-name" type="text">
<!-- Stripe Elements Placeholder -->
<div id="card-element"></div>
<button class="mt-2 btn btn-sm btn-primary" id="card-button" data-secret="{{ $intent->client_secret }}">
Subscribe
</button>
@endsection
@section('js')
<script>
window.addEventListener('load', function() {
const stripe = Stripe('{{env('STRIPE_KEY')}}');
const elements = stripe.elements();
const cardElement = elements.create('card');
cardElement.mount('#card-element');
const cardHolderName = document.getElementById('card-holder-name');
const cardButton = document.getElementById('card-button');
const clientSecret = cardButton.dataset.secret;
const plan = document.getElementById('subscription-plan').value;
cardButton.addEventListener('click', async (e) => {
const { setupIntent, error } = await stripe.handleCardSetup(
clientSecret, cardElement, {
payment_method_data: {
billing_details: { name: cardHolderName.value }
}
}
);
if (error) {
// Display "error.message" to the user...
} else {
// The card has been verified successfully...
console.log('handling success', setupIntent.payment_method);
axios.post('/subscribe',{
payment_method: setupIntent.payment_method,
plan : plan
}).then((data)=>{
location.replace(data.data.success_url)
});
}
});
})
</script>
@节(“内容”)
@foreach($key=>$plan的计划)
{{$plan}
@endforeach
订阅
@端部
@节('js')
addEventListener('load',function()){
常量stripe=stripe({{env('stripe_KEY')}});
常量元素=stripe.elements();
const cardElement=elements.create('card');
挂载(“#卡元素”);
const CANDERNAME=document.getElementById('card-holder-name');
const cardButton=document.getElementById('card-button');
const clientSecret=cardButton.dataset.secret;
const plan=document.getElementById('subscription-plan')。值;
cardButton.addEventListener('click',async(e)=>{
const{setupIntent,error}=wait stripe.handleCardSetup(
clientSecret,cardElement{
付款方式数据:{
账单详细信息:{name:cardingname.value}
}
}
);
如果(错误){
//向用户显示“错误消息”。。。
}否则{
//该卡已成功验证。。。
console.log(“处理成功”,setupIntent.payment\u方法);
axios.post(“/subscribe”{
付款方式:setupIntent.payment\u方式,
计划:计划
})。然后((数据)=>{
location.replace(data.data.success\u url)
});
}
});
})