[<< Back to Modular Home](/products/modular)
# Sequence diagrams - guest card payment
### Basic card authorization
API only
Card payment using Card Payments API only.
Using:
1. [Card Payments API](/products/card-payments/)
```mermaid
sequenceDiagram
participant Browser
participant Merchant_Frontend
participant Merchant_Backend
participant Card_Payments_API
Browser->>Merchant_Frontend: Click Pay
Merchant_Frontend->>Merchant_Backend: Pay
Merchant_Backend->>Card_Payments_API: customerInitiatedTransactions request
Card_Payments_API->>Merchant_Backend: customerInitiatedTransactions response
Merchant_Backend->>Card_Payments_API: Settlement request
Card_Payments_API->>Merchant_Backend: Settlement response
```
Using Checkout SDK
Card payment via the Checkout SDK, including the creation of a verified token.
Using:
1. [Checkout SDK](/products/checkout/) - for cvc support choose `card and cvc`
2. [Verified Tokens API](/products/verified-tokens/)
3. [Card Payments API](/products/card-payments/)
```mermaid
sequenceDiagram
participant Browser
participant Merchant_Frontend
participant Merchant_Backend
participant Checkout_Sessions
participant Verified_Token_API
participant Card_Payments_API
Note over Merchant_Frontend: Checkout JS added to page
Browser->>Merchant_Frontend: Click Pay
Merchant_Frontend->>Checkout_Sessions: Create session
Checkout_Sessions->>Merchant_Frontend: Return session
Merchant_Frontend->>Merchant_Backend: Pay
Merchant_Backend->>Verified_Token_API: Verified token request
Note right of Merchant_Backend: Includes session (card session)
Verified_Token_API->>Merchant_Backend: Verified token response
Merchant_Backend->>Card_Payments_API: customerInitiatedTransactions request
Note right of Merchant_Backend: Includes token and optional cvc session
Card_Payments_API->>Merchant_Backend: customerInitiatedTransactions response
Merchant_Backend->>Card_Payments_API: Settlement request
Card_Payments_API->>Merchant_Backend: Settlement response
```
### Basic card authorization with 3DS
Card payment with 3DS authentication enabled.
API only
Using:
1. [3DS API](/products/3ds/)
2. [Card Payments API](/products/card-payments/)
```mermaid
sequenceDiagram
participant Browser
participant Merchant_Frontend
participant Merchant_Backend
participant 3DS_API
participant Card_Payments_API
participant Issuers
Browser->>Merchant_Frontend: Click Pay
Merchant_Frontend->>Merchant_Backend: Pay
Merchant_Backend->>3DS_API: deviceDataInitialization request
3DS_API->>Merchant_Backend: deviceDataInitialization response
Merchant_Backend->>Merchant_Frontend: DeviceData - BIN/JWT/URL
Merchant_Frontend->>Browser: 3DS Device Data form
Browser-->>Issuers: Form POST
Issuers-->>Browser: PostMessage: dfReferenceId
Merchant_Backend->>3DS_API: Authentication request
3DS_API->>Merchant_Backend: Authentication response
Merchant_Backend->>Merchant_Frontend: Challenge JWT/URL
Merchant_Frontend->>Browser: 3DS challenge form
Browser-->>Issuers: Form POST
Issuers-->>Merchant_Backend: `returnUrl` specified in authentication request
Note right of Merchant_Frontend: Update or close challenge window on website
Merchant_Backend->>3DS_API: Verification request
3DS_API->>Merchant_Backend: Verification response
Note right of Merchant_Frontend: Apply authentication details in payment
E.g. eci, authenticationValue etc
Merchant_Backend->>Card_Payments_API: customerInitiatedTransactions request
Card_Payments_API->>Merchant_Backend: customerInitiatedTransactions response
Merchant_Backend->>Card_Payments_API: Settlement request
Card_Payments_API->>Merchant_Backend: Settlement response
```
Using Checkout SDK (web)
Card payment via the Checkout Web SDK, including the creation of a verified token, with 3DS authentication enabled.
Using:
1. [Checkout SDK](/products/checkout/) - for cvc support choose `card and cvc`
2. [Verified Tokens API](/products/verified-tokens/)
3. [3DS API](/products/3ds/)
4. [Card Payments API](/products/card-payments/)
```mermaid
sequenceDiagram
participant Browser
participant Merchant_Frontend
participant Merchant_Backend
participant Checkout_Sessions
participant Verified_Token_API
participant 3DS_API
participant Card_Payments_API
Note over Merchant_Frontend: Checkout JS added to page
Browser->>Merchant_Frontend: Click Pay
Merchant_Frontend->>Checkout_Sessions: Create session
Checkout_Sessions->>Merchant_Frontend: Return session
Merchant_Frontend->>Merchant_Backend: Pay
Merchant_Backend->>Verified_Token_API: Verified token request
Note right of Merchant_Backend: Includes session (card session)
Verified_Token_API->>Merchant_Backend: Verified token response
Merchant_Backend->>3DS_API: deviceDataInitialization request
3DS_API->>Merchant_Backend: deviceDataInitialization response
Merchant_Backend->>Merchant_Frontend: DeviceData - BIN/JWT/URL
Merchant_Frontend->>Browser: 3DS Device Data form
Browser-->>Issuers: Form POST
Issuers-->>Browser: PostMessage: dfReferenceId
Merchant_Backend->>3DS_API: Authentication request
3DS_API->>Merchant_Backend: Authentication response
Merchant_Backend->>Merchant_Frontend: Challenge JWT/URL
Merchant_Frontend->>Browser: 3DS challenge form
Browser-->>Issuers: Form POST
Issuers-->>Merchant_Backend: `returnUrl` specified in authentication request
Note right of Merchant_Frontend: Update or close challenge window on website
Merchant_Backend->>3DS_API: Verification request
3DS_API->>Merchant_Backend: Verification response
Note right of Merchant_Frontend: Apply authentication details in payment
E.g. eci, authenticationValue etc
Merchant_Backend->>Card_Payments_API: customerInitiatedTransactions request
Note right of Merchant_Backend: Includes token, 3DS details and optional cvc session
Card_Payments_API->>Merchant_Backend: customerInitiatedTransactions response
Merchant_Backend->>Card_Payments_API: Settlement request
Card_Payments_API->>Merchant_Backend: Settlement response
```
Using Checkout SDK (iOS/Android)
Card payment via the Checkout iOS/Android SDK, including the creation of a verified token, with 3DS authentication enabled.
Using
1. [Checkout SDK](/products/checkout/) - for cvc support choose `card and cvc`
2. [Verified Tokens API](/products/verified-tokens/)
3. [3DS API](/products/3ds/)
4. [Card Payments API](/products/card-payments/)
```mermaid
sequenceDiagram
participant Merchant_App
participant Merchant_Backend
participant Checkout_Sessions
participant Verified_Token_API
participant 3DS_API
participant Card_Payments_API
Merchant_App->>Checkout_Sessions: Click Pay: Create session
Checkout_Sessions->>Merchant_App: Return session
Merchant_App->>Merchant_Backend: Pay
Merchant_Backend->>Verified_Token_API: Verified token request
Note right of Merchant_Backend: Includes session (card session)
Verified_Token_API->>Merchant_Backend: Verified token response
Merchant_Backend->>3DS_API: deviceDataInitialization request
3DS_API->>Merchant_Backend: deviceDataInitialization response
Merchant_Backend->>Merchant_App: DeviceData - JWT
Merchant_App-->>Issuers: Device app data
Note over Merchant_App: Cardinal SDK: Initialize
Issuers-->>Merchant_App: Device Data sent
Note over Merchant_App: consumerSessionId
Merchant_App->>Merchant_Backend:
Merchant_Backend->>3DS_API: Authentication request
Note over Merchant_Backend: Includes consumerSessionId
3DS_API->>Merchant_Backend: Authentication response
Merchant_Backend->>Merchant_App: Challenge - payload
Note over Merchant_App: Cardinal SDK: Display Challenge
Merchant_App-->>Issuers: Challenge data
Issuers-->>Merchant_App: Challenge complete
Merchant_App->>Merchant_Backend: Challenge complete
Merchant_Backend->>3DS_API: Verification request
3DS_API->>Merchant_Backend: Verification response
Note over Merchant_Backend: 3DS details E.g. eci etc
Merchant_Backend->>Card_Payments_API: customerInitiatedTransactions request
Note right of Merchant_Backend: Includes token, 3DS details and optional cvc session
Card_Payments_API->>Merchant_Backend: customerInitiatedTransactions response
Merchant_Backend->>Card_Payments_API: Settlement request
Card_Payments_API->>Merchant_Backend: Settlement response
```
### Basic card authorization with 3DS and FraudSight
Card payment with a FraudSight risk assessment and 3DS authentication enabled.
API only
Using:
1. [FraudSight API](/products/fraudsight/)
2. [3DS API](/products/3ds/)
3. [Card Payments API](/products/card-payments/)
```mermaid
sequenceDiagram
participant Browser
participant Merchant_Frontend
participant Merchant_Backend
participant 3DS_API
participant Card_Payments_API
participant FraudSight_API
participant Issuers
Browser->>Merchant_Frontend: Click Pay
Merchant_Frontend->>Merchant_Backend: Pay
Merchant_Backend->>FraudSight_API: Assessment request
FraudSight_API->>Merchant_Backend: Assessment response
Merchant_Backend->>3DS_API: deviceDataInitialization request
3DS_API->>Merchant_Backend: deviceDataInitialization response
Merchant_Backend->>Merchant_Frontend: DeviceData - BIN/JWT/URL
Merchant_Frontend->>Browser: 3DS Device Data form
Browser-->>Issuers: Form POST
Issuers-->>Browser: PostMessage: dfReferenceId
Merchant_Backend->>3DS_API: Authentication request
3DS_API->>Merchant_Backend: Authentication response
Merchant_Backend->>Merchant_Frontend: Challenge JWT/URL
Merchant_Frontend->>Browser: 3DS challenge form
Browser-->>Issuers: Form POST
Issuers-->>Merchant_Backend: `returnUrl` specified in authentication request
Note right of Merchant_Frontend: Update or close challenge window on website
Merchant_Backend->>3DS_API: Verification request
3DS_API->>Merchant_Backend: Verification response
Note right of Merchant_Frontend: Apply authentication details in payment
E.g. eci, authenticationValue etc
Merchant_Backend->>Card_Payments_API: customerInitiatedTransactions request
Card_Payments_API->>Merchant_Backend: customerInitiatedTransactions response
Merchant_Backend->>Card_Payments_API: Settlement request
Card_Payments_API->>Merchant_Backend: Settlement response
```
Using Checkout SDK (web)
Card payment via the Checkout Web SDK, including the creation of a verified token, with a FraudSight risk assessment and 3DS authentication enabled.
Using:
1. [Checkout SDK](/products/checkout/) - for cvc support choose `card and cvc`
2. [Verified Tokens API](/products/verified-tokens/)
3. [FraudSight API](/products/fraudsight/)
4. [3DS API](/products/3ds/)
5. [Card Payments API](/products/card-payments/)
```mermaid
sequenceDiagram
participant Browser
participant Merchant_Frontend
participant Merchant_Backend
participant Checkout_Sessions
participant Verified_Token_API
participant FraudSight_API
participant 3DS_API
participant Card_Payments_API
Note over Merchant_Frontend: Checkout JS added to page
Browser->>Merchant_Frontend: Click Pay
Merchant_Frontend->>Checkout_Sessions: Create session
Checkout_Sessions->>Merchant_Frontend: Return session
Merchant_Frontend->>Merchant_Backend: Pay
Merchant_Backend->>Verified_Token_API: Verified token request
Note right of Merchant_Backend: Includes session (card session)
Verified_Token_API->>Merchant_Backend: Verified token response
Merchant_Backend->>FraudSight_API: Assessment request
Note right of Merchant_Backend: Includes Token
FraudSight_API->>Merchant_Backend: Assessment response
Merchant_Backend->>3DS_API: deviceDataInitialization request
Note right of Merchant_Backend: Includes token
3DS_API->>Merchant_Backend: deviceDataInitialization response
Merchant_Backend->>Merchant_Frontend: DeviceData - BIN/JWT/URL
Merchant_Frontend->>Browser: 3DS Device Data form
Browser-->>Issuers: Form POST
Issuers-->>Browser: PostMessage: dfReferenceId
Merchant_Backend->>3DS_API: Authentication request
Note right of Merchant_Backend: Includes token
3DS_API->>Merchant_Backend: Authentication response
Merchant_Backend->>Merchant_Frontend: Challenge JWT/URL
Merchant_Frontend->>Browser: 3DS challenge form
Browser-->>Issuers: Form POST
Issuers-->>Merchant_Backend: `returnUrl` specified in authentication request
Note right of Merchant_Frontend: Update or close challenge window on website
Merchant_Backend->>3DS_API: Verification request
3DS_API->>Merchant_Backend: Verification response
Note right of Merchant_Frontend: Apply authentication details in payment
E.g. eci, authenticationValue etc
Merchant_Backend->>Card_Payments_API: customerInitiatedTransactions request
Note right of Merchant_Backend: Includes token, 3DS details and optional cvc session
Card_Payments_API->>Merchant_Backend: customerInitiatedTransactions response
Merchant_Backend->>Card_Payments_API: Settlement request
Card_Payments_API->>Merchant_Backend: Settlement response
```