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

Laravel Vue应用集成Stripe Checkout遇SSL错误求助

解决Vue Stripe Checkout的"Insecure Host"错误

这个错误的核心原因很明确:Stripe Checkout(包括@vue-stripe/vue-stripe组件)要求必须运行在HTTPS安全环境下,不管是生产环境还是本地开发环境,HTTP协议会被判定为不安全,从而触发这个限制。下面分两种场景给你具体的解决办法:

一、本地开发环境的解决方案

1. 使用Laravel的HTTPS开发服务器

Laravel自带支持HTTPS的开发服务,你可以通过以下命令启动:

php artisan serve --ssl

默认情况下这个命令会用自签名证书,浏览器可能会提示不安全。为了让浏览器信任本地证书,你可以用mkcert工具生成本地可信证书:

  • 安装mkcert后,生成证书:mkcert localhost
  • 启动服务时指定证书文件:
php artisan serve --ssl --ssl-cert=./localhost.pem --ssl-key=./localhost-key.pem

这样你的本地应用就会通过https://localhost:8000访问,满足Stripe的安全要求。

2. 使用Ngrok将本地服务暴露为HTTPS

如果不想折腾本地证书,Ngrok可以快速把你的本地HTTP服务转换成HTTPS公网地址:

  • 安装Ngrok后,启动本地Laravel服务:php artisan serve
  • 运行Ngrok命令:ngrok http 8000
  • 复制Ngrok生成的HTTPS地址(比如https://xxxx-xx-xx-xx-xx.ngrok.io),用这个地址访问你的应用,就能正常使用Stripe Checkout了。

二、生产环境的解决方案

  1. 配置SSL证书:给你的域名安装有效的SSL证书(推荐用Let's Encrypt的免费证书),确保网站通过HTTPS访问。
  2. 更新Laravel配置:在.env文件中设置正确的HTTPS地址:
APP_URL=https://your-production-domain.com
  1. 强制HTTPS访问:可以在Laravel的app/Providers/AppServiceProvider.php中添加逻辑,强制所有请求跳转到HTTPS:
public function boot()
{
    if ($this->app->environment('production')) {
        \URL::forceScheme('https');
    }
}

三、代码优化小建议

除了环境问题,你的代码还有几个小细节可以调整:

  1. Axios请求路径:把axios.get('getSession')改成axios.get('/getSession'),避免嵌套路由下相对路径导致的请求错误。
  2. 错误处理:在getSession的catch块里添加错误日志,方便排查问题:
.catch(err => {
    console.error('获取Stripe Session失败:', err);
});
  1. SessionId加载状态:添加加载状态,避免用户在sessionId未获取到的时候点击支付按钮:
<template>
  <div class="py-8 flex justify-center">
    <stripe-checkout ref="checkoutRef" mode="payment" :pk="publishableKey" :sessionId="sessionId" />
    <button 
      class="bg-blue-500 px-2 py-1 rounded text-white" 
      @click="submit"
      :disabled="!sessionId"
    >
      {{ sessionId ? 'Pay now!' : 'Loading...' }}
    </button>
  </div>
</template>

这样调整后,你的Stripe Checkout应该就能正常工作了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 19:52:42