Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.

Handle the OOB challenge

Overview

The 3DS service triggers the OOB challenge flow when a transaction is challenged and the end user has an enrolled authenticator in the issuer application.

User experience

Flow

OOB challenge flow overview - step 1.
OOB challenge flow overview - step 2.

Sequence diagram – Backend flow

The diagrams below show the end‑to‑end sequence for an OOB challenge flow.

Prerequisites

  • Card products are configured in the D1 backend and in the payment network directory server.

  • The end user and card are registered in the D1 backend .

  • An authenticator was enrolled in the device.

  • The D1 SDK is initialized.

  • The issuer application has push notifications configured.


1 – AReq/ARes and first CReq/CRes

AReq/ARes and initial CReq/CRes.

2 – CReq/CRes and OOB challenge from the issuer

CReq/CRes and OOB challenge from the issuer.

For SDK implementation details, see SDK flow.

3 – Final CReq/CRes and notification

Final CReq/CRes and notification.

Sequence diagram – SDK flow

The sequence below shows how the issuer application uses the D1 SDK to complete the OOB challenge.

1 - Issuer application fetches FIDO challenge via D1 SDK

Issuer Application fetches the FIDO challenge via the D1 SDK.

2 - D1 SDK authenticates the end user

D1 SDK authenticates the end user.

For push notifications, refer to push notification configuration.

Transaction confirmation data

The following table outlines the transaction data that the D1 SDK provides to the issuer application for display purposes.

Parameter name
Description

acsTransId

A universally unique transaction identifier that is assigned by ACS to identify a single transaction.

purchaseDate

Date and time of the purchase, expressed in UTC time format.

purchaseExponent

Minor units of currency as specified in the ISO 4217 currency exponent.

threeDSRequestorAppURL

3DS Requestor application declaring its URL within the CReq message so the authentication application can call the 3DS Requestor app after OOB authentication completes. Use this to navigate the End User back to the merchant application.

purchaseCurrency

The currency in which the purchase amount is expressed in ISO 4217 format.

merchantName

The merchant name assigned by the Acquirer or Payment Network.

purchaseAmount

The amount in minor units of currency without any decimals.

D1 SDK integration

  • Calling login is not required as a prerequisite for this use case.

  • If the issuer application does not receive a verification request via push notification, it can fetch the request by calling the D1 SDK fetchAuthnRequest API.

  • The SDK uses strong biometric authentication. If multiple biometric methods are available (for example, Face ID and fingerprint), the operating system manages the user interface.

The example below shows how the Issuer Application uses threeDSRequestorAppURL from the transaction confirmation data to return the end user to the merchant application.

Issuer backend integration

The issuer backend is notified at the end of the processing flow through the Notify 3DS Card Operation API.

Last updated

Was this helpful?