VR SecureGo plus SCA 数据 API
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 把它们变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
签发管理令牌
POST
/v1/device-sessionsosint为 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-grantosint为该认证介质签发 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/enrollmentsosint把这台 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/activateopenbanking用 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/accountsopenbanking返回绑定到此 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/historyopenfinance列出本设备已确认或拒绝的 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-cardsopenfinance返回绑定到本设备的 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-identitiesosint返回用于 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/qrosint为所选 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}/stateopendata读取该 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/codesosint签发 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/identificationsosint开启新客户 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}/methodsopendata返回该合作银行租户当前提供的核身方式(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
- 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 天交付
- 验收通过后才付款
- 仅在授权范围内作业