Google Pay支付报OR_BIBED_10错误(Stripe渠道正式版)问题咨询
Google Pay 正式环境报 OR_BIBED_10 排查方案
OR_BIBED_10 是 Google Pay 生产环境校验拦截的通用错误码,对应支付请求配置不合法、商户资质未过审、应用身份校验失败三类问题,结合你提供的Stripe对接代码和故障出现时间点,按以下优先级排查即可:
第一优先级修正支付请求参数配置
你当前贴的代码存在两处明确不符合Stripe对接规范的问题,是触发该错误的最高频原因:Gateway字段传了自定义的_gate.GatewayTitle,Stripe对接时该字段固定值必须为stripe,任何自定义值都会被Google判定为非法网关- 冗余传入了
GatewayMerchantId字段,Stripe作为支付网关对接Google Pay时不需要该通用网关参数,额外传入且值填为Stripe公钥会直接触发参数校验失败 - 注意:正式环境必须传入生产环境的Stripe公钥,测试公钥在release签名包中调用100%触发该错误
第二优先级核对Google Pay商户控制台配置
故障自2022年3月开始出现,刚好匹配Google Pay强制要求所有生产商户完成KYC资质核验的时间节点,需要逐一核对:- 确认商户身份核验流程已全部完成,未提交资质、资质审核中的商户没有生产环境调用权限,且控制台不会给出明确的拦截提示
- 确认控制台登记的应用包名、签名证书SHA1值和线上正式分发的安装包完全一致;如果开启了Play应用签名功能,需要填写Play控制台分配的正式签名SHA1,不能填写本地签名文件的SHA1
- 确认控制台已将Stripe添加为授权支付处理方,未授权的网关发起的token化请求会被直接拦截
第三优先级核对测试环境
- 测试时必须使用官方渠道分发的正式release包,debug包、重签名包无法通过应用身份校验
- 测试设备必须安装官方正版Google Play服务,版本号不低于21.40.xx,第三方修改版Google服务框架、国行系统自行安装的兼容版服务会出现随机校验失败
修正后的请求构造参考代码
private GooglePaymentStripeRequest GetBaseStripeRequest() => new GooglePaymentStripeRequest { ApiVersion = 2, ApiVersionMinor = 0, MerchantInfo = new MerchantInfo { // MerchantName需和Google Pay控制台登记的商户名称完全一致 MerchantName = PartnerModule.Instance.Model.ApplicationName }, AllowedStripePaymentMethods = new[] { new PaymentStripeMethod { Type = "CARD", Parameters = new PaymentParameters { AllowedAuthMethods = new[] { "PAN_ONLY", "CRYPTOGRAM_3DS" }, AllowedCardNetworks = new[] { "AMEX", "DISCOVER", "MASTERCARD", "VISA" } }, TokenizationSpecification = new TokenizationStripeSpecification { Type = "PAYMENT_GATEWAY", Parameters = new TokenizationSpecificationStripeParameters { Gateway = "stripe", StripeVersion = "2.0", StripeKey = (_gate as XXX.Payment.Gates.StripeGate.Stripe).PublicApiKey } } } } };
注意:Google Pay控制台配置变更最长有48小时的缓存生效期,修改配置后不要立刻测试,等缓存过期后再验证即可。
内容的提问来源于stack exchange,提问作者quak
相关产品推荐
相关产品推荐

