Cartalyst条纹包实现到laravel



我正在实现Cartalyst Stripe到我的laravel应用程序。

https://cartalyst.com/manual/stripe/2.0安装这是我的控制器代码在索引方法:

$stripe = new Stripe(env('STRIPE_API_KEY'));
$customer = $stripe->customers()->create([
'email' => Auth::user()->email,
'name' => Auth::user()->name
]);
$token = $stripe->tokens()->create([
'card' => [
'number'    => '4242424242424242',
'exp_month' => 6,
'exp_year'  => 2022,
'cvc'       => 314,
],
]);
$card = $stripe->cards()->create($customer['id'], $token['id']);
$charge = $stripe->charges()->create([
'customer' => $customer['id'],
'currency' => Session::get('appcurrency'),
'amount' => Session::get('total_payment'),
'statement_descriptor' => 'Descriptor.com'
]);

我将使用这个引导表单来收集用户信息,所以我稍后将通过$request传递所有用户输入(之后将有月份和年份用于过期,但现在不重要):

<form action="{{  LaravelLocalization::localizeURL('/order-final') }}" method="post">
@csrf
@method('post')

<div class="section">
<div class="container mt-5">
<div class="row">
<div class="col-lg-3"></div>
<div class="col-lg-6"><label>Card number:</label><input type="text" class="form-control" name="card_number" placeholder="Card number" value=""></div>
</div>
<div class="row">        
<div class="col-sm-3"></div>
<div class="col-sm-3 mt-5"><label>Expiration:</label><input type="text" class="form-control" name="expiration_date" placeholder="Expiration"></div>
<div class="col-sm-3 mt-5"><label>CVC:</label><input type="text" class="form-control" name="cvc" placeholder=" CVC"></div>
<div class="col-sm-2"></div>
</div>
<div class="row">
<div class="col-lg-5"></div>
<div class="col-lg-4 mt-5"><button type="submit" class="btn btn-primary" id="card-button">Pay</button></div>
<div class="col-lg-4"></div>
</div>
</form>

所以,一旦我使这个测试收费,一切都工作得很好,所以实现是成功的。我只是想弄清楚,如何处理卡哪里是3D安全所需,因为我想使3D安全所需的所有付款,特别是从SCA国家。我试着用支付意图和设置意图这样做,但我不知道。我想让客户填写卡的详细信息,然后它应该被重定向到条纹3D安全页面,然后重定向回一些url。在支付意图是参数return_url,但我不知道如何设置它。以前从来没有做过条纹。我现在可以使用没有3D安全的条纹,这是可以的,但我想使用3D安全。我尝试使用Stripe的形式与Stripe.js:

<div id="card-element">

但是它总是弄乱我的bootstrap 5代码,所以重定向将是好的。我还考虑过条带计费门户选项,并将客户直接重定向到条带计费门户。另外,我想使用客户的条带卡,这也可以,只是有3D安全问题。所以我只需要触发Stripe SCA重定向进行身份验证。你能帮我一下吗?谢谢你。

您可能需要向catalyst寻求更详细的支持,但在高层次上,它似乎主要充当底层stripe-php包(github)的薄包装器。

为了正确支持SCA/3D安全,您需要阅读有关从收费迁移到支付意图的内容,或者阅读接受支付指南。

虽然可以使用return_url进行手动3DS重定向处理,但不建议这样做。使用Stripe.js客户端助手confirmCardPayment(指导步骤)可能会带来更好的集成体验。

最新更新