UseePay Open API
UseePay PortalMechant Dashboard
Product Docs
Product Docs
  • V2.0
  • V1.0
UseePay PortalMechant Dashboard
Product Docs
Product Docs
  • V2.0
  • V1.0
  1. Payement Attempt
  • Integration
    • Welcome to the UseePay Demo Page
    • Payment Product Overview
      • Hosted Checkout Integration Guide
      • Embedded Checkout Integration Guide
      • Express Checkout Integration Guide
      • Server to Server Integration Guide
    • About Payment Methods
      • Card
      • Klarna
      • Naver pay
      • Kakao Pay
      • Toss Pay
      • Payco
      • Affirm
      • Blik
      • Trustly
      • Cashapp
      • Pay with Link
      • AfterPay ClearPay
      • Pix
      • iDEAL
      • ApplePay
        • Apple Pay
        • Apple Pay Web Integration (API Integration)
      • GooglePay
        • Google Pay
        • Google Pay Web Integration (API Integration)
    • Subscription
      • Get started with Subscription
    • Online payment
      • Get started with online payments
    • Payment Capabilities
      • Adaptive Price
      • Supported Payment Methods for Checkout
    • Checkout session
      • Checkout Session Guide
  • Developer
    • Introduction
    • Authentication
    • Error code
      • last_payment_error documentation
      • Errors
    • Best Integration
      • Quickly create a paymentIntent for a subscription
      • Auto-Charge Subscription Guide
    • Payment Intents
      • Payment Intent Overview
      • Quickly create a paymentIntent
      • Create a PaymentIntent
      • Retrieve a PaymentIntent
      • Update a PaymentIntent
      • Confirm a PaymentIntent
      • Cancel a PaymentIntent
      • Capture a PaymentIntent
      • List all payment intents
    • Customers
      • Create a customer
      • Retrieves a customer
      • Update a customer
      • List all customers
    • Subscriptions
      • Create a subscription
      • Retrieves a subscription
      • Update a subscription
      • List all subscriptions
      • Cancel a subscription
    • Invoices
      • Create a invoice
      • Retrieves a invoice
      • List all invoices
      • Pay a invoice
    • Payment Methods
      • Retieve Payment Method Session
    • Mandates
      • Create a mandate
      • Retrieves a mandate
      • List all mandates
    • Refunds
      • Create a refund
      • Retrieves a refund
      • List all refunds
    • Webhooks
      • Webhook Integration Guide(version 2026-04)
      • Integration details
        • Supported Webhook Events
        • Webhook Activation/Signature Verification Steps
        • Webhook events for example
        • Dispute Webhook Integration Document
        • Difference between version 2026-04 and 2026-10-10
      • archive
        • 2024-10-10
          • Webhook Integration Guide(version 2024-10-10)
      • Create a webhook
      • Retrieves a webhook
      • Update a webhook
      • List all webhooks
    • Embedded Checkout
      • Payment Element
      • Payment Element (Deferred Intent)
      • Express Checkout Element
      • Checkout Session Element
    • About Testing
      • ApplePay&GooglePay
      • Test Cards
    • Payment Method Configuration
      • Retieve Payment Method Configuration
    • Checkout Session
      • Create Checkout Session
      • Retrieve Checkout Session
    • Trackers
      • upload trackers
      • Retrieve a tracker
    • Capture
      • Capture Overview
      • List captures by intent id
    • Payement Attempt
      • ECI Indicator (3-D Secure) Reference
      • Retrieve PaymentAttempt
        GET
    • Schemas
      • CheckoutSessionCreateRequest
      • PaymentMethod
      • CreatePaymentIntentRequest
      • LineItem
      • Customer
      • Address
      • ProductData
      • Shipping
      • SubscriptionData
      • Error
      • DiscountPeriodConfig
      • DeviceData
      • CheckoutSessionResponse
      • ErrorResponse
      • Order
      • Product
      • PaymentMethodOptions
      • RiskControlOptions
      • Mandate
      • PaymentIntent
      • Billing
      • Card
      • AliPay
      • Wallet
      • Klarna
      • WechatPay
      • Refund
      • Subscription
      • Recurring
      • PriceData
      • SubscriptionItem
      • Invoice
      • NextAction
      • Webhook
      • CollectableOptions
      • PaymentLink
      • last_payment_error
      • discount_period_config
      • Capture
      • three_ds
  • Reconciliation
    • SFTP Access for Reconciliation
  • Message
    • Messaging Element
  • FAQ
    • Unable to receive Webhook notifications
    • FAQ
    • Introduction
  1. Payement Attempt

ECI Indicator (3-D Secure) Reference

Field: three_ds.eci_indicator
Type: String (2-digit numeric, leading zero must be preserved)
Description: The Electronic Commerce Indicator (ECI) is returned by the 3-D Secure authentication flow. It identifies the authentication outcome and is the primary signal used to determine whether fraud chargeback liability shifts from the merchant to the issuer (Liability Shift).

1. ECI Values#

ECI encoding differs by card network. Always map by card brand.

Visa / American Express / JCB / Discover / Diners#

ECIMeaningLiability Shift
05Fully Authenticated (cardholder authenticated by issuer)✅ Highest probability
06Attempted (issuer/cardholder not enrolled, but merchant attempted)⚠️ Conditional
07Not Authenticated / authentication failed❌ No

Mastercard#

ECIMeaningLiability Shift
02Fully Authenticated✅ Highest probability
01Attempted⚠️ Conditional
00Not Authenticated / authentication failed❌ No

2. Liability Shift Rules#

✅ Highest probability of shift (Fully Authenticated)#

Card NetworkECI
Visa / Amex / JCB / Discover / Diners05
Mastercard02

⚠️ Conditional shift (Attempted) — not guaranteed#

Card NetworkECI
Visa / Amex / JCB / Discover / Diners06
Mastercard01
Factors that affect attempted liability shift:
FactorNotes
Card typeCommercial / corporate / business cards typically do not qualify for attempted shift
Regional rulesUnder EU PSD2 SCA, "attempted" may not count as compliant authentication
Transaction typeMOTO, recurring / MIT, agent-initiated transactions are often excluded
MCC / merchant categoryHigh-risk MCCs (gambling, crypto, wire transfer, FX, stored-value, etc.) may be excluded by networks
Network rule versionVisa / Mastercard rules are updated periodically; the version in effect at the time of the transaction applies
Amex SafeKey versionSafeKey 1.0: 06 does not shift; SafeKey 2.0 / EMV 3DS 2.x: 06 generally shifts
Issuer / acquirer agreementBilateral agreements may override defaults

❌ No liability shift#

Card NetworkECI
Visa / Amex / JCB / Discover / Diners07
Mastercard00

3. Integration Examples#

Request#

For standard card 3DS, only eci_indicator is required:
{
  "payment_method": {
    "type": "card",
    "card": { "...": "..." },
    "authentication_method": {
      "type": "three_ds",
      "three_ds": {
        "eci_indicator": "05"
      }
    }
  }
}
Wallet tokenized flows (Apple Pay / Google Pay) additionally carry online_payment_cryptogram, automatically returned by the wallet. Standard card payments do not need this field.

Response#

{
  "payment_method_details": {
    "type": "card",
    "three_ds": {
      "eci_indicator": "05",
      "id": "3ds_server_xxx"
    }
  }
}
Fields:
eci_indicator: ECI value of this 3DS authentication
id: 3DS Server Transaction ID

4. Notes#

ECI must preserve the leading zero (e.g., "05", "02", "00"). Do not pass it as an integer or strip the zero.
If 3DS is not performed, simply omit eci_indicator; the transaction will be processed as non-3DS.
Even with ECI 05 / 02, liability shift is not 100% guaranteed. Final adjudication depends on network rules and the actual authorization / dispute outcome.
The issuer may downgrade the requested ECI (e.g., 05 → 06); acquirers generally do not surface this downgrade.

5. References#

EMVCo 3-D Secure Protocol Specification (authoritative source)
Visa Core Rules and Visa Product and Service Rules
Mastercard Chargeback Guide
American Express SafeKey Program Guide
JCB J/Secure Program Guide
Discover ProtectBuy Program Guide
Previous
List captures by intent id
Next
Retrieve PaymentAttempt
Built with