Php 拉威尔出纳+;能否自定义订阅的附加字段

Php 拉威尔出纳+;能否自定义订阅的附加字段,php,laravel,stripe-payments,laravel-cashier,Php,Laravel,Stripe Payments,Laravel Cashier,在使用带条纹的laravel出纳时,我有一个问题,您是否可以将条纹附加字段自定义为不是由条纹提供的字段。比如,如果我想自定义条带表并添加我自己的字段,这可能吗 为了进行测试,我在条带订阅迁移中添加了一个名为random_id的整数字段,当尝试进行订阅时,我将默认值设置为1,只是想看看它是否会显示在数据库中,但不会显示,所以我想知道如何使用laravel cashier实现这一点 付款控制员 public function subscribe(Request $request) {

在使用带条纹的laravel出纳时,我有一个问题,您是否可以将条纹附加字段自定义为不是由条纹提供的字段。比如,如果我想自定义条带表并添加我自己的字段,这可能吗

为了进行测试,我在条带订阅迁移中添加了一个名为random_id的整数字段,当尝试进行订阅时,我将默认值设置为1,只是想看看它是否会显示在数据库中,但不会显示,所以我想知道如何使用laravel cashier实现这一点


付款控制员

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