Skip to main content

3DS ACS API

This section defines the APIs that the ACS calls on the Issuer (CMS) side.

Card Information Inquiry

ACS use cardholder inquiry API to get card information from CMS (card management system).

Request (getCardInfoByCard)

No.Field NameM/OData TypeRemark
1cardNumberMData Type: String
Length: 19 characters
PAN or Card number

Response

No.NameM/OData TypeRemark
1statusCodeMData Type: String
Length: 3 characters
200 means successful
2statusReasonMData Type: String
Length: 200 characters
Error information if status is failed
3cardStatusMData Type: String
Length: 64 characters
Status of the card
4cardTokenOData Type: String
Length: 32 characters
CardToken if have
5customerIdOData Type: String
Length: 64 characters
If have
6givenNameOData Type: String
Length: 64 characters
Given name of the customer
7middleNameOData Type: String
Length: 64 characters
Middle name of the customer
8surnameOData Type: String
Length: 64 characters
Surname of the customer
9expiryDateOData Type: String
Length: 4 characters
Expiry date of the card
10emailCData Type: String
Length: 128 characters
Customer Email
11mobileNoCData Type: String
Length: 32 characters
Customer mobile number
12challengeTypeCLength: 1 character
S: SMS OTP
E: Email OTP
O: OOB
Prefer Challenge Type
13allowedTypesCData Type: String
Length: 20 character
S: SMS OTP
E: Email OTP
O: OOB
Support Challenge Type
Sample: S,E,O

SMS and Email OTP

SMS and Email OTP flow

Request

No.Field NameM/ODescriptionLengthRemark
1acsTransIdMAcs Transaction IDData Type: String
Maximum 36 characters
2customerIdOCustomer unique IDData Type: String
Maximum 32 characters
3cardTokenMCard TokenData Type: String
Length: 32 characters
4expiryDateOCard Expiry DateyyMM
5payTokenIndOBoolean
6payTokenSourceOData Type: String
Maximum 2 characters
7merchantNameMMerchant NameData Type: String
Maximum 64 characters
8purchaseAmountOPurchase Transaction AmountData Type: String
Maximum 48 characters

Example:
If the purchase amount is USD 123.45, this element will contain the value 12345
Purchase amount in minor units of currency with all punctuation removed. When used in conjunction with the Purchase Currency Exponent field, proper punctuation can be calculated.
9purchaseCurrencyOPurchase Transaction CurrencyData Type: String
Maximum 3 characters
ISO 4217 three-digit currency code
10purchaseExponentOMinor units of purchase currencyData Type: String
Maximum 1 character

Example:
• USD = 2
• Yen = 0
Minor units of currency as specified in the ISO 4217 currency exponent.
11otpTypeMAuthentication Type
Value:
S: SMS
E: Email
Data Type: String
Length: 1 characters
12purchaseDateOPurchase transaction timeData Type: StringIn UTC time
13otpMOTPData Type: String
Length: 4–6 characters

Response

HTTP 200 for successful response.

OOB (For Reference Only)

The CMS system or OOB authentication system will provide the API . And following information is only for reference.

OOB authentication flow

OOB Request

Request:

Field NameM/ODescriptionLengthRemark
1acsTransIdMAcs Transaction IDData Type: String
Maximum 36 characters
2acquirerBinOAcquirer BINData Type: String
Maximum 11 characters
3merchantIdOAcquirer Merchant IDData Type: String
Maximum 35 characters
4customerIdOCustomer unique IDData Type: String
Maximum 32 characters
5cardTokenMCardTokenData Type: String
Maximum 19 characters
6expiryDateOCard Expiry DateyyyyMMdd
7payTokenIndOBoolean
8payTokenSourceOData Type: String
Maximum 2 characters
9merchantNameMMerchant NameData Type: String
Maximum 64 characters
10purchaseAmountOPurchase Transaction AmountData Type: String
Maximum 48 characters

Example:
If the purchase amount is USD 123.45,this element will contain the value 12345
Purchase amount in minor units of currency with all punctuation removed. When used in conjunction with the Purchase Currency Exponent field, proper punctuation can be calculated.
11purchaseCurrencyOPurchase Transaction CurrencyData Type: String
Maximum 3 characters
ISO 4217 three-digit currency code
12purchaseExponentOMinor units of purchase currencyData Type: String
Maximum 1 character

Example:
• USD = 2
• Yen = 0
Minor units of currency as specified in the ISO 4217 currency exponent.
13purchaseDateOPurchase transaction timeData Type: StringIn UTC time
14callbackURLOCallback URLData Type: String
Maximum 512 characters
For automatically completion if needed.

Response:

HTTP 200 for successful response.

OOB Result Verification

Request:

No.Field NameM/OData TypeRemark
1acsTransIdMData Type: String
Length: 36 characters
Acs Transaction ID
2customerIdMData Type: String
Length:32 characters
Customer unique ID

Response:

No.Field NameM/OData TypeRemark
1acsTransIdMData Type: String
Length: 36 characters
Acs Transaction ID
2authenIndMData Type: String
Length:1 character
Y: Success
F: Fail
O: Timeout
P: Processing

Appendix A — API Request Sample (illustrative)

POST /api/v1/authorize HTTP/1.1
Authorization: Bearer eyJ...
Content-Type: application/jose+json

eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMTI4R0NNIiwia2lkIjoi...

Appendix B — Token Response Sample (illustrative)

{
"access_token": "eyJhbGciOiJFUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 360000,
"scope": "ACS"
}