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

如何在本地虚拟环境中配置Square PHP SDK

排查Square Payment在虚拟主机环境报错的解决方案
  • 检查虚拟主机的配置文件加载逻辑
    确认虚拟主机环境下加载的是正确的Square配置文件(包含Application ID和Location ID)。有可能你的代码是根据请求域名加载不同配置,比如仅对localhost加载正确ID,而square.dev.local触发了默认的错误配置。直接打印当前环境下的Application ID和Location ID,看是否和localhost环境一致。

  • 验证Square开发者后台的允许域名设置
    登录Square开发者后台,检查应用的Allowed Origins设置,确保square.dev.local(包括端口,如果有)已经添加到列表中。Square的部分API会验证请求的来源域名,未添加的域名可能导致权限或配置验证失败。

  • 检查虚拟主机的文件路径与缓存

    1. 确认XAMPP虚拟主机的DocumentRoot配置正确指向你的Square项目根目录,避免加载了其他目录下的旧配置文件。
    2. 清除浏览器缓存(尤其是LocalStorage和SessionStorage,因为Square可能会缓存配置信息),同时重启XAMPP的Apache服务,清除服务器端的缓存(比如PHP opcache)。
  • 核对环境切换的代码逻辑
    如果你是通过代码切换SANDBOX/PRODUCTION/CUSTOM环境,检查判断逻辑是否覆盖了square.dev.local域名。比如代码中是否仅对localhost应用了正确的环境切换,而虚拟主机域名未被匹配,导致使用了错误的环境ID。

  • 测试虚拟主机的请求头
    用浏览器开发者工具查看虚拟主机环境下的请求头,对比localhost环境的Host头和请求URL,确认没有异常。也可以直接用curl命令测试虚拟主机环境的API请求,看返回的错误细节是否更明确:

    curl -X POST https://connect.squareupsandbox.com/v2/payments -H "Host: square.dev.local" -H "Authorization: Bearer YOUR_SANDBOX_TOKEN" -d '{"amount_money":{"amount":100,"currency":"USD"},"source_id":"cnon:card-nonce-ok"}'
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 08:40:49