Nhà cung cấp VNPAY Smart POS
Nhà cung cấp VNPAY Smart POS tích hợp với các terminal Smart POS của VNPAY - các thiết bị thanh toán dựa trên Android với đầu đọc thẻ, máy in và kết nối tích hợp sẵn.
Tổng quan
| Thuộc tính | Giá trị |
|---|---|
| Khóa Nhà cung cấp | VNPAY_SMART_POS |
| Phương thức Thanh toán | 400_CARD |
| Quyết toán | T+1 |
| Phần cứng | VNPAY Smart Terminal |
Tính năng
- Thiết bị tất cả trong một - Đầu đọc thẻ, máy in, máy quét
- Nhiều loại thẻ - Chip, không tiếp xúc, dải từ
- Giao dịch ngoại tuyến - Khả năng lưu trữ và chuyển tiếp
- In biên lai - Máy in nhiệt tích hợp
Các Model Terminal
| Model | Màn hình | Kết nối | Hỗ trợ Thẻ |
|---|---|---|---|
| SP600 | 5.5" Cảm ứng | 4G/WiFi/BT | Chip, NFC, MSR |
| SP800 | 8" Cảm ứng | 4G/WiFi/BT/Ethernet | Chip, NFC, MSR |
| SP200 | 2.4" | 4G/WiFi | Chip, NFC |
Cấu hình
Cấu hình Ứng dụng
typescript
import { MQPayComponent, MQPayBindingKeys, IMQPayOptions } from '@nx-3rd/mq-pay';
class MyApplication extends BaseApplication {
preConfigure() {
this.bind<IMQPayOptions>({ key: MQPayBindingKeys.MQ_PAY_CLIENT_OPTIONS })
.toValue({
vnpaySmartPos: {
enable: true,
isDefault: false,
enableController: true,
// Bắt buộc: Mã merchant VNPAY
merchantCode: 'your-merchant-code',
// Bắt buộc: Mã terminal
terminalCode: 'your-terminal-code',
// Bắt buộc: Khóa bí mật cho checksum
secretKey: {
api: 'secret-for-api-requests', // Cho merchantorder, getorderdetail, cancelorder
ipn: 'secret-for-ipn-verification', // Cho xác minh chữ ký IPN
},
// Cờ môi trường
isProduction: process.env.NODE_ENV === 'production',
// Tùy chọn: Timeout yêu cầu tính bằng ms (mặc định: 90000)
timeout: 90000,
// Tùy chọn: Trình xử lý thông báo tùy chỉnh
onPaymentNotification: async (ipnData) => {
console.log('SmartPOS payment:', ipnData);
},
},
});
this.component(MQPayComponent);
}
}Tùy chọn Cấu hình
| Tùy chọn | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
enable | boolean | Có | Bật nhà cung cấp này |
isDefault | boolean | Có | Sử dụng làm nhà cung cấp mặc định |
enableController | boolean | Có | Tự động đăng ký điểm cuối IPN |
merchantCode | string | Có | Mã merchant VNPAY |
terminalCode | string | Có | Mã terminal VNPAY |
secretKey.api | string | Có | Khóa bí mật cho yêu cầu API |
secretKey.ipn | string | Có | Khóa bí mật cho xác minh IPN |
isProduction | boolean | Có | true cho môi trường production |
timeout | number | Không | Timeout yêu cầu tính bằng ms (mặc định: 90000) |
onPaymentNotification | function | Không | Callback xử lý IPN tùy chỉnh |
Luồng Thanh toán
Sử dụng API
typescript
const response = await paymentService.checkout({
source: { type: 'Order', id: 'order-uuid' },
payment: {
provider: 'VNPAY_SMART_POS',
method: '400_CARD',
total: 250000,
currency: 'VND',
},
});Mạng lưới Thẻ
| Mạng lưới | Chip | NFC | MSR |
|---|---|---|---|
| Visa | Có | Có | Có |
| Mastercard | Có | Có | Có |
| JCB | Có | Có | Có |
| UnionPay | Có | Có | Có |
| Napas | Có | Có | Có |