1. Management
Vrtx Docs
  • Welcome đź‘‹
  • Get Started
  • Auth
    • Token
      POST
  • Onboarding
    • Start onboarding
      POST
    • Verify onboarding OTP
      POST
    • Resend onboarding OTP
      POST
    • Get session status
      GET
    • Initiate Nafath
      POST
    • Cancels session
      POST
    • Complete customer info
      POST
  • Wallet
    • Change mobile number from profile settings
      • Change mobile number
      • Verify mobile number change OTP
      • Get mobile change status
    • Change mobile number from login screen
      • Change mobile number
      • Verify mobile number change OTP
      • Initiate Nafath
      • Get mobile number change status
  • Payouts
    • Create payout
      POST
    • Get payout status
      GET
    • Create bulk payout
      POST
    • Get bulk payout status
      GET
    • Get batch report
      GET
  • Cards
    • Issuance
      • Replace card
      • Verify replace card OTP
      • Issue card
      • Get card issuance
      • Complete card issuance
      • Verify card issuance OTP
      • Convert virtual to physical
      • Verify card conversion OTP
    • Management
      • Get card
        GET
      • Change card status
        PATCH
      • Set or update card PIN
        POST
      • Verify card PIN OTP
        POST
      • Activate physical card
        POST
      • Verify activation OTP
        POST
      • Display sensitive data
        POST
      • Verify display sensitive data OTP
        POST
  • Transactions
    • Business Accounts
      • Get business account balance
      • Get transaction details
      • List business transactions
    • Wallet Accounts
      • Get wallet balance
      • List wallet transactions
  • cards
  • cards
    • Initiate card replacement
    • Verify OTP and complete card replacement
Open-Loop-v2
Closed-loop V2Card Simulatoropen-loop-test
Open-Loop-v2
Closed-loop V2Card Simulatoropen-loop-test
  1. Management

Verify display sensitive data OTP

POST
https://api.staging.vrtx.sa/cards/sensitive-data/verify-otp
Last modified:2025-12-03 10:51:05
Verifies the OTP from the initiation flow and returns the card's sensitive data.
Response Fields:
pan - Primary Account Number (16 digits)
cvv - Card Verification Value (3 digits)
expiry - Expiry date in MM/YY format
pin - PIN digits (4 digits, optional - present when available, null when not set)
Security:
OTP must be valid and not expired
Maximum 5 invalid OTP attempts allowed
Sensitive data is retrieved from Paymentology's secure vault
Error Responses:
400 INVALID_OTP_FORMAT - OTP format is invalid (must be 4-8 digits)
400 OTP_EXPIRED - OTP has expired. Please initiate a new operation.
400 OTP_MAX_ATTEMPTS_REACHED - Maximum OTP verification attempts reached. Please initiate a new operation.
400 OTP_VERIFICATION_FAILED - OTP verification failed (generic error)
400 OTP_INVALID - Invalid OTP provided. Please try again.
404 CARD_NOT_FOUND - The card is invalid. Please use a valid card.
404 OTP_OPERATION_NOT_FOUND - The operation ID is invalid. Please use a valid operation.
412 INVALID_CARD_STATUS - The card is not ACTIVE. Only ACTIVE cards can access sensitive data.
412 OTP_OPERATION_WRONG_STATUS - OTP operation is not in correct state (already completed or failed)
503 SERVICE_UNAVAILABLE - The service is currently unavailable. Please try again later.

Request

Body Params application/jsonRequired

Examples

Responses

🟢200OK
application/json
Default Response
Body

đźź 400Bad Request
đźź 401Unauthorized
đźź 403Forbidden
đźź 404Not Found
đźź 405Method Not Allowed
đźź 409Conflict
đźź 410Gone
đźź 412Precondition Failed
đźź 422Unprocessable Entity
đźź 429Too Many Requests
đź”´500Internal Server Error
đź”´501Not Implemented
đź”´503Service Unavailable
đź”´504Gateway Timeout
đź”´505HTTP Version Not Supported
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.staging.vrtx.sa/cards/sensitive-data/verify-otp' \
--header 'Content-Type: application/json' \
--data-raw '{
    "session_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "otp": "1234"
}'
Response Response Example
200 - Example 1
{
    "pan": "string",
    "cvv": "str",
    "expiry": "string",
    "pin": "string"
}
Modified at 2025-12-03 10:51:05
Previous
Display sensitive data
Next
Get business account balance
Built with