Capital One UK 图标

Capital One UK 数据 API

Capital One (Europe) plc · 银行

Capital One UK 是 Capital One (Europe) plc 的官方 Android 应用。该公司受英国金融行为监管局(FCA)授权,依据《支付服务条例》开展支付业务,在英格兰和威尔士注册(公司编号 3879023),注册地址为诺丁汉 Station Street Trent House(NG2 3HX),面向英国信用卡客户。用户通过用户名、密码或生物识别登录后(添加第二张实体卡时还可选择以 PAN 卡号绑定卡片),首页仪表盘会显示每张卡的后四位数字、当前余额、信用额度和可用额度;当完整功能不可用时,界面会切换为仅保留关键信息的维护模式一览屏。持卡人可经 Open Banking 或 Global Payments 还款、查看 PIN、发起余额转账、管理直接借记(Direct Debit)、用驾驶证或护照加自拍在应用内完成 KYC 身份核验,并打开应用内客服聊天。该应用仅面向英国市场,在英镑信用卡日常服务方面的同业对手包括 Barclays、HSBC、Lloyds、NatWest 和 American Express。

英镑账页把每张实体卡的 balance.current.value、credit.available.value 与 credit.limit.value 并列在一起,旁边还有 obfuscatedNumber、plasticId 和 viewPinEligibility。开放银行报文则补上 consentId、thirdPartyName、权限 clusters,以及返回 redirectLocation 的 decision 写入。

PFM 与催收工具核对每一笔英镑变动并盯紧 pastDueStatus;卡运营体系消费 encryptedPinBlock 并轮询 KYC 的 identityCheckState。openData Studio 把同样的字段变成可调用的开放数据。

应用截图

  • Capital One UK 应用截图 1
  • Capital One UK 应用截图 2
  • Capital One UK 应用截图 3
  • Capital One UK 应用截图 4
  • Capital One UK 应用截图 5
  • Capital One UK 应用截图 6
  • Capital One UK 应用截图 7

API 端点一览

以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。

  • 网关访问令牌

    POST /v1/cardholder-gateway/access-token openbanking

    用移动端的授权码交换网关 access_token,供账户汇总、授权同意、查看 PIN 和 KYC 调用使用。

    认证方式: OAuth 2 授权码模式 + PKCE(S256)。表单主体 grant_type=authorization_code,携带应用公开的 client_id 与 code_verifier;身份提供方请求头用于选择登录域。返回的 access_token 在后续私有调用中以 Bearer 令牌方式发送。

    • access_token
    • expires_in
    • grant_type
    • client_id
    POST /v1/cardholder-gateway/access-token HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    Accept: application/json
    X-Identity-Provider: <idp>
    
    grant_type=authorization_code&code=AUTH_CODE&code_verifier=PKCE_VERIFIER&client_id=<client_id>&redirect_uri=https://app.example/callback
    {
      "access_token": "<access_token_jwt>",
      "expires_in": 600
    }
  • 身份认证

    POST /v1/sessions/authenticate osint

    推进英国身份登录事务,阶段完成后返回 iid 以及 access_token/tokenId。

    认证方式: 凭据类型与操作类型请求头,外加 Accept: application/json。在网关令牌交换之前,组织多步登录(密码、OTP、生物识别)。

    • authId
    • template
    • stage
    • header
    • iid
    • access_token
    • tokenId
    • callbacks
    POST /v1/sessions/authenticate HTTP/1.1
    Accept: application/json
    X-Credential-Type: PASSCODE
    X-Auth-Operation: LOGIN
    Content-Type: application/json
    
    {
      "authId": "auth-7c21",
      "template": "login",
      "stage": "passcode",
      "iid": "IID-440192"
    }
    {
      "authId": "auth-7c21",
      "template": "login",
      "stage": "success",
      "header": "session",
      "iid": "IID-440192",
      "access_token": "<access_token_jwt>",
      "tokenId": "tid-9f21"
    }
  • PAN 认证器

    POST /v1/cards/link/authenticate osint

    通过卡片认证边缘节点以 PAN 验证英国卡片,无需用户名即可绑定实体卡。

    认证方式: Accept: application/json。当客户以 PAN(字段级保护)而非用户名登录或绑卡时使用。

    • authId
    • template
    • stage
    • iid
    • tokenId
    POST /v1/cards/link/authenticate HTTP/1.1
    Accept: application/json
    Content-Type: application/json
    
    {
      "authId": "auth-pan-12",
      "template": "pan",
      "stage": "cardDetails",
      "iid": "IID-440192"
    }
    {
      "authId": "auth-pan-12",
      "template": "pan",
      "stage": "success",
      "iid": "IID-440192",
      "tokenId": "tid-pan-88"
    }
  • 账户汇总

    GET /v1/customers/{customerId}/cards openbanking

    加载客户名下每张卡:英镑当前/上期余额、可用额度与额度上限、脱敏 PAN、plasticId,以及 viewPinEligibility、pastDueStatus 等服务标志。

    认证方式: 来自 POST /v1/cardholder-gateway/access-token 的 Bearer access_token。路径中的客户标识是已登录主认证账户上的唯一客户 id。

    • accounts
    • accountUniqueId
    • productSelector
    • productType
    • productStatus
    • balance.current.value
    • balance.current.currency
    • credit.available.value
    • credit.limit.value
    • obfuscatedNumber
    • accountOpenDate
    • partnerId
    • plasticId
    • viewPinEligibility
    • pastDueStatus
    • spendSuspension
    • cardActivationState
    GET /v1/customers/CUST-1849203/cards HTTP/1.1
    Authorization: Bearer <access_token>
    Accept: application/json
    {
      "accounts": [
        {
          "accountUniqueId": "ACC-9f21c4",
          "productSelector": "PLATINUM",
          "productType": "CREDIT_CARD",
          "productStatus": "OPEN",
          "accountDetails": {
            "account": {
              "balance": {
                "current": {"value": "412.50", "currency": "GBP"},
                "previous": {"value": "388.10", "currency": "GBP"}
              },
              "credit": {
                "available": {"value": "1587.50", "currency": "GBP"},
                "limit": {"value": "2000.00", "currency": "GBP"}
              },
              "card": {
                "obfuscatedNumber": "************4412",
                "accountOpenDate": "2019-03-14",
                "partnerId": "C1UK",
                "plasticId": "PL-7781",
                "productTypes": ["CREDIT_CARD"]
              }
            },
            "accountStatuses": {
              "cardActivationState": "ACTIVATED",
              "cardState": "NORMAL",
              "eligibleForInAppSupport": true,
              "paymentPlanEligibilityStatus": true,
              "pushTransactionEligibility": "ELIGIBLE",
              "viewPinEligibility": "ELIGIBLE",
              "pastDueStatus": "CURRENT",
              "spendSuspension": []
            }
          }
        }
      ]
    }
  • 开放银行授权信息

    GET /v1/data-sharing/consent-requests openbanking

    读取 TPP 发起的开放银行 AIS/PIS 授权:thirdPartyName、权限 clusters、日期窗口,以及客户可选择的 Capital One productNumber。

    认证方式: Bearer access_token。版本请求头选择授权同意的数据结构。查询参数定位要求客户批准的那条 TPP 授权。

    • consentId
    • thirdPartyName
    • onBehalfOf
    • consentStartDate
    • consentExpiryDate
    • consentStatus
    • consentType
    • clusters
    • permissions
    • transactionStartDate
    • transactionEndDate
    • productNumber
    GET /v1/data-sharing/consent-requests?consentId=ob-consent-88 HTTP/1.1
    Authorization: Bearer <access_token>
    Accept: application/json;v=2
    {
      "consentId": "ob-consent-88",
      "thirdPartyName": "Money Dashboard",
      "onBehalfOf": "Money Dashboard Ltd",
      "consentStartDate": "2026-10-20T09:14:00Z",
      "consentExpiryDate": "2027-10-20T09:14:00Z",
      "statusUpdatedDate": "2026-10-20T09:14:00Z",
      "consentStatus": "AwaitingAuthorisation",
      "consentType": "AccountInformation",
      "clusters": [
        {
          "name": "Transactions",
          "transactionStartDate": "2025-10-20",
          "transactionEndDate": "2026-10-20",
          "permissions": ["ReadTransactionsDetail", "ReadBalances"]
        }
      ],
      "products": [
        {"productNumber": "4412"}
      ]
    }
  • 开放银行授权决定

    POST /v1/data-sharing/consent-decisions openbanking

    记录开放银行授权的 Authorise 或 Reject 决定,并返回 redirectLocation,让 TPP 完成 OAuth 重定向。

    认证方式: Bearer access_token。版本请求头选择授权同意的数据结构。主体为客户的 Authorise/Reject 决定及 selectedAccounts。

    • decision
    • selectedAccounts
    • productNumber
    • redirectLocation
    POST /v1/data-sharing/consent-decisions HTTP/1.1
    Authorization: Bearer <access_token>
    Accept: application/json;v=2
    Content-Type: application/json
    
    {
      "decision": "Authorise",
      "selectedAccounts": [{"productNumber": "4412"}]
    }
    {
      "redirectLocation": "https://tpp.example/ob/callback?code=AUTH_CODE&state=xyz"
    }
  • 开放银行授权启动

    GET /v1/data-sharing/authorization openbanking

    打开开放银行授权事务,随后驱动 GET 授权请求读取与 Authorise/Reject 写入。

    认证方式: 身份会话 Cookie 加 Accept: application/json。在客户登录后启动开放银行授权同意流程。

    • authId
    • stage
    • template
    • response_type
    • scope
    GET /v1/data-sharing/authorization?response_type=code&scope=openid HTTP/1.1
    Accept: application/json
    Cookie: session=<idp-cookie>
    X-Identity-Provider: <idp>
    {
      "authId": "ob-auth-22",
      "stage": "consent",
      "template": "open-banking"
    }
  • 查看 PIN 的 JWKS

    GET /v1/cards/pin/keys openfinance

    返回 RSA 公钥(kty、n、e、kid),应用在提交 transportPan 前用它包裹查看 PIN 的会话密钥。

    认证方式: Bearer access_token。Accept: application/json。返回的 RSA JWK 用于加密 PIN 调用上的会话密钥。

    • keys
    • kty
    • e
    • use
    • kid
    • alg
    • n
    GET /v1/cards/pin/keys HTTP/1.1
    Authorization: Bearer <access_token>
    Accept: application/json
    {
      "keys": [
        {
          "kty": "RSA",
          "e": "AQAB",
          "use": "enc",
          "kid": "pin-key-2026-10",
          "alg": "RSA-OAEP",
          "n": "<base64url-modulus>"
        }
      ]
    }
  • 加密查看 PIN

    POST /v1/cards/pin/reveal openfinance

    为有资格的卡片返回 encryptedPinBlock,使应用可用会话密钥在本地解密 PIN。

    认证方式: Bearer access_token。Accept: application/json。主体携带经 RSA 包裹的会话密钥和字段级保护的 transportPan;只有具备资格的实体卡(viewPinEligibility)才能成功。

    • session-key
    • transportPan
    • encryptedPinBlock
    POST /v1/cards/pin/reveal HTTP/1.1
    Authorization: Bearer <access_token>
    Accept: application/json
    Content-Type: application/json
    
    {
      "session-key": "<wrapped-aes-key>",
      "transportPan": "<wrapped-pan>"
    }
    {
      "encryptedPinBlock": "<wrapped-pin-block>"
    }
  • KYC 身份核验

    POST /v1/verification/identity-checks osint

    提交自拍与身份证件影像,并返回 identityCheckState(NOT_STARTED、IN_PROGRESS、SUCCESS、FAILED、BLOCKED)。

    认证方式: Bearer access_token。上传应用内相机流程拍摄的自拍以及驾驶证或护照影像。

    • selfie
    • selfieMetadata
    • identityDocuments
    • drivingLicence
    • passport
    • identityCheckState
    POST /v1/verification/identity-checks HTTP/1.1
    Authorization: Bearer <access_token>
    Content-Type: application/json
    
    {
      "selfie": "<base64-jpeg>",
      "selfieMetadata": {"captureTimestamp": "2026-10-20T09:20:00Z"},
      "identityDocuments": {
        "drivingLicence": "<base64-jpeg>",
        "passport": null
      }
    }
    {
      "identityCheckState": "IN_PROGRESS"
    }
  • KYC 核验状态

    GET /v1/verification/identity-checks/status osint

    轮询 KYC 任务,直到 identityCheckState 变为 SUCCESS、FAILED 或 BLOCKED。

    认证方式: Bearer access_token。在身份核验 POST 之后轮询,直到 identityCheckState 离开 IN_PROGRESS。

    • identityCheckState
    GET /v1/verification/identity-checks/status HTTP/1.1
    Authorization: Bearer <access_token>
    Accept: application/json
    {
      "identityCheckState": "SUCCESS"
    }
  • 生物识别开通

    POST /v1/devices/biometrics osint

    为已登录的 iid 开通设备生物识别,存储 deviceId 与 publicKey,供后续免密解锁使用。

    认证方式: 带 API 版本请求头的 Bearer access_token。将本设备的 publicKey 绑定到客户的 iid。

    • iid
    • deviceId
    • publicKey
    POST /v1/devices/biometrics HTTP/1.1
    Authorization: Bearer <access_token>
    Version: v1
    Content-Type: application/json
    
    {
      "iid": "IID-440192",
      "deviceId": "android-9f21c4",
      "publicKey": "<base64-public-key>"
    }
    {}
  • 启动卡片关联资料合并

    POST /v1/profiles/{secondaryId}/links osint

    把第二个卡片资料(secondaryUci)挂到 primaryUci 上,并返回 mergeId 供确认步骤使用。

    认证方式: 带 Channel 请求头 MOBILE 及 API 版本请求头的 Bearer access_token。主体指明将同时拥有两张实体卡的 primaryUci。

    • primaryUci
    • secondaryUci
    • mergeId
    POST /v1/profiles/SECONDARY-ID/links HTTP/1.1
    Authorization: Bearer <access_token>
    X-Channel-Type: MOBILE
    Content-Type: application/json
    Version: v1
    
    {
      "primaryUci": "UCI-1849203"
    }
    {
      "mergeId": "merge-55ab"
    }
  • 确认卡片关联资料合并

    POST /v1/profiles/{primaryId}/links/{linkId}/confirm osint

    提交资料合并,让两张实体卡都出现在主客户的账户汇总中。

    认证方式: 带 Channel 请求头 MOBILE 及 API 版本请求头的 Bearer access_token。完成在副资料上启动的合并。

    • primaryUci
    • mergeId
    • secondaryId
    POST /v1/profiles/PRIMARY-ID/links/merge-55ab/confirm HTTP/1.1
    Authorization: Bearer <access_token>
    X-Channel-Type: MOBILE
    Version: v1
    {
      "secondaryId": "UCI-SECONDARY"
    }
  • 动态界面内容加载

    POST /v1/screens/{experienceId}/render opendata

    以 id、version、initialState 和 states 的形式,加载服务端驱动的界面体验(首页、还款、服务)。

    认证方式: Bearer access_token。主体是用于个性化首页、还款与服务界面的 JSON 上下文。

    • id
    • version
    • initialState
    • initialContext
    • states
    • experienceId
    POST /v1/screens/customer-home/render HTTP/1.1
    Authorization: Bearer <access_token>
    Content-Type: application/json
    
    {
      "uci": "UCI-1849203",
      "accountUniqueId": "ACC-9f21c4"
    }
    {
      "id": "customer-home",
      "version": "2026.10",
      "initialState": "AtAGlance",
      "initialContext": {},
      "states": {
        "AtAGlance": {}
      }
    }
  • 功能开关取值判定

    POST /v1/flags/evaluate opendata

    解析每个开关的 variationKey 与 isFeatureFlagEnabled,从而按客户控制服务模式、查看 PIN 与开放银行支付。

    认证方式: 视渠道不同可不认证或使用 Bearer。主体列出面向设备/客户的 decisionFlagKeys 与 entityAttributes。

    • decideOptions
    • entityAttributes
    • decisionFlagKeys
    • flagKey
    • isFeatureFlagEnabled
    • variationKey
    • featureFlagVariables
    POST /v1/flags/evaluate HTTP/1.1
    Content-Type: application/json
    
    {
      "decideOptions": ["enabled"],
      "entityAttributes": {"platform": "android", "appVersion": "10.3.0"},
      "decisionFlagKeys": ["servicingMode", "viewPin", "openBankingPay"]
    }
    [
      {
        "flagKey": "servicingMode",
        "isFeatureFlagEnabled": false,
        "variationKey": "off",
        "featureFlagVariables": {}
      },
      {
        "flagKey": "viewPin",
        "isFeatureFlagEnabled": true,
        "variationKey": "on"
      }
    ]

数据类别

  • 余额
  • 信用额度
  • 开放银行授权
  • 卡片 PIN
  • KYC 身份核验
  • 身份信息
  • 功能开关

数据使用场景与案例

  • 英镑余额与可用额度同步

    英国的 PFM 或催收系统每晚以 accountUniqueId 和 obfuscatedNumber 为键,拉取每张实体卡的 balance.current.value、credit.available.value 和 credit.limit.value,并在 pastDueStatus 或 spendSuspension 状态翻转时发出告警。

  • 开放银行 TPP 授权受理台

    AIS/PIS 聚合平台读取 consentId、thirdPartyName、权限 clusters 和 productNumber,随后以 decision=Authorise 连同 selectedAccounts 提交,并沿 redirectLocation 跳回自有回调地址。

  • 卡运营 PIN 与 KYC 状态

    服务机器人先检查 viewPinEligibility,再针对查看 PIN 的 JWKS 包裹会话密钥,并仅在持卡人会话中保存 encryptedPinBlock;同一流程还会在驾驶证或护照影像上传后轮询 identityCheckState。

  • 家庭多卡合并

    家庭开户流程把 secondaryUci 发起的合并挂到 primaryUci 上,提交 mergeId 完成确认,然后重新加载账户汇总,让两张实体卡共享同一个 iid 和同一个仪表盘。

常见问题

账户总览返回哪些卡片字段?

每个账户都带有 accountUniqueId、productType 与 productStatus,英镑 balance.current / balance.previous,credit.available 与 credit.limit(数值加币种),脱敏的 obfuscatedNumber、plasticId、partnerId、accountOpenDate,以及 viewPinEligibility、pastDueStatus、cardActivationState、spendSuspension 等标志。

应用内如何处理开放银行授权?

通过网关 access_token 登录后,应用会加载 consentId、thirdPartyName、consentType 和权限 clusters,然后连同 selectedAccounts.productNumber 提交 decision(Authorise 或 Reject)。响应中的 redirectLocation 会把 TPP 送回其 OAuth 回调地址。

如何取回卡片 PIN?

只有 viewPinEligibility 已置位的实体卡才有资格。应用先获取 RSA JWKS(kty、n、e、kid),包裹一枚会话密钥,再提交 session-key 与 transportPan,最后在设备本地解密返回的 encryptedPinBlock。

应用如何完成客户身份验证?

英国身份登录把密码、OTP 或生物识别组织成分步事务(authId、stage、iid),可选地再对 PAN 做一次认证,然后用 authorization_code(PKCE S256)换取 access_token / expires_in。之后的私有调用都携带该 Bearer 令牌;生物识别开通则把 deviceId 和 publicKey 绑定到 iid 上。

与 Capital One UK 相似的应用

  • Barclaycard — Barclaycard 是巴克莱银行面向英国的信用卡品牌,提供消费、余额转账、积分奖励和信用建立类卡片,持卡人可在 Barclaycard 应用中查看余额与交易并偿还月账单。
  • HSBC UK Credit Cards — 汇丰英国提供余额转账、消费、积分奖励和信用建立类信用卡,其中余额转账卡最长可享 36 个月免息(手续费 3.09%),客户可在应用中预审资格并管理卡片。
  • NatWest Credit Cards — 国民西敏寺银行(NatWest)在英国提供含 0% 消费与余额转账、旅行与超市奖励以及信用建立卡的多种信用卡,网上申请约十分钟内可完成。
  • Lloyds Bank Credit Cards — 劳埃德银行在英国提供最长约 25 个月 0% 消费期的信用卡,以及带现金返还和境外消费免手续费的 Lloyds Ultra 奖励卡。
  • American Express — 美国运通在英国发行 Cashback Everyday 信用卡(先有介绍期返现,随后对首 1 万英镑消费返还 0.5%)以及 Preferred Rewards Gold,后者提供 Membership Rewards 积分和机场贵宾厅。
  • Tesco Bank Credit Cards — Tesco Bank 的 Clubcard 信用卡可在特易购及其他消费中累积 Clubcard 积分,并提供 0% 余额转账与消费优惠,手机银行应用可查询交易、银行还款并挂失卡片。
  • Aqua — Aqua 面向英国发行 Aqua Classic 等信用建立卡以及余额转账卡,起始额度约 250 至 1,500 英镑,支持 Apple Pay 与 Google Pay,并提供不影响信用记录的 SafeCheck 资格预审。
  • Vanquis — Vanquis Bank 面向年满 18 岁的英国居民发行信用建立、余额转账和消费类信用卡(Credit Builder 卡代表年利率 37.9% 浮动),同时提供储蓄和贷款。

相关主题

  • Capital One UK API
  • Capital One UK 信用卡余额
  • Capital One 开放银行授权
  • Capital One UK 查看 PIN
  • Capital One Europe plc
  • 英国信用卡可用额度
  • Capital One KYC 身份核验
  • 英镑信用卡数据 API

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价