You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel PHP中通过Stripe使用已保存银行卡完成后续支付

Laravel 框架使用 Stripe 已保存银行卡完成后续支付的实现方案

前置准备

  • 确保你已经将用户的银行卡绑定到对应的 Stripe 客户(Customer)对象中,本地用户表已存储 stripe_customer_id 和对应支付方式的 payment_method_id
  • 项目已安装 Stripe PHP SDK,执行命令安装:
    composer require stripe/stripe-php
  • 已在 .env 配置文件中配置好 Stripe 密钥:
STRIPE_KEY=pk_test_xxxxxx
STRIPE_SECRET=sk_test_xxxxxx

核心实现流程

  1. 服务端初始化 Stripe 配置
\Stripe\Stripe::setApiKey(env('STRIPE_SECRET'));
  1. 读取当前用户关联的 Stripe 客户ID和待使用的已保存支付方式ID
$user = auth()->user();
$stripeCustomerId = $user->stripe_customer_id;
// 如果有多个保存的卡,让用户选择后读取对应payment_method_id即可
$paymentMethodId = $user->default_payment_method_id;
  1. 创建并确认 PaymentIntent 完成支付
try {
    $paymentIntent = \Stripe\PaymentIntent::create([
        'amount' => 9900, // 金额单位为货币最小单位,人民币为分、美元为美分
        'currency' => 'cny', // 按实际业务需求修改货币类型
        'customer' => $stripeCustomerId,
        'payment_method' => $paymentMethodId,
        'confirm' => true, // 自动确认支付
        // 非用户主动在场的自动扣费场景开启,用户主动发起支付可设为false
        'off_session' => false,
        // 触发3DS验证时的跳转回调地址
        'return_url' => route('payment.callback'),
    ]);

    // 支付成功逻辑
    if ($paymentIntent->status === 'succeeded') {
        // 处理你的业务订单逻辑
        return response()->json(['code' => 200, 'msg' => '支付成功']);
    }

    // 需要进行3DS验证的场景,返回client_secret给前端处理
    if ($paymentIntent->status === 'requires_action') {
        return response()->json([
            'code' => 300,
            'client_secret' => $paymentIntent->client_secret,
            'msg' => '需要进行身份验证'
        ]);
    }
} catch (\Stripe\Exception\CardException $e) {
    // 卡支付失败,比如余额不足、卡过期等
    return response()->json(['code' => 400, 'msg' => '支付失败:' . $e->getMessage()]);
} catch (\Exception $e) {
    // 其他系统错误处理
    return response()->json(['code' => 500, 'msg' => '系统错误']);
}

注意事项

  • 调用支付的支付方式必须已经关联到对应 Stripe 客户ID,不允许跨客户调用支付方式
  • 欧盟等要求强客户认证的地区,哪怕是已保存的银行卡也可能触发3DS验证,必须配套前端验证逻辑,调用Stripe.js根据返回的client_secret完成验证即可
  • 定期清理已过期的支付方式,避免调用无效卡发起支付

内容的提问来源于stack exchange,提问作者daxter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 07:24:04