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

如何通过Google Pay JS API提供网关公钥以解密生成的Token?

Google Pay集成问题解答

1. 什么是「Wallet Request」?

就是你通过Google Pay JavaScript API向Google发起的支付请求结构体,里面包含了Google处理支付所需的所有核心配置(比如支持的卡组织、验证方式、网关信息等)。Google会基于这个请求加密支付数据,并生成对应的Token返回给你。

2. 如何配置网关公钥解决「fluidData.value」无效问题?

你当前的tokenizationSpecification缺少网关公钥参数,这就是网关无法解密Token、提示INVALID_DATA的核心原因。

操作步骤:

  1. 从CyberSource后台获取你的网关RSA公钥(通常是PEM格式)
  2. 去掉公钥首尾的-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY-----标识,把多行内容合并成一行
  3. 在tokenizationSpecification.parameters中添加gatewayPublicKey参数

修改后的代码示例:

const tokenizationSpecification = {
  type: 'PAYMENT_GATEWAY',
  parameters: {
      'gateway': 'cybersource',
      'gatewayMerchantId': '*********',
      'gatewayPublicKey': 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...' // 替换成你的公钥内容
   }
}

Google会用这个公钥加密支付数据,网关侧用对应的私钥解密,即可解决Token解析失败的问题。

3. 完整的Wallet Request配置示例

Wallet Request对应JS API中的paymentDataRequest,需要整合所有必要配置:

const baseRequest = {
  apiVersion: 2,
  apiVersionMinor: 0
};

const allowedCardNetworks = ["MASTERCARD", "VISA"];

const allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];

const tokenizationSpecification = {
  type: 'PAYMENT_GATEWAY',
  parameters: {
      'gateway': 'cybersource',
      'gatewayMerchantId': '*********',
      'gatewayPublicKey': '你的公钥内容'
   }
};

const baseCardPaymentMethod = {
  type: 'CARD',
  parameters: {
    allowedAuthMethods: allowedCardAuthMethods,
    allowedCardNetworks: allowedCardNetworks
  }
};

const cardPaymentMethod = {
  ...baseCardPaymentMethod,
  tokenizationSpecification: tokenizationSpecification
};

// 最终的Wallet Request
const paymentDataRequest = {
  ...baseRequest,
  allowedPaymentMethods: [cardPaymentMethod],
  transactionInfo: {
    totalPriceStatus: 'FINAL',
    totalPrice: '10.00',
    currencyCode: 'USD' // 根据业务调整货币代码
  }
};

之后你可以用这个paymentDataRequest调用paymentsClient.loadPaymentData(paymentDataRequest)发起支付请求。

额外检查点

  • 确保公钥和网关侧的私钥完全配对,不要用错商户的密钥
  • 公钥必须是纯Base64编码格式,不能有多余的换行或空格
  • 确认网关侧的解密逻辑使用RSA-OAEP算法(Google Pay默认加密方式)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 06:35:04