在我的反应本机应用程序中,我正在使用条纹集成,当我尝试将卡片添加到我的 UI 时,操作表会弹出并允许用户突然输入他们的卡片详细信息,我收到错误
POST https://api.hcaptcha.com/authenticate 401 (Unauthorized)
。
响应 {"pass":false,"error-codes":["pat-missing-auth"]}
这仅发生在网络上,而不是本机应用程序上
然后查看SO,发现了类似的问题。但所有解决方案都不起作用。这个集成以前运行良好,但我升级了我的 SDK 之后我遇到了这个问题。我还升级了所有与库相关的条带,但在两个版本中,都存在此错误
仅供参考:我没有直接使用 hCaptcha,而是在 Stipe 内部使用它进行欺诈检测 https://docs.stripe.com/disputes/prevention/advanced-fraud-detection?client=react 所有付款都在进行,但是这个当我打开卡片模式时控制台中发生错误
"@stripe/react-stripe-js": "^1.10.0" --> "@stripe/react-stripe-js": "^2.7.0",
"@stripe/stripe-js": "^1.35.0", ---> "@stripe/stripe-js": "^3.3.0",
"@stripe/stripe-react-native": "~0.15.0", ---> "@stripe/stripe-react-native": "~0.35.1",
这是我加载条纹的方式
import { loadStripe as loadStripeJs } from '@stripe/stripe-js/pure';
export const loadStripe = async (hotel: Hotel) => {
const publicKey = __stripe_test_pk__;
const stripeAccount = org.stripe?.accountId
return loadStripeJs(publicKey, { stripeAccount });
};
我在遇到同样的问题时发现了这个问题(Stripe hcaptcha 401 错误)。就我而言,解决方案是转到我的 Stripe 仪表板并将我的域添加到授权付款方式域列表中:
https://dashboard.stripe.com/settings/payment_method_domains
如果使用 Apple Pay,您还需要按照 Stripe 向您显示的说明将验证文件添加到您的域。
添加域名后,hcaptcha 401问题消失了。
特别感谢 @os4m37 在评论中发表评论,指出 OP 应尝试使用官方 Stripe 快速入门重现 401 问题。在阅读他们的评论后,我尝试根据建议自己执行此操作,这就是导致我发现解决它的域授权问题的原因。