• Get Started
  • Guides
    • 3D Secure
      • 3D Secure Parameters
        • Request Parameters
        • Response Parameters
      • 3D Secure Testing Guide
      • Exemption Management
      • Non-Payment Authentication
      • 3RI authentication
      • Identity Check Insights
    • Fraud Management
    • Tokenization
      • Network Tokens Test Cards
    • Card-on-File
    • Merchant Advice Code
    • Multi-Acquiring
    • Webhooks
      • Configuration
      • Payload
      • Decryption
    • Single Sign On
    • PCI DSS
    • Shop Plugins
    • Click To Pay
  • Integrations
    • COPYandPAY
      • COPYandPAY API
      • Customization
      • Advanced Options
      • Registration Tokens
      • Omni Tokens
      • Network Tokens
      • External Tokens
      • Apple Pay
      • Google Pay
      • Fast Checkout
        • PayPal
        • Amazon Pay
        • Apple Pay
        • Google Pay
      • Mobile Optimization
    • Server-to-Server
      • Registration Tokens
      • Omni Tokens
      • Network Tokens
      • External Tokens
      • Fraud Management
      • Standalone 3D Secure
      • Standalone Exemption
    • Backoffice
    • Pay By Link
      • Pay By Link API
    • MAC Control
    • Subscriptions
    • Smart Retry
    • Mobile SDK
      • First Integration
      • Set Up Your Server
      • Ready-to-Use UI
        • Payment Buttons
        • UI Customization
        • Internationalization
        • Advanced Options
        • Asynchronous Payments
        • Tokenization
        • Card scanning
      • SDK & Your Own UI
        • Asynchronous payments
        • Tokenization
        • Bin detection
      • Brand configurations
        • Afterpay Pacific
        • Amazon Pay
        • Apple Pay
        • Google Pay
        • Klarna Payments
        • Tamara
        • Samsung Pay
      • 3D Secure 2
      • Error Codes
    • Reporting
      • Transaction Reports
      • Settlement Reports
  • References
    • API Reference
      • Basic Payment
      • Forex
      • Authentication
      • Card Account
      • Apple Pay
      • Virtual Account
      • Bank Account
      • Token Account
      • Customer
      • Billing Address
      • Merchant Billing Address
      • Shipping Address
      • Merchant Shipping Address
      • Corporate
      • Sender
      • Recipient
      • Merchant
      • Marketplace & Cart
      • Airline
      • Lodging
      • Passenger
      • Tokenization
      • Recurring Migration
      • 3D Secure
      • Custom Parameters
      • Async Payments
      • Webhook notifications
      • Job
      • Risk
      • Point of Sale
      • Response Parameters
      • Card On File
      • Chargeback
    • Result Codes
    • Payment Methods
    • Transaction Flows
    • Regression Testing
    • Data Retention Policy
    • Release Notes
    • Accessibility Compliance
  • Support
    • COPYandPAY
    • Features
    • Going Live
    • Security Key
    • TLS
    • Enhanced Endpoint
    • Supported Browsers
    • Webhooks
    • Single Sign On
Home
Logout
DeveloperPortal


Card scanning

Our checkout UI supports camera-based card number recognition.

Card Scanning via NFC

Our checkout UI supports card scanning using NFC to extract card details from a contactless card.

This feature is enabled by default and can be disabled if needed.

By default card scan is shown in ready-to-use UI. Since version 5.2.0, you can enable or disable this option by setting boolean property cardScanButtonAvailable of OPPCheckoutSettings class.

Objective-C Swift
OPPCheckoutSettings *checkoutSettings = [[OPPCheckoutSettings alloc] init];
checkoutSettings.cardScanButtonAvailable = NO;
let checkoutSettings = OPPCheckoutSettings()
checkoutSettings.cardScanButtonAvailable = false
Java Kotlin
checkoutSettings.setCardScanningEnabled(false);
checkoutSettings.isCardScanningEnabled = false

How It Works

Store payment details during payment
  • Tap the contactless card icon in the card number input field.
  • Hold the contactless card near the device’s NFC reader.
  • Follow the on-screen instructions to complete the scan.
  • The card number and expiration date will be filled in automatically.

NOTE: This feature uses NFC to read the card number and expiration date from a contactless card and automatically populates them into the card payment form. It does not perform an EMV transaction or support card-present processing.

How It Works

Store payment details during payment

Card number and expiration date can be scanned with your phone camera, saving you from having to key in your digits manually.

  • Tap the camera icon in the card number field to scan the card.
  • For the first time the app will request access to the camera.
  • Then position your card and it will scan card number and expiration date.

You will still need to manually enter card holder and CVV code.

Integration

Follow the steps below:

  1. If you upgrading from previous version of mSDK make sure to remove OPPWAMobile-CardIO.xcframework from Frameworks folder.
  2. Provide usage descriptions in your app's Info.plist
    • NSCameraUsageDescription - set the value to be a string describing why your app needs to use the camera (e.g. "To scan credit cards."). This string will be displayed when the app initially requests permission to access the camera.
    • NSPhotoLibraryUsageDescription - Card.IO never asks for this key actually, however it's needed when uploading to App Store. Set any non-empty string, e.g. duplicate NSCameraUsageDescription description.