VR SecureGo plus 图标

VR SecureGo plus SCA 数据 API

Atruvia AG · 身份

VR SecureGo plus 是 Atruvia AG 为德国 Volksbanken Raiffeisenbanken 客户提供的 Android 强客户认证配套应用。4.4.2 版本(vr 风味)是放在 VR Banking App 旁边的 pushTAN 式批准应用:客户输入激活码后,这台手机就成为确认网银转账、借记卡与信用卡扣款、Wero(EPI)授权以及 Mastercard 结账深链的设备,可用批准密码或手机生物识别。用户扫描二维码做 Comfort-Login,通过 IDnow 视频认证或德国电子身份证(NFC 在线身份证功能 / Authada)完成新客户核身,用转移码把已登记设备迁到新手机,并针对已绑定账户重置批准密码。应用仅服务德国,由当地 Volksbank 或 Raiffeisenbank 发放,而不是一家独立银行;同类竞品是 Sparkasse 的 S-pushTAN、Commerzbank photoTAN 和 Deutsche Bank 认证器。

已绑定的合作银行设备在每条 accountDevices 记录上给出 iban、bankAccountName、accountAddress、tenant 与 bankName,temporary 表示尚未完全授权。authStatus、mappedTransactionType 与 preContext 盖在 TAN 历史上,载荷类型为 amount/currency 或 ibanUnformatted。

VR-NetKey 行的报文名是 benutzerkennung,另有 alias 与 status(AUSGEGEBEN 对 GESPERRT)。新客户流程提交 vertriebskundenId、markenId 与 customerEmail 并得到 identCode;IDnow 随后返回 firstName、lastName 与 processType。银行运营台账、PSD2 审计与 eKYC 分流会消费这些字段;openData Studio 把它们变成可调用的开放数据。

应用截图

  • VR SecureGo plus 应用截图 1
  • VR SecureGo plus 应用截图 2
  • VR SecureGo plus 应用截图 3
  • VR SecureGo plus 应用截图 4
  • VR SecureGo plus 应用截图 5

API 端点一览

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

  • 签发管理令牌

    POST /v1/device-sessions osint

    为 authMediumID 标识的已登记认证介质开启管理会话,返回后续账户、卡片与交易调用所需的 status。

    认证方式: 未认证引导。JSON 体携带已登记 SCA 介质的 authMediumID。返回的令牌作为后续私有调用的 Authorization 头。

    • authMediumID
    • status
    POST /v1/device-sessions HTTP/1.1
    Content-Type: application/json
    Accept-Language: de
    
    {
      "authMediumID": "am-7f21c0"
    }
    {
      "status": "OK"
    }
  • 签发应用令牌

    POST /v1/device-sessions/app-grant osint

    为该认证介质签发 appToken,供 QR Comfort-Login、identverfahren 发起与 VR-NetKey 查询使用。

    认证方式: 未认证引导。JSON 体携带 authMediumID。返回的 appToken 作为 QR 登录、新客户核身与 VR-NetKey 调用的 appToken 头。

    • authMediumID
    • appToken
    POST /v1/device-sessions/app-grant HTTP/1.1
    Content-Type: application/json
    
    {
      "authMediumID": "am-7f21c0"
    }
    {
      "appToken": "at-9c2e1a44"
    }
  • 登记认证介质

    POST /v1/enrollments osint

    把这台 Android 手机登记为 SCA 介质,返回后续令牌与激活调用使用的 activationCode 与 authMediumID。

    认证方式: 向已有会话追加介质时携带 Authorization 管理令牌;首次登记只提交 deviceName 与 appID,无需 Authorization。

    • deviceName
    • appID
    • activationCode
    • authMediumID
    POST /v1/enrollments HTTP/1.1
    Content-Type: application/json
    Authorization: <management-token>
    
    {
      "deviceName": "Pixel 8",
      "appID": "<app-id>"
    }
    {
      "activationCode": "SG-AKT-440192",
      "authMediumID": "am-7f21c0"
    }
  • 在设备上激活账户

    POST /v1/bindings/activate openbanking

    用 activationCode 把合作银行账户绑到本机,返回 bankName 以及 temporary(未完全授权)与 isDPKAccountDevice 标志。

    认证方式: Authorization 管理令牌。请求体 activationCode 前缀选择为该账户提供服务的数据中心区域。

    • activationCode
    • temporary
    • bankName
    • isDPKAccountDevice
    POST /v1/bindings/activate HTTP/1.1
    Authorization: <management-token>
    Content-Type: application/json
    appVersion: 4.4.2
    
    {
      "activationCode": "SG-AKT-440192"
    }
    {
      "temporary": false,
      "bankName": "Volksbank Musterstadt eG",
      "isDPKAccountDevice": true
    }
  • 列出设备银行账户

    GET /v1/bindings/accounts openbanking

    返回绑定到此 SCA 设备的全部合作银行账户,含 iban、tenant、bankName 以及 temporary / hasOnlineBanking 标志。

    认证方式: 设备会话引导调用签发的 Authorization 管理令牌。

    • accountDevices
    • bankAccountName
    • accountAddress
    • iban
    • bankName
    • tenant
    • dataCenter
    • temporary
    • hasOnlineBanking
    • isDPKAccessible
    GET /v1/bindings/accounts HTTP/1.1
    Authorization: <management-token>
    Accept-Language: de
    appVersion: 4.4.2
    {
      "accountDevices": [
        {
          "bankAccountName": "Girokonto",
          "accountAddress": "DE89370400440532013000",
          "iban": "DE89370400440532013000",
          "bankName": "Volksbank Musterstadt eG",
          "tenant": "GENODEF1MUSTER",
          "dataCenter": "DATA_CENTER_1",
          "temporary": false,
          "hasOnlineBanking": true,
          "isDPKAccessible": true
        }
      ]
    }
  • TAN 批准历史

    GET /v1/approvals/history openfinance

    列出本设备已确认或拒绝的 SCA 批准,含 authStatus、mappedTransactionType 以及金额/IBAN 类型载荷(amount/currency、ibanUnformatted)。

    认证方式: Authorization 管理令牌,外加 appVersion 头(4.4.2)。

    • transactions
    • id
    • appId
    • authMethod
    • authStatus
    • phoneModel
    • preContext
    • transactionDataElements
    • metadata
    • time
    • mappedTransactionType
    • accountType
    • amount
    • currency
    • ibanUnformatted
    • code
    • message
    GET /v1/approvals/history HTTP/1.1
    Authorization: <management-token>
    appVersion: 4.4.2
    Accept-Language: de
    {
      "transactions": [
        {
          "id": "tx-4401",
          "appId": "<app-id>",
          "authMethod": "pushTAN",
          "authStatus": "AUTH_CONFIRMED",
          "phoneModel": "Pixel 8",
          "preContext": "<p>Überweisung an Muster GmbH</p>",
          "transactionDataElements": [
            {
              "type": "AMOUNT",
              "groupId": "amt",
              "de": {"title": "Betrag", "value": "250,00 EUR"},
              "en": {"title": "Amount", "value": "250.00 EUR"},
              "generalAmount": {"amount": 250.0, "currency": "EUR", "important": true}
            },
            {
              "type": "IBAN",
              "groupId": "iban",
              "generalIban": {"ibanUnformatted": "DE89370400440532013000"}
            }
          ],
          "metadata": [],
          "time": "2026-10-18T09:14:22Z",
          "mappedTransactionType": "ONLINE_BANKING",
          "accountType": "BANKING"
        }
      ],
      "code": "OK",
      "message": ""
    }
  • 列出信用卡与借记卡

    GET /v1/payment-cards openfinance

    返回绑定到本设备的 CREDITCARD 与 DEBITCARD 账户,含掩码卡号 number、issuer 与可选显示名 name。

    认证方式: Authorization 管理令牌。

    • cardAccounts
    • type
    • address
    • cards
    • number
    • issuer
    • name
    GET /v1/payment-cards?types=CREDITCARD,DEBITCARD HTTP/1.1
    Authorization: <management-token>
    Accept-Language: de
    {
      "cardAccounts": [
        {
          "type": "CREDITCARD",
          "address": "cc-addr-19",
          "cards": [
            {
              "number": "************4242",
              "issuer": "Mastercard",
              "name": "VR Gold"
            }
          ]
        }
      ]
    }
  • 列出 VR-NetKey 别名

    GET /v1/login-identities osint

    返回用于 QR Comfort-Login 的 VR-NetKey 访问标识(报文名 benutzerkennung),含 alias 与 status(ERFASST/BESTAETIGT/BESTELLT/AUSGEGEBEN/GESPERRT/GELOESCHT)。

    认证方式: Authorization 管理令牌或 appToken 头,外加扫描登录二维码得到的 qrCodeToken 头。

    • tenant
    • vrNetKeys
    • benutzerkennung
    • alias
    • status
    • dataCenter
    • errorMessage
    GET /v1/login-identities HTTP/1.1
    Authorization: <management-token>
    qrCodeToken: qr-8e21c0
    {
      "tenant": "GENODEF1MUSTER",
      "vrNetKeys": [
        {
          "benutzerkennung": "VR1234567890",
          "alias": "Online-Banking",
          "status": "AUSGEGEBEN",
          "tenant": "GENODEF1MUSTER",
          "dataCenter": "DATA_CENTER_1"
        }
      ],
      "errorMessage": null
    }
  • QR Comfort-Login 认证

    POST /v1/login-sessions/qr osint

    为所选 VR-NetKey 完成 QR Comfort-Login,返回网银会话的 isFirstLogin。

    认证方式: 应用令牌签发调用返回的 appToken 头。请求体为 VR-NetKey 列表中的 vrNetKey 与 tenant。

    • vrNetKey
    • tenant
    • isFirstLogin
    POST /v1/login-sessions/qr HTTP/1.1
    appToken: at-9c2e1a44
    Content-Type: application/json
    
    {
      "vrNetKey": "VR1234567890",
      "tenant": "GENODEF1MUSTER"
    }
    {
      "isFirstLogin": false
    }
  • 认证介质状态

    GET /v1/enrollments/{enrollmentId}/state opendata

    读取该 SCA 介质的待处理交易与更新标志,以及控制 eidentification、videoIdentification 与 showTransactionHistory 的 FeatureToggle。

    认证方式: Accept-Language 头。路径 enrollmentId 来自登记结果。此调用不带 Authorization。

    • isTransactionPending
    • shouldUpdate
    • updateMessage
    • updateTarget
    • infoMessage
    • infoButtonText
    • pendingEnrollment
    • reenrollmentPending
    • features
    • appRating
    • bankingAppAd
    • useBluetoothForDeviceTransfer
    • showTransactionHistory
    • showResetApprovalCode
    • eidentification
    • videoIdentification
    GET /v1/enrollments/am-7f21c0/state HTTP/1.1
    Accept-Language: de
    {
      "isTransactionPending": false,
      "shouldUpdate": "NO",
      "updateMessage": null,
      "updateTarget": null,
      "infoMessage": null,
      "infoButtonText": null,
      "pendingEnrollment": false,
      "reenrollmentPending": false,
      "features": {
        "appRating": true,
        "bankingAppAd": false,
        "useBluetoothForDeviceTransfer": true,
        "showTransactionHistory": true,
        "showResetApprovalCode": true,
        "eidentification": true,
        "videoIdentification": true
      }
    }
  • 申请设备转移码

    POST /v1/handover/codes osint

    签发 transferCode,以便把已登记 SCA 介质、绑定账户与支付工具迁到新手机。

    认证方式: 源设备上的 Authorization 管理令牌。

    • transferCode
    POST /v1/handover/codes HTTP/1.1
    Authorization: <management-token>
    Content-Type: application/json
    {
      "transferCode": "TR-19c4-8e21"
    }
  • 发起身份核验流程

    POST /v1/onboarding/identifications osint

    开启新客户 VIDEOIDENT 或 ONLINE_AUSWEISFUNKTION 流程,返回随后扫入或输入 IDnow / 电子身份证的 identCode。

    认证方式: appToken 头。请求体 type 为 VIDEOIDENT 或 ONLINE_AUSWEISFUNKTION,并带 tenant、markenId、vertriebskundenId 与客户联系字段。

    • type
    • vertriebskundenId
    • tenant
    • markenId
    • customerEmail
    • customerMobile
    • produktbezeichnung
    • callerId
    • identCode
    POST /v1/onboarding/identifications HTTP/1.1
    appToken: at-9c2e1a44
    Content-Type: application/json
    
    {
      "type": "VIDEOIDENT",
      "vertriebskundenId": "vk-4401",
      "tenant": "GENODEF1MUSTER",
      "markenId": "vr",
      "customerEmail": "[email protected]",
      "customerMobile": "+4915112345678",
      "produktbezeichnung": "VR-Konto",
      "callerId": "securego-plus"
    }
    {
      "identCode": "ABC-12DEF"
    }
  • 列出可用身份核验方式

    GET /v1/onboarding/tenants/{tenant}/brands/{brandId}/methods opendata

    返回该合作银行租户当前提供的核身方式(VIDEOIDENT 和/或 ONLINE_AUSWEISFUNKTION)。

    认证方式: appToken 头。路径 tenant 与 brandId(markenId)来自已绑定银行账户。

    • tenant
    • markenId
    • activeIdentverfahren
    GET /v1/onboarding/tenants/GENODEF1MUSTER/brands/vr/methods HTTP/1.1
    appToken: at-9c2e1a44
    {
      "activeIdentverfahren": [
        "VIDEOIDENT",
        "ONLINE_AUSWEISFUNKTION"
      ]
    }
  • 视频核身客户记录

    GET /v1/video-ident/{partnerCode}/cases/{caseToken} osint

    按 identCode 加载 IDnow videoIdent 客户记录:姓名、email、mobile、processType 与 status,供应用内视频会话使用。

    认证方式: 路径 partnerCode 与 caseToken(即 identCode)。无需账户凭据;案件令牌本身限定仅可访问单个视频核身会话。

    • token
    • internalToken
    • status
    • email
    • mobile
    • firstName
    • lastName
    • processType
    • preferredLang
    • redirectUrl
    • remainingInternalTokenRetries
    • waitingListEnrolled
    • waitingListNotified
    GET /v1/video-ident/vr-banking/cases/ABC-12DEF HTTP/1.1
    Accept: application/json
    {
      "token": "ABC-12DEF",
      "internalToken": "it-9f31",
      "status": "PENDING",
      "email": "[email protected]",
      "mobile": "+4915112345678",
      "firstName": "Erika",
      "lastName": "Mustermann",
      "processType": "VIDEO_IDENT",
      "preferredLang": "de",
      "redirectUrl": "https://ident.example.com/cases/ABC-12DEF",
      "remainingInternalTokenRetries": 3,
      "waitingListEnrolled": false,
      "waitingListNotified": false
    }

数据类别

  • SCA 设备
  • 银行账户
  • TAN 批准
  • 支付卡
  • VR-NetKey
  • 视频核身
  • 德国电子身份证

数据使用场景与案例

  • 合作银行 IBAN 台账

    银行运营按已登记 SCA 手机拉取 accountDevices,用 iban、tenant 与 bankName 对核心 CIF,淘汰休眠或 temporary(未完全授权)设备。

  • TAN 批准审计链

    合规以 id 与 time 保存 HistoricalTransaction,连同 authStatus、mappedTransactionType 以及 ibanUnformatted / amount / currency 载荷,作为网银与卡支付的 PSD2 SCA 证据。

  • VR-NetKey 访问号同步

    网银 IAM 从登录标识列表复制 benutzerkennung、alias 与 status,使 Comfort-Login 二维码只向匹配 tenant 出示 AUSGEGEBEN 密钥。

  • 新客户核身分流

    开户读取租户/markenId 的 activeIdentverfahren,再开启 VIDEOIDENT 或 ONLINE_AUSWEISFUNKTION 流程,把 identCode 交给 IDnow 或 Authada 电子身份证,无需二次采集 customerEmail 与 customerMobile。

常见问题

VR SecureGo plus 暴露哪些账户数据?

每台已登记设备返回 accountDevices,含 iban、bankAccountName、accountAddress、tenant、bankName、dataCenter 以及 temporary、hasOnlineBanking、isDPKAccessible。信用卡与借记卡以 cardAccounts 到达,含掩码 number、issuer 与 name。

能否读取 TAN 批准与支付明细?

可以。批准历史调用列出已处理的批准记录,含 authStatus(AUTH_CONFIRMED 或 AUTH_REJECTED)、mappedTransactionType(ONLINE_BANKING、CREDITCARDPAYMENT、EPI_CONSENT、QR_CODE_AUTH 等)、preContext、time,以及 amount/currency 与 ibanUnformatted 类型的 transactionDataElements。

这些调用如何认证?

引导调用用已登记设备的 authMediumID 换取管理令牌,作为账户、卡片与历史调用的 Authorization 头;另一个调用签发 appToken,供 QR 登录、VR-NetKey 与新客户核身调用使用。生产流量分布在两个数据中心区域(DATA_CENTER_1 与 DATA_CENTER_2),由激活码前缀决定。

这是公开的开发者 API 吗?

不是。这些是 Android SCA 配套应用在设备登记后使用的第一方接口,在此作为数据源记录,并非开放合作伙伴计划。

与 VR SecureGo plus 相似的应用

  • S-pushTAN — Star Finanz 为储蓄银行(Sparkasse)提供的配套应用,会在手机上展示订单详情,客户在储蓄银行开通 pushTAN 后即可批准转账、定期付款与证券委托。
  • Commerzbank photoTAN — 德国商业银行 photoTAN 让客户扫描网银上的马赛克图形以生成 TAN,并在电脑上输入该 TAN 前于应用内核对订单详情。
  • Deutsche Bank photoTAN — 德意志银行 photoTAN 是该行面向德国客户的网银与手机银行批准配套应用,可扫描图形获取 TAN,或用 photoTAN push 直接确认订单。
  • DB Secure Authenticator — DB Secure Authenticator 是德意志银行的双因素应用,可扫描二维码、生成一次性密码或应答挑战,供客户登录并授权交易。
  • Postbank BestSign — Postbank BestSign 是单独的网银订单授权应用,采用 BestSign 流程,主要在电脑上办理网银的客户可用密码或生物识别完成批准。
  • comdirect photoTAN App — comdirect photoTAN 会在另一台设备发起交易时推送通知,客户可在应用内核对并授权 TAN;手机离线时仍可扫描图形作为备用。
  • SpardaSecureGo+ — SpardaSecureGo+ 是各家 Sparda-Bank 的授权应用,用于信用卡付款与网银交易,在手机上直接确认而无须输入 TAN,最多可同时使用三台设备。

相关主题

  • VR SecureGo plus API
  • Volksbanken Raiffeisenbanken TAN
  • VR-NetKey
  • 德国 pushTAN
  • IDnow videoIdent
  • 德国电子身份证
  • Wero EPI
  • Atruvia SCA

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

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

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

获取报价