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

PayPal Vault集成问题:createVaultSetupToken回调提示无客户ID

PayPal Vault SetupToken 创建后报错:Cannot get vault - no customer id found in id token

我正在结账支付信息区域开发功能,让客户输入银行卡信息,以便出现市场损失时通过PayPal后续扣费。使用PayPal SDK实现卡片保存及扣费功能时,在createVaultSetupToken回调环节遇阻。

已实现的前后端逻辑

前端调用后端接口创建setup token并请求PayPal API,后端按文档传入空card对象的payment_source:

createVaultSetupToken: async (data) => {
     const result = await fetch("/PayPalExtended/setup/token", { method: "POST" })
              var jsonRes = await result.json()
              const { id } = jsonRes;
              return id;
},

请求返回201 Created并成功获取token,但PayPal SDK未触发OnApprove回调,反而抛出以下错误:

GraphQL错误日志

graphql_UpdateVaultSetupToken_error 
Object { err: "Cannot get vault - no customer id found in id token", timestamp: "1703524904796", referer: "www.sandbox.paypal.com", sdkCorrelationID: "f137663e5663e", sessionID: "sessionID", clientID: "clientID", env: "sandbox" }
card-field:40:65202

OnError回调日志

Something went wrong: Error: Cannot get vault - no customer id found in id token
 https://www.sandbox.paypal.com/smart/card-field?type=cvv&clientID=clientID&sessionID=sessionID&clientMetadataID=uid_a55f4eb2d9_mtc6mdm6ntu&cardFieldsSessionID=cardFieldsSessionID&env=sandbox&debug=false&locale.country=GB&locale.lang=en&sdkMeta=eyJ1cmwiOiJodHRwczovL3d3dy5wYXlwYWwuY29tL3Nkay9qcz9jbGllbnQtaWQ9QVFIR2Vna3lsX2RjRmdnVmoxODFOZG80cG5id3U1YmhwaFRyRFRKWXVpdXBHZlE2RVVvaWtWQjV3WTRJMXZzTi1VeldFVVFTNU5ubnVsNWgmY3VycmVuY3k9VVNEJmludGVudD1hdXRob3JpemUmY29tbWl0PWZhbHNlJnZhdWx0PXRydWUmZGVidWc9ZmFsc2UmY29tcG9uZW50cz1idXR0b25zLGNhcmQtZmllbGRzIiwiYXR0cnMiOnsiZGF0YS1wYXJ0bmVyLWF0dHJpYnV0aW9uLWlkIjoiTm9wQ29tbWVyY2VfUFBDUCIsImRhdGEtdWlkIjoidWlkX3pqdnRodHZsZmFxaW9udGdhcGxyeHl1bnpsemp6cyJ9fQ&disable-card=&currency=USD&intent=authorize&commit=false&vault=true&sdkCorrelationID=f137663e5663e:40

测试信息

  • 使用的高级结账测试卡:
Number: 2223000048400011
date: 11/25
CCV:123
Name:  Mark Thomas
  • 后端API返回结果:
{
  "jsonRes ": {
    "id": "2DV308********",
    "payment_source": {
      "Card": null,
      "Token": null
    },
    "customer": {
      "id": "uCEH******"
    },
    "status": "CREATED"
  }
}
  • 引入的PayPal脚本地址:
https://www.paypal.com/sdk/js?client-id=clientId&currency=USD&intent=authorize&commit=false&vault=true&debug=false&components=buttons,card-fields" data-partner-attribution-id="NopCommerce_PPCP" data-page-type="checkout" data-user-id-token="data-user-id"

已尝试的解决方案

  • 硬编码卡片信息
  • 添加账单地址
  • 更换测试卡
  • 修改脚本参数

以上尝试均未解决问题。

*注:因采用电汇支付,可能出现失败或客户取消交易,需从客户卡中扣除损失金额。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 06:40:37