Nhà cung cấp Thanh toán
MQ-Pay hỗ trợ nhiều nhà cung cấp thanh toán thông qua một API thống nhất. Mỗi nhà cung cấp xử lý các phương thức thanh toán cụ thể và tích hợp với các cổng thanh toán khác nhau.
Các Nhà cung cấp Có sẵn
| Nhà cung cấp | Khóa | Trạng thái | Phương thức |
|---|---|---|---|
| VNPAY QR MMS | VNPAY_QR_MMS | Production | Mã QR Động |
| VNPAY Phone POS | VNPAY_PHONE_POS | Production | POS trên điện thoại |
| VNPAY Smart POS | VNPAY_SMART_POS | Production | Smart Terminal |
| Hệ thống | SYSTEM | Production | Tiền mặt, Chuyển khoản |
Kiến trúc Nhà cung cấp
Provider Factory
PaymentProviderFactory tự động khởi tạo và đăng ký các nhà cung cấp dựa trên cấu hình của bạn:
typescript
// Cấu hình xác định nhà cung cấp nào có sẵn
const options: IMQPayOptions = {
// Bật VNPay QR MMS
vnpayQrMMS: {
enable: true,
isDefault: true,
// ... thông tin xác thực
},
// Bật VNPay Phone POS
vnpayPhonePOS: {
enable: true,
// ... thông tin xác thực
},
// Nhà cung cấp hệ thống luôn có sẵn
};
// Factory tạo các nhà cung cấp
const factory = new PaymentProviderFactory(options);
const providers = factory.getEnabledProviders();
// => [VNPayQrMMSProvider, VNPayPhonePOSProvider, SystemProvider]Phương thức Thanh toán
Mỗi nhà cung cấp hỗ trợ các phương thức thanh toán cụ thể:
| Phương thức | Khóa | Nhà cung cấp | Mô tả |
|---|---|---|---|
| Mã QR | 100_QR_CODE | VNPAY_QR_MMS | QR động cho ứng dụng ngân hàng |
| Thẻ | 400_CARD | VNPAY_PHONE_POS, VNPAY_SMART_POS | Thanh toán thẻ NFC/Chip |
| Tiền mặt | 000_CASH | SYSTEM | Tiền mặt vật lý |
| Chuyển khoản | 200_BANK_TRANSFER | SYSTEM | Chuyển khoản thủ công |
Chọn Nhà cung cấp
Theo Nhà cung cấp Mặc định
typescript
// Sử dụng nhà cung cấp được đánh dấu isDefault: true
const response = await paymentService.checkout({
source: { type: 'Order', id: orderId },
payment: {
method: '100_QR_CODE', // Phương thức xác định nhà cung cấp
total: 100000,
},
});Theo Nhà cung cấp Cụ thể
typescript
// Chỉ định rõ nhà cung cấp
const response = await paymentService.checkout({
source: { type: 'Order', id: orderId },
payment: {
provider: 'VNPAY_PHONE_POS',
method: '400_CARD',
total: 100000,
},
});Khả năng của Nhà cung cấp
| Khả năng | QR MMS | Phone POS | Smart POS | Hệ thống |
|---|---|---|---|---|
| Xác nhận thời gian thực | Có | Có | Có | Thủ công |
| Tự động IPN | Có | Có | Có | Không |
| Hủy thanh toán | Có | Có | Có | Không |
| Truy vấn trạng thái | Có | Có | Có | Không |
| Hỗ trợ hoàn tiền | Có | Có | Có | Thủ công |
| Thanh toán chia nhỏ | Có | Có | Có | Có |
| Chế độ ngoại tuyến | Không | Không | Không | Có |
Liên kết Nhanh
| Tài liệu | Mô tả |
|---|---|
| VNPAY QR MMS | Thanh toán mã QR qua ứng dụng ngân hàng |
| VNPAY Phone POS | Điện thoại di động làm terminal POS |
| VNPAY Smart POS | Tích hợp Smart POS terminal |
| Nhà cung cấp Hệ thống | Tiền mặt và chuyển khoản thủ công |