2.1.2 Mở màn hình đăng ký thanh toán tự động
Lưu ý
Để dùng được tính năng thanh toán tự động, đối tác cần thông tin về tài khoản chuyên thu để đội vận hành MBBANK cấu hình.
Thông tin chung
- Sau khi Backend của Đối tác đã khởi tạo thành công giao dịch (bằng việc gọi sang API của MB Payment Hub) thì Đối tác cần truyền dữ liệu giao dịch này cho MB App để người dùng có thể bắt đầu thực hiện đăng kí thanh toán giao dịch tự động.
Phương thức kết nối
Ứng dụng WEB của Đối tác thực hiện gọi hàm
Javascript
để truyền dữ liệu giao dịch cho MB App.Cú pháp khởi tạo:
window['ReactNativeWebView'].postMessage(JSON.stringify({
type: 'PAYMENT_HUB_AUTODEBIT',
data: {
cif: '407322',
requestType: 'REGISTER',
merchant: {
code: 'BAL',
name: 'Bảo hiểm Nhân thọ MB Ageas Life'
},
autoDebitId: 'AT1A84F97D1D',
amount: null,
description: 'Đăng ký thanh toán tự động BH định kỳ',
frequencyUnit: null,
schedulerPattern: null,
dayOfAutoDebit: null,
contractCode: '216000017085',
successMessage: 'Đăng ký thanh toán tự động thành công',
metadata: '',
paymentTransactionType: {
name: 'Thanh toán Phí bảo hiểm định kỳ',
code: 'TTBHDK',
allowCard: true
},
autoDebitStatus: 'REGISTER_PENDING',
billerCustomerId: '216000017085',
billerCustomerCode: '216000017085',
createdDate: '2024-06-21T10:02:15',
requestId: '5531a68a-6740-447c-be58-ebd47c9d8466',
payment: {
firstPaymentAmount: null,
firstPaymentDescription: null,
paymentTransactionStatus: null
},
autoDebitType: 'BILLING_RECEIVE_BILLS',
retryDay: null
}}))Cú pháp hủy đăng kí
window['ReactNativeWebView'].postMessage(JSON.stringify({
type: 'PAYMENT_HUB_AUTODEBIT',
data: {
cif: '407322',
requestType: 'CANCEL',
merchant: {
code: 'BAL',
name: 'Bảo hiểm Nhân thọ MB Ageas Life'
},
autoDebitId: 'AT1A84F97D1D',
amount: null,
description: 'Đăng ký thanh toán tự động BH định kỳ',
frequencyUnit: null,
schedulerPattern: null,
dayOfAutoDebit: null,
contractCode: '216000017085',
successMessage: 'Đăng ký thanh toán tự động thành công',
metadata: '',
paymentTransactionType: {
name: 'Thanh toán Phí bảo hiểm định kỳ',
code: 'TTBHDK',
allowCard: true
},
autoDebitStatus: 'REGISTER_PENDING',
billerCustomerId: '216000017085',
billerCustomerCode: '216000017085',
createdDate: '2024-06-21T10:02:15',
requestId: '5531a68a-6740-447c-be58-ebd47c9d8466',
payment: {
firstPaymentAmount: null,
firstPaymentDescription: null,
paymentTransactionStatus: null
},
autoDebitType: 'BILLING_RECEIVE_BILLS',
retryDay: null
}}))Cú pháp chỉnh sửa đăng kí tự động
window['ReactNativeWebView'].postMessage(JSON.stringify({
type: 'PAYMENT_HUB_AUTODEBIT',
data: {
cif: '407322',
requestType: 'UPDATE',
merchant: {
code: 'BAL',
name: 'Bảo hiểm Nhân thọ MB Ageas Life'
},
autoDebitId: 'AT1A84F97D1D',
amount: null,
description: 'Đăng ký thanh toán tự động BH định kỳ',
frequencyUnit: null,
schedulerPattern: null,
dayOfAutoDebit: null,
contractCode: '216000017085',
successMessage: 'Đăng ký thanh toán tự động thành công',
metadata: '',
paymentTransactionType: {
name: 'Thanh toán Phí bảo hiểm định kỳ',
code: 'TTBHDK',
allowCard: true
},
autoDebitStatus: 'REGISTER_PENDING',
billerCustomerId: '216000017085',
billerCustomerCode: '216000017085',
createdDate: '2024-06-21T10:02:15',
requestId: '5531a68a-6740-447c-be58-ebd47c9d8466',
payment: {
firstPaymentAmount: null,
firstPaymentDescription: null,
paymentTransactionStatus: null
},
autoDebitType: 'BILLING_RECEIVE_BILLS',
retryDay: null
}}))
Dữ liệu truyền lên
Tham số | Mô tả |
---|---|
type | Bắt buộc Kiểu String, tối đa 30 ký tự. Loại dữ liệu mặc định truyền PAYMENT_HUB_AUTODEBIT |
data.cif | Bắt buộc Kiểu String, tối đa 45 ký tự. Mã khách hàng MB, lấy thông tin từ api verify Token |
data.requestType | Bắt buộc Kiểu String, loại yêu cầu: Đăng kí: REGISTER Đăng kí và thanh toán lần đầu: REGISTER_AND_FIRST_PAYMENT Hủy: CANCEL Chỉnh sửa: UPDATE |
data.merchant.code | Bắt buộc Kiểu String, tối đa 100 ký tự. Mã đối tác |
data.merchant.name | Bắt buộc Kiểu String, tối đa 256 ký tự. Tên đối tác |
data.autoDebitId | Kiểu String, tối đa 30 ký tự. Id bản ghi đăng kí giao dịch tự động. Bắt buộc truyền khi requestType = UPDATE hoặc CANCEL |
data.amount | Kiểu BigDecimal. Số tiền thực hiện giao dịch Không được âm . Không băt buộc với Merchant có cấu hình autodebitType = BILLING_RECEIVE_BILLS . Nếu Merchant có cấu hình autodebitType >< BILLING_RECEIVE_BILLS . Bắt buộc truyền khi requestType = REGISTER , REGISTER_AND_FIRST_PAYMENT |
data.description | Kiểu String, tối đa 48 ký tự. Nội dung giao dịch. Bắt buộc truyền khi requestType = REGISTER , REGISTER_AND_FIRST_PAYMENT |
data.frequencyUnit | Kiểu String. Tần xuất thanh toán DAY , WEEK , MONTH , YEAR . Không bắt buộc với Merchant có cấu hình autodebitType = BILLING_RECEIVE_BILLS .Nếu Merchant có cấu hình autodebitType >< BILLING_RECEIVE_BILLS : bắt buộc truyền khi requestType = REGISTER , REGISTER_AND_FIRST_PAYMENT |
data.dayOfAutoDebit | Kiểu String. Thời gian autodebit. Không bắt buộc với Merchant có cấu hình autodebitType = BILLING_RECEIVE_BILLS .Nếu Merchant có cấu hình autodebitType >< BILLING_RECEIVE_BILLS .Trong trường hợp frequency unit = DAY có thể = null. frequency unit = WEEK : nhận giá trị MON =>SUN.frequency unit= MONTH: nhận giá trị 1 =>28 frequency unit= YEAR: nhận giá trị theo format: dd/MM |
data.scheduledPattern | Bắt buộc Kiểu String, Chuỗi cron mà API MB trả ra khi khởi tạo gioa dịch |
data.contractCode | Bắt buộc Kiểu String, Chuỗi cron mà API MB trả ra khi khởi tạo gioa dịch |
data.successMessage | Không bắt buộc. Kiểu String tối đa 2000 ký tự. Thông báo khi thanh toán thành công |
data.metadata | Không bắt buộc. Kiểu String tối đa 2000 ký tự. Thông báo khi thanh toán thành công |
data.paymentTransactionType.name | Bắt buộc Kiểu String, tối đa 256 ký tự. Tên loại giao dịch |
data.paymentTransactionType.code | Bắt buộc Kiểu String. Mã giao dịch |
data.paymentTransactionType.allowCard | Bắt buộc Kiểu boolean. Có cho phép thanh toán bằng thẻ hay không? true : Có false : Không |
data.autoDebitStatus | Bắt buộc Kiểu String, trạng thái của autodebit |
data.billerCustomerId | Bắt buộc Kiểu String, giá trị mà api khởi tạo trả ra |
data.billerCustomerCode | Bắt buộc Kiểu String, giá trị mà api khởi tạo trả ra |
data.createdDate | Bắt buộc Kiểu String. Thời điểm khởi tạo giao dịch |
data.requestId | Bắt buộc Kiểu String, tối đa 45 ký tự. Id của request mà api khởi tạo trả ra |
data.payment.firstPaymentAmount | Kiểu BigDecimal. Số tiền thanh toán lần đầu. Bắt buộc truyền khi requestType = REGISTER_AND_FIRST_PAYMENT ID giao dịch được trả về từ MB Payment Hub |
data.payment.firstPaymentDescription | Kiểu String, tối đa 48 ký tự. Nội dung thanh toán lần đầu. Bắt buộc khi requestType = REGISTER_AND_FIRST_PAYMENT |
data.payment.paymentTransactionStatus | Kiểu String, tối đa 45 ký tự. Trạng thái của thanh toán lần đầu nếu kèm |
data.autoDebitType | Bắt buộc Kiểu String, loại giao dịch autodebit.TOPUP : Thanh toán cố định.BILLING_RECEIVE_BILLS : Thanh toán với số tiền ko cố định (hàng kỳ nhận list bill từ đối tác để hạch toán).BILLING_GET_BILLS : Thanh toán với số tiền ko cố định (hàng kỳ quét list bill của đối tác để hạch toán) |
data.retryDay | Bắt buộc Kiểu int. Số ngày Retry |