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

如何检测Google Pay所使用的Adyen/Chase支付网关配置

检测Google Pay支付配置类型的方法

我方合作伙伴运营多款支持Google Pay支付的应用及遗留网站(含难以更新的遗留应用和使用Google Pay Javascript SDK的遗留站点),这些站点通过支付服务提供商(PSP)提供的信息初始化SDK,目前存在两种配置:

Adyen配置:

"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "adyen",
    "gatewayMerchantId": "YOUR_MERCHANT_ACCOUNT_NAME"
  }
}

Chase配置:

"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "chase",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}

合作伙伴会向我方发送如下Payload:

{
  "encryptedPayload": "{\"encryptedMessage\":\"dDkzUfxxxxxW/8K8\"}",
  "encryptedPaymentHeader": {
    "ephemeralPublicKey": "BCxxxx="
  },
  "signature": "MEQCIQxxxxGQbxi7rJA==",
  "protocolVersion": "ECv1"
}

问题

请问是否有办法检测该支付请求使用的是上述哪一种配置?我方已尝试以下两种方式:

  • 查找静态参数
  • 解码Payload内容

可行方案

从你提供的加密Payload本身来看,它不会直接包含SDK初始化时的gateway标识——Google Pay ECv1加密仅对支付敏感数据进行加密,不会携带配置层面的信息。可以通过以下几种方式实现检测:

1. 关联请求上下文做映射

  • 针对网站请求:维护一张域名/路径与PSP配置的对应表,后端接收Payload时,根据请求的来源域名或接口路径直接匹配对应的配置类型(比如Adyen配置的站点固定使用xxx-adyen.com域名)。
  • 针对应用请求:要求合作伙伴在发送Payload时额外添加一个极简标识字段(比如"pspType": "adyen"或"chase"),这个改动对遗留应用的影响极小,远小于更新SDK配置的成本。

2. 解密Payload后识别令牌特征

ECv1加密的Payload可以用你的商户私钥解密,解密后的明文会包含支付令牌信息,不同PSP的令牌格式有明显区别:

  • Adyen生成的令牌通常以adyenjs_作为前缀
  • Chase的令牌则符合其网关专属的格式规范(比如特定长度、前缀或结构)
    通过识别令牌的格式特征,即可判断对应的PSP配置。

3. 匹配gatewayMerchantId

如果能获取合作伙伴的gatewayMerchantId列表(Adyen的是商户账户名,Chase的是网关商户ID),解密Payload明文后可以找到gatewayMerchantId字段,直接与列表匹配即可确定配置类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 09:51:05