Get authentication
Có thể sử dụng API này đế lấy kết quả xác thực và dựa vào trạng thái xác thực 3DS để quyết định có tiếp tục thực hiện thanh toán giao dịch hay không.
EndPoint
POST /credit-card/enrollment/validate/:authenticationId
Header Params
| Tham số | Yêu cầu | Kiểu dữ liệu | Mô tả | Lưu ý |
|---|---|---|---|---|
| X-APPOTAPAY-AUTH | required | String | Cách tạo JWT_TOKEN | |
| Content-Type | required | String | Giá trị: application/json | |
| X-Request-ID | optional | String | Định dạng UUIDv4. Request ID để kiểm tra yêu cầu khi xảy ra sự cố | max:42 |
| Language | optional | String | Giá trị vi hoặc en tương ứng với link thanh toán sẽ là tiếng việt hoặc tiếng anh, (mặc định: vi) | in:vi,en |
| X-Account-Ref-ID | optional | String | Mã định danh của tài khoản Sub account do AppotaPay cung cấp. Bắt buộc truyền khi thanh toán giao dịch của Sub account loại owner |
{
"X-APPOTAPAY-AUTH": "JWT_TOKEN",
"Content-Type": "application/json",
"X-Request-ID": "Your_Unique_id",
"Language": "vi",
"X-Account-Ref-ID": "9723f73b-9295-4acb-884b-ab6310c2e653"
}
Request Params
| Tham số | Yêu cầu | Kiểu d ữ liệu | Mô tả | Lưu ý |
|---|---|---|---|---|
| authenticationId | required | String | authenticationId lấy từ URL query khi người dùng được điều hướng về trang của Merchant |
Response Params
{
"authenticationId": "01HQHR9W32E2RDSF6KM51PSJ92",
"merchantRefId": "HJ1OsUcDI",
"status": "PENDING",
"amount": 1000000,
"currency": "VND",
"tokenId": "01hqhr8vgdw64qhqgvm2tsbpew",
"deviceDataCollectionUrl": "https://acpg.dev.appotapay.com/credit-card/authenticate?id=01HQHR9W32E2RDSF6KM51PSJ92&signature=cf6e30824b5e66e0c401701f3416e72c5b069a01c3a80a316cf9e54f9b855675",
"card": {
"number": "400000XXXXXX0010",
"expirationMonth": "12",
"expirationYear": "29",
"cardBrand": "MASTERCARD",
"cardType": "CREDIT",
"country": "VN"
}
}
Thành công
Http Status Code
200-OK
| Tham số | Kiểu dữ liệu | Mô tả | Lưu ý |
|---|---|---|---|
| authenticationId | String | Mã định danh authentication được gửi trong URL | |
| merchantRefId | String | Mã tham chiếu | Min:1 Max:40 |
| card | String | Thông tin thẻ | |
| card.number | String | Số thẻ | 16 numbers |
| card.expirationMonth | String | Tháng hết hạn của thẻ, bao gồm cả số 0 ở đầu (VD: 03) | Format: MM |
| card.expirationYear | String | Năm hết hạn của thẻ (VD.: 25) | Format: YY |
| card.type | String | Loại thẻ, gồm: CREDIT / DEBIT / PREPAID / UNKNOWN | |
| card.brand | String | Thương hiệu thẻ, gồm: VISA / MASTERCARD / JCB / AMEX | |
| card.country | String | Quốc gia phát hành thẻ, bao gồm 2 chữ cái theo bảng mã ISO 3166-2 (VD: VN, US) | |
| amount | Float | Số tiền thanh toán (VD: 1000) | Hỗ trợ VND |
| status | String | Trạng thái của xác thực có thể trả về: CARD_ENROLLED thẻ đã check enroll và chờ xác thực từ phía người dùng ENROLLMENT_CHECK_FAILED không thể check enroll do issuer hoặc card network CARD_NOT_ENROLLED thẻ chưa được enroll VERIFIED xác minh 3DS đã thành công, khi nhận trạng thái đã xác thực này, giá trị eci có thể là một trong những giá trị sau: 05, 02, 06, 01, có thể tiến hành authorization FAILED kiểm tra 3DS thất bại PENDING khi giao dịch thẻ có 3DS 2.0 hoặc phía xử lý là MIGS. Điều hướng user tới trang xác thực 3DS để tiếp tục quá trình thanh toán | |
| deviceDataCollectionUrl | String | Nếu trạng thái là CARD_ENROLLED, có thể khách hàng đến URL này để thực hiện xác thực 3DS | |
| eci | String | Electronic Commerce Indicator (ECI) mã code cho thẻ đã enroll. ECI có thông tin khi xác thực 3DS thành công hoặc thất bại: 05 hoặc 02 - Xác thực thành công, tiến hành authorization 06 hoặc 01 - Thẻ không được enroll hoặc đã bị bỏ qua do luồng frictionless, tiến hành authorization 07 hoặc 00 - Xác thực thất bại | |
| threeDsVersion | String | Phiên bản 3DS Ví dụ: -2.1.0 - 3DS 2.0 / EMV 3DS: - 1.0.2 - 3DS 1.0 |