Chuyển tới nội dung chính

Cập nhật VCN

Quy trình

MERCHANT gọi API này để cập nhật VCN.

Thông tin API

URL: /b2b-iccp-service/api/ext/iccp/vcn-update/{vcnId}

Method: PUT

Request

Bảng tham số chính

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1request_idString(100)Id duy nhất ứng với mỗi Request từ MERCHANT sang Baokim.
2request_timeString(20)Thời gian gửi Request. Format: YYYY-MM-DD H:i:s
3master_merchant_codeString(50)Mã định danh duy nhất cho MASTER MERCHANT
4sub_merchant_codeString(50)Mã định danh duy nhất cho SUB MERCHANT
5reference_idString(50)Mã tham chiếu
6customer_nameString(255)Tên khách hàng
7expiryString(7)Ngày hết hạn trên thẻ VCN, format MM/YYYY
expiry lớn hơn tối thiểu 1 tháng so với thời gian hiện tại và max 24 tháng so với thời điểm hiện tại
8control_typeNumber1: accountControl
2: inControlRules
9account_controlObjectBắt buộc nếu control_type = 1
10in_control_rulesObjectBắt buộc nếu control_type = 2

Thông tin account_control

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1aliasStringMã unique gợi nhớ của Control
2card_limitObjectThiết lập giới hạn chung cho thẻ - trong suốt vòng đời thẻ
3monthly_limitObjectThiết lập giới hạn cho thẻ theo tháng
4daily_limitObjectThiết lập giới hạn cho thẻ theo ngày
5weekly_limitObjectThiết lập giới hạn cho thẻ theo tuần
6quarterly_limitObjectThiết lập giới hạn cho thẻ theo quý
7yearly_limitObjectThiết lập giới hạn cho thẻ theo năm
8geographiesObjectThiết lập sử dụng thẻ theo khu vực địa lý
9merchant_category_codesObjectThiết lập sử dụng thẻ theo MCC
10start_dateStringThời gian sử dụng thẻ - Bắt đầu
11end_dateStringThời gian sử dụng thẻ - Kết thúc

Thông tin account_control.card_limit

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1card_amountNumberGiá trị giao dịch
2available_balanceNumberSố dư khả dụng
readOnly -> Có giá trị thì truyền, MasterCard chỉ dùng để collect thông tin (nếu có), không dùng để validate thông tin
3authorisation_countNumberSố lượng giao dịch

Thông tin account_control.monthly_limit

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1card_amountNumberGiá trị giao dịch
2available_balanceNumberSố dư khả dụng
readOnly -> Có giá trị thì truyền, MasterCard chỉ dùng để collect thông tin (nếu có), không dùng để validate thông tin
3authorisation_countNumberSố lượng giao dịch

Thông tin account_control.daily_limit

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1card_amountNumberGiá trị giao dịch
2available_balanceNumberSố dư khả dụng
readOnly -> Có giá trị thì truyền, MasterCard chỉ dùng để collect thông tin (nếu có), không dùng để validate thông tin
3authorisation_countNumberSố lượng giao dịch

Thông tin account_control.weekly_limit

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1card_amountNumberGiá trị giao dịch
2available_balanceNumberSố dư khả dụng
readOnly -> Có giá trị thì truyền, MasterCard chỉ dùng để collect thông tin (nếu có), không dùng để validate thông tin
3authorisation_countNumberSố lượng giao dịch

Thông tin account_control.quarterly_limit

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1card_amountNumberGiá trị giao dịch
2available_balanceNumberSố dư khả dụng
readOnly -> Có giá trị thì truyền, MasterCard chỉ dùng để collect thông tin (nếu có), không dùng để validate thông tin
3authorisation_countNumberSố lượng giao dịch

Thông tin account_control.yearly_limit

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1card_amountNumberGiá trị giao dịch
2available_balanceNumberSố dư khả dụng
readOnly -> Có giá trị thì truyền, MasterCard chỉ dùng để collect thông tin (nếu có), không dùng để validate thông tin
3authorisation_countNumberSố lượng giao dịch

Thông tin account_control.geographies

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1country_codesArrayDanh sách mã quốc gia - format 3 ký tự
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin account_control.merchant_category_codes

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1mccsArrayDanh sách MCC
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1aliasStringMã unique gợi nhớ của Control
2transaction_limitsObjectThiết lập giới hạn số tiền/ mỗi giao dịch thẻ
3geographiesObjectThiết lập sử dụng thẻ theo khu vực địa lý
4velocitiesObjectThiết lập giới hạn tần suất và/hoặc tổng số tiền giao dịch thẻ trong một khoảng thời gian nhất định
5validity_periodsObjectKiểm soát thời gian hiệu lực của control
6amount_rangesObjectKiểm soát giá trị giao dịch trong khoảng min, max
7acceptor_idsObjectThiết lập kiểm soát cho phép các Merchant/Acquirer nào thẻ được phép thực hiện giao dịch
8ageing_velocitiesObjectThiết lập và kiểm soát hạn mức tín dụng khả dụng trên thẻ
9curfewsObjectThiết lập kiểm soát giao dịch thẻ theo khung giờ trong các ngày nhất định, và có thể xác định múi giờ áp dụng
10time_of_daysObjectThiết lập kiểm soát giao dịch thẻ theo trong các khung giờ cụ thể của từng ngày
11merchant_category_codesObjectThiết lập kiểm soát GD thẻ theo mã ngành nghề MCC của merchant
12merchant_namesObjectThiết lập kiểm soát GD thẻ theo tên của Merchant (ĐVi chấp nhận thẻ)
13merchant_amountsObjectThiết lập kiểm soát GD thẻ theo số tiền mỗi giao dịch trên 1 loại tiền tệ cụ thể
14transaction_environmentsObjectThiết lập kiểm soát giao dịch thẻ theo Phương thức giao dịch
15approve_controlObjectThiết lập kiểm soát GD thẻ - Toàn bộ rule thiết lập sẽ là cho approve/decline GD
16entry_modesObjectThiết lập kiểm soát GD theo loại hình thẻ

Thông tin in_control_rules.transaction_limits

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1amountFloatGiá trị giao dịch tối đa/ 1 giao dịch
Giá trị này được setup theo billing currency của RCN đã đăng ký BPC
min: 0
max: 99999999999999
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.geographies

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1country_codesArrayDanh sách mã quốc gia - format 3 ký tự
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.velocities

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1max_transNumberSố lượng giao dịch tối đa được phép giao dịch trong 1 khoảng thời gian nhất định
min: 1
max: 99999999
2cumulative_limitFloatSố tiền giao dịch cộng dồn tối đa được phép giao dịch trong 1 khoảng thời gian nhất định
Nếu truyền vào = 0 - Đồng nghĩa với
unlimited (Bỏ qua giới hạn thiết lập
này)
min: 0
max: 99999999999999
3periodStringKỳ áp dụng
- DAILY -> Hàng ngày
- WEEKLY -> Hàng tuần
- QUARTERLY -> Hàng quý
- CONTINUOUS -> Từ lúc thiết lập và ko có ngày reset đếm/cộng dồn lại (bao giờ chạm ngưỡng thì báo)
- MONTHLY -> Hàng tháng
- YEARLY -> Hàng năm
4negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.validity_periods

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1fromStringThời gian bắt đầu hiệu lực của control
2toStringThời gian kết thúc hiệu lực của control
3negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.amount_ranges

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1min_amountFloatSố tiền giao dịch tối thiểu
- min: 0
- max: 99999999999999
- min_amount < max_amount
2max_amountFloatSố tiền giao dịch tối đa
- min: 0
- max: 99999999999999
- min_amount < max_amount
3negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.acceptor_ids

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1acceptorsObjectCó thể set merchant hoặc acquire
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.acceptor_ids.acceptors

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1acceptor_idStringMã Merchant ID – định danh của đơn vị chấp nhận thẻ (merchant) nơi giao dịch diễn ra.
2acquirer_idStringMã Acquirer ID – định danh của ngân hàng/đơn vị thanh toán (acquirer) xử lý giao dịch cho merchant.

Thông tin in_control_rules.ageing_velocities

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1authorization_hold_daysNumberSố ngày hold giao dịch trên thẻ ảo để tính toán khi nào reset lại Hạn mức tín dụng đang thiết lập
min: 0
max: 9999
2cumulative_limitNumberHạn mức tổng
Nếu truyền vào = 0 - Đồng nghĩa với unlimited (Bỏ qua giới hạn thiết lập này)
min: 0
max: 99999999999999
3time_zoneStringMúi giờ áp dụng cho việc tính ngày và giờ để thực hiện unhold giao dịch để loại bỏ khỏi phần tính avaliableCredit
4negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.curfews

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1from_timeStringThời gian bắt đầu cho phép giao dịch.
2to_timeStringThời gian kết thúc cho phép giao dịch
(sau thời gian này, giao dịch bị từ chối)
3time_zoneString(3)Múi giờ áp dụng khung giờ trên
Ví dụ: UTC
4daysArrayDanh sách các ngày trong tuần áp dụng giới hạn SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY. Được truyền multi, cách nhau dấu phẩy
5negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.time_of_days

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1timesArrayDanh sách object cấu hình thời gian cho phép giao dịch
(sau thời gian này, giao dịch bị từ chối)
Có thể truyền 1 mảng các config
2time_zoneStringMúi giờ áp dụng cho khung giờ trên (fromTime-toTime)
Lưu ý default áp dụng là GMT (không phải là timezone register cho RCN)
Nên lưu ý phải truyền vào
Example: UTC
3negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Mô tả dữ liệu object bên trong in_control_rules.time_of_days.times(1)

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1from_timeStringThời gian bắt đầu cho phép giao dịch.
2to_timeStringThời gian kết thúc cho phép giao dịch
(sau thời gian này, giao dịch bị từ chối)
3daysArrayCác ngày trong tuần áp dụng giới hạn SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY. Được truyền multi, cách nhau dấu phẩy

Thông tin in_control_rules.merchant_category_codes

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1mccsArrayDanh sách MCC
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.merchant_names

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1merchant_namesArrayDanh sách merchant names (được gửi trong trường DE43 của thông điệp ủy quyền (authorization message)
Tên này phải khớp với tên trong dữ liệu thanh toán của ngân hàng (trường DE43)
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Mô tả dữ liệu bên trong in_control_rules.merchant_amounts(13)

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1valueFloatSố tiền tối đa/giao dịch theo currency_code thiết lập bên dưới
min: 0
max: 99999999999999
2currency_codeStringMã tiền tệ áp dụng theo chuẩn (ISO) 4217
Mặc định: 704
3negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.transaction_environments

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1environment_codesArrayDanh sách các phương thức giao dịch
- ATM – Giao dịch tại máy rút tiền
tự động.
- ECOM – Giao dịch thương mại
điện tử (online).
- MOTO – Mail Order/Telephone Order (đặt hàng qua thư/điện thoại, không có mặt thẻ và chủ thẻ).
- PAYPASS – Thanh toán không tiếp xúc (contactless).
- POS – Giao dịch trực tiếp tại cửa hàng (quẹt trên máy POS).
- PWCB – Mua hàng kèm rút tiền
mặt (Purchase with Cash Back).
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.approve_control

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.entry_modes

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1modeStringTruyền loại hình thẻ chấp nhận thanh toán
Default: EMV
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Ví dụ Request - control_type = 1 (AccountControl)

{
"request_id": "TT20260209163542",
"request_time": "2026-03-24 16:28:32",
"master_merchant_code": "MERCHANTCODE_MASTER",
"sub_merchant_code": "MERCHANTCODE_SUB",
"reference_id": "TT20260209163542",
"customer_name": "NGUYỄN VĂN A",
"expiry": "12/2026",
"control_type": 1,
"account_control": {
"alias": "TT20260209163542",
"card_limit": {
"card_amount": 10000000000,
"available_balance": 0,
"authorisation_count": 100
},
"daily_limit": {
"card_amount": 10000000000,
"available_balance": 10000000000,
"authorisation_count": 100
},
"weekly_limit": {
"card_amount": 10000000000,
"available_balance": 10000000000,
"authorisation_count": 100
},
"monthly_limit": {
"card_amount": 10000000000,
"available_balance": 10000000000,
"authorisation_count": 100
},
"quarterly_limit": {
"card_amount": 10000000000,
"available_balance": 10000000000,
"authorisation_count": 100
},
"yearly_limit": {
"card_amount": 10000000000,
"available_balance": 10000000000,
"authorisation_count": 100
},
"geographies": {
"country_codes": [
"704",
"840"
],
"negate": 0
},
"merchant_category_codes": {
"mccs": [
"3001",
"3005"
],
"negate": 0
},
"start_date": "2025-12-01",
"end_date": "2035-12-01"
}
}

Ví dụ Request - control_type = 2 (InControlRules)

{
"request_id": "1774414149152",
"request_time": "2026-03-25 11:49:09",
"master_merchant_code": "MASTERMERCHANTCODE",
"sub_merchant_code": "SUBMERCHANTCODE",
"reference_id": "1774414086020",
"customer_name": "NGUYỄN VĂN C",
"expiry": "12/2026",
"control_type": 2,
"in_control_rules": {
"alias": "1774414086020",
"transaction_limits": {
"amount": 10000000000,
"negate": 0
},
"geographies": {
"country_codes": [
"704",
"840"
],
"negate": 0
},
"velocities": {
"max_trans": 9999999,
"cumulative_limit": 1500,
"period": "DAILY",
"negate": 0
},
"validity_periods": {
"from": "2026-07-25 11:51:09",
"to": "2035-12-01 00:00:00",
"negate": 0
},
"amount_ranges": {
"min_amount": 0,
"max_amount": 100000000,
"negate": 0
},
"acceptor_ids": {
"acceptors": {
"acceptor_id": "126548888899997",
"acquirer_id": "1232135435"
},
"negate": 0
},
"ageing_velocities": {
"authorization_hold_days": 30,
"cumulative_limit": 0,
"time_zone": "UTC",
"negate": 0
},
"curfews": {
"from_time": "00:00",
"to_time": "23:59",
"time_zone": "UTC",
"days": [
"MONDAY",
"TUESDAY",
"WEDNESDAY"
],
"negate": 0
},
"time_of_days": {
"times": [
{
"from_time": "00:00",
"to_time": "23:59",
"days": [
"MONDAY",
"TUESDAY",
"WEDNESDAY"
]
}
],
"time_zone": "UTC",
"negate": 0
},
"merchant_category_codes": {
"mccs": [
"3001",
"3005"
],
"negate": 0
},
"merchant_names": {
"merchant_names": [
"Amazon"
],
"negate": 0
},
"merchant_amounts": {
"value": 10000000,
"currency_code": "704",
"negate": 0
},
"transaction_environments": {
"environment_codes": [
"ECOM",
"POS"
],
"negate": 0
},
"approve_control": {
"negate": 0
},
"entry_modes": {
"mode": "EMV",
"negate": 0
}
}
}

Response

Bảng tham số chính

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1codeNumber(3)Mã lỗi của Baokim
2messageString(200)Thông báo mã lỗi của Baokim
3dataObjectDữ liệu Baokim trả về

Thông tin trường data

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1reference_idStringMã tham chiếu yêu cầu tạo VCN
2vcn_idNumberID của VCN
3customer_nameStringTên khách hàng
4expiryString(7)Ngày hết hạn trên thẻ VCN, format MM/YYYY
5control_typeNumber1: accountControl
2: inControlRules
6account_controlObjectBắt buộc nếu control_type = 1
7in_control_rulesObjectBắt buộc nếu control_type = 2

Thông tin data.account_control

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1aliasStringMã unique gợi nhớ của Control
2card_limitObjectThiết lập giới hạn chung cho thẻ - trong suốt vòng đời thẻ
3monthly_limitObjectThiết lập giới hạn cho thẻ theo tháng
4daily_limitObjectThiết lập giới hạn cho thẻ theo ngày
5weekly_limitObjectThiết lập giới hạn cho thẻ theo tuần
6quarterly_limitObjectThiết lập giới hạn cho thẻ theo quý
7yearly_limitObjectThiết lập giới hạn cho thẻ theo năm
8geographiesObjectThiết lập sử dụng thẻ theo khu vực địa lý
9merchant_category_codesObjectThiết lập sử dụng thẻ theo MCC
10start_dateStringThời gian sử dụng thẻ - Bắt đầu
11end_dateStringThời gian sử dụng thẻ - Kết thúc

Thông tin account_control.card_limit

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1card_amountNumberGiá trị giao dịch
2available_balanceNumberSố dư khả dụng
readOnly -> Có giá trị thì truyền, MasterCard chỉ dùng để collect thông tin (nếu có), không dùng để validate thông tin
3authorisation_countNumberSố lượng giao dịch

Thông tin account_control.monthly_limit

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1card_amountNumberGiá trị giao dịch
2available_balanceNumberSố dư khả dụng
readOnly -> Có giá trị thì truyền, MasterCard chỉ dùng để collect thông tin (nếu có), không dùng để validate thông tin
3authorisation_countNumberSố lượng giao dịch

Thông tin account_control.daily_limit

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1card_amountNumberGiá trị giao dịch
2available_balanceNumberSố dư khả dụng
readOnly -> Có giá trị thì truyền, MasterCard chỉ dùng để collect thông tin (nếu có), không dùng để validate thông tin
3authorisation_countNumberSố lượng giao dịch

Thông tin account_control.weekly_limit

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1card_amountNumberGiá trị giao dịch
2available_balanceNumberSố dư khả dụng
readOnly -> Có giá trị thì truyền, MasterCard chỉ dùng để collect thông tin (nếu có), không dùng để validate thông tin
3authorisation_countNumberSố lượng giao dịch

Thông tin account_control.quarterly_limit

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1card_amountNumberGiá trị giao dịch
2available_balanceNumberSố dư khả dụng
readOnly -> Có giá trị thì truyền, MasterCard chỉ dùng để collect thông tin (nếu có), không dùng để validate thông tin
3authorisation_countNumberSố lượng giao dịch

Thông tin account_control.yearly_limit

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1card_amountNumberGiá trị giao dịch
2available_balanceNumberSố dư khả dụng
readOnly -> Có giá trị thì truyền, MasterCard chỉ dùng để collect thông tin (nếu có), không dùng để validate thông tin
3authorisation_countNumberSố lượng giao dịch

Thông tin account_control.geographies

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1country_codesArrayDanh sách mã quốc gia - format 3 ký tự
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin account_control.merchant_category_codes

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1mccsArrayDanh sách MCC
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin data.in_control_rules

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1aliasStringMã unique gợi nhớ của Control
2transaction_limitsObjectThiết lập giới hạn số tiền/ mỗi giao dịch thẻ
3geographiesObjectThiết lập sử dụng thẻ theo khu vực địa lý
4velocitiesObjectThiết lập giới hạn tần suất và/hoặc tổng số tiền giao dịch thẻ trong một khoảng thời gian nhất định
5validity_periodsObjectKiểm soát thời gian hiệu lực của control
6amount_rangesObjectKiểm soát giá trị giao dịch trong khoảng min, max
7acceptor_idsObjectThiết lập kiểm soát cho phép các Merchant/Acquirer nào thẻ được phép thực hiện giao dịch
8ageing_velocitiesObjectThiết lập và kiểm soát hạn mức tín dụng khả dụng trên thẻ
9curfewsObjectThiết lập kiểm soát giao dịch thẻ theo khung giờ trong các ngày nhất định, và có thể xác định múi giờ áp dụng
10time_of_daysObjectThiết lập kiểm soát giao dịch thẻ theo trong các khung giờ cụ thể của từng ngày
11merchant_category_codesObjectThiết lập kiểm soát GD thẻ theo mã ngành nghề MCC của merchant
12merchant_namesObjectThiết lập kiểm soát GD thẻ theo tên của Merchant (ĐVi chấp nhận thẻ)
13merchant_amountsObjectThiết lập kiểm soát GD thẻ theo số tiền mỗi giao dịch trên 1 loại tiền tệ cụ thể
14transaction_environmentsObjectThiết lập kiểm soát giao dịch thẻ theo Phương thức giao dịch
15approve_controlObjectThiết lập kiểm soát GD thẻ - Toàn bộ rule thiết lập sẽ là cho approve/decline GD
16entry_modesObjectThiết lập kiểm soát GD theo loại hình thẻ

Thông tin in_control_rules.transaction_limits

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1amountFloatGiá trị giao dịch tối đa/ 1 giao dịch
Giá trị này được setup theo billing currency của RCN đã đăng ký BPC
min: 0
max: 99999999999999
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.geographies

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1country_codesArrayDanh sách mã quốc gia - format 3 ký tự
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.velocities

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1max_transNumberSố lượng giao dịch tối đa được phép giao dịch trong 1 khoảng thời gian nhất định
min: 1
max: 99999999
2cumulative_limitNumberSố tiền giao dịch cộng dồn tối đa được phép giao dịch trong 1 khoảng thời gian nhất định
Nếu truyền vào = 0 - Đồng nghĩa với
unlimited (Bỏ qua giới hạn thiết lập
này)
min: 0
max: 99999999999999
3periodStringKỳ áp dụng
- DAILY -> Hàng ngày
- WEEKLY -> Hàng tuần
- QUARTERLY -> Hàng quý
- CONTINUOUS -> Từ lúc thiết lập và ko có ngày reset đếm/cộng dồn lại (bao giờ chạm ngưỡng thì báo)
- MONTHLY -> Hàng tháng
- YEARLY -> Hàng năm
4negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.validity_periods

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1fromStringThời gian bắt đầu hiệu lực của control
2toStringThời gian kết thúc hiệu lực của control
3negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.amount_ranges

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1min_amountFloatSố tiền giao dịch tối thiểu
min: 0
max: 99999999999999
min_amount < max_amount
2max_amountFloatSố tiền giao dịch tối đa
min: 0
max: 99999999999999
min_amount < max_amount
3negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.acceptor_ids

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1acceptorsObjectCó thể set merchant hoặc acquire
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.acceptor_ids.acceptors

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1acceptor_idStringMã Merchant ID – định danh của đơn vị chấp nhận thẻ (merchant) nơi giao dịch diễn ra.
2acquirer_idStringMã Acquirer ID – định danh của ngân hàng/đơn vị thanh toán (acquirer) xử lý giao dịch cho merchant.

Thông tin in_control_rules.ageing_velocities

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1authorization_hold_daysNumberSố ngày hold giao dịch trên thẻ ảo để tính toán khi nào reset lại Hạn mức tín dụng đang thiết lập
min: 0
max: 9999
2cumulative_limitNumberHạn mức tổng
Nếu truyền vào = 0 - Đồng nghĩa với unlimited (Bỏ qua giới hạn thiết lập này)
min: 0
max: 99999999999999
3time_zoneStringMúi giờ áp dụng cho việc tính ngày và giờ để thực hiện unhold giao dịch để loại bỏ khỏi phần tính avaliableCredit
4negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.curfews

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1from_timeStringThời gian bắt đầu cho phép giao dịch.
2to_timeStringThời gian kết thúc cho phép giao dịch
(sau thời gian này, giao dịch bị từ chối)
3time_zoneString(3)Múi giờ áp dụng khung giờ trên
Ví dụ: UTC
4daysArrayDanh sách các ngày trong tuần áp dụng giới hạn SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY. Được truyền multi, cách nhau dấu phẩy
5negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.time_of_days

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1timesArrayDanh sách object cấu hình thời gian cho phép giao dịch
(sau thời gian này, giao dịch bị từ
chối)
Có thể truyền 1 mảng các config
2time_zoneStringMúi giờ áp dụng cho khung giờ trên (fromTime-toTime)
Lưu ý default áp dụng là GMT (không phải là timezone register cho RCN)
Nên lưu ý phải truyền vào
Example: UTC
3negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Mô tả dữ liệu object bên trong in_control_rules.time_of_days.times(1)

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1from_timeStringThời gian bắt đầu cho phép giao dịch.
2to_timeStringThời gian kết thúc cho phép giao dịch
(sau thời gian này, giao dịch bị từ chối)
3daysArrayCác ngày trong tuần áp dụng giới hạn SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY. Được truyền multi, cách nhau dấu phẩy

Thông tin in_control_rules.merchant_category_codes

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1mccsArrayDanh sách MCC
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.merchant_names

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1merchant_namesArrayDanh sách merchant names (được gửi trong trường DE43 của thông điệp ủy quyền (authorization message)
Tên này phải khớp với tên trong dữ liệu thanh toán của ngân hàng (trường DE43)
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.merchant_amounts

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1valueFloatSố tiền tối đa/giao dịch theo currency_code thiết lập bên dưới
min: 0
max: 99999999999999
2currency_codeStringMã tiền tệ áp dụng theo chuẩn (ISO) 4217
3negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.transaction_environments

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1environment_codesArrayDanh sách các phương thức giao dịch
- ATM – Giao dịch tại máy rút tiền
tự động.
- ECOM – Giao dịch thương mại
điện tử (online).
- MOTO – Mail Order/Telephone Order (đặt hàng qua thư/điện thoại, không có mặt thẻ và chủ thẻ).
- PAYPASS – Thanh toán không tiếp xúc (contactless).
- POS – Giao dịch trực tiếp tại cửa hàng (quẹt trên máy POS).
- PWCB – Mua hàng kèm rút tiền
mặt (Purchase with Cash Back).
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.approve_control

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Thông tin in_control_rules.entry_modes

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1modeStringTruyền loại hình thẻ chấp nhận thanh toán
Default: EMV
2negateNumberXác định rule có bị áp dụng ngược lại không ?
1. true
0. false => Default

Ví dụ Response

{
"code": 100,
"message": "Success",
"data": {
"reference_id": "1774513778373",
"vcn_id": 2355,
"customer_name": "NGUYỄN VĂN C",
"expiry": "12/2026",
"control_type": 2,
"account_control": null,
"in_control_rules": {
"alias": "1774513778373",
"transaction_limits": {
"amount": 20000000000,
"negate": 1
},
"geographies": {
"country_codes": [
"704",
"840"
],
"negate": 1
},
"velocities": {
"max_trans": 9999999,
"cumulative_limit": 1500,
"period": "DAILY",
"negate": 1
},
"validity_periods": {
"from": "2026-03-26 15:56:00",
"to": "2035-12-01 00:00:00",
"negate": 0
},
"amount_ranges": {
"min_amount": 0,
"max_amount": 100000000,
"negate": 0
},
"acceptor_ids": {
"acceptors": {
"acceptor_id": "126548888899997",
"acquirer_id": "1232135435"
},
"negate": 0
},
"ageing_velocities": {
"authorization_hold_days": 30,
"cumulative_limit": 0,
"time_zone": "UTC",
"negate": 0
},
"curfews": {
"from_time": "00:00",
"to_time": "23:59",
"time_zone": "UTC",
"days": [
"MONDAY",
"TUESDAY",
"WEDNESDAY"
],
"negate": 0
},
"time_of_days": {
"times": [
{
"from_time": "00:00",
"to_time": "23:59",
"days": [
"MONDAY",
"TUESDAY",
"WEDNESDAY"
]
}
],
"time_zone": "UTC",
"negate": 0
},
"merchant_category_codes": {
"mccs": [
"3001",
"3005"
],
"negate": 0
},
"merchant_names": {
"merchant_names": [
"Amazon"
],
"negate": 0
},
"merchant_amounts": {
"value": 10000000,
"currency_code": "704",
"negate": 0
},
"transaction_environments": {
"environment_codes": [
"ECOM",
"POS"
],
"negate": 0
},
"approve_control": {
"negate": 0
},
"entry_modes": {
"mode": "EMV",
"negate": 0
}
}
}
}

Bảng mã lỗi

Mã lỗiMô tả
100Thành công
11Thất bại
104Không được uỷ quyền
401Merchant verify failed
422Lỗi validate
1201vcn_id không tồn tại
1203Cập nhật thẻ VCN thất bại
1500Request {request_id} đã tồn tại