Nhà cung cấp Hệ thống
Nhà cung cấp Hệ thống xử lý các phương thức thanh toán thủ công - cụ thể là thanh toán tiền mặt và chuyển khoản ngân hàng thủ công.
Tổng quan
| Thuộc tính | Giá trị |
|---|---|
| Khóa Nhà cung cấp | SYSTEM |
| Phương thức Thanh toán | 000_CASH, 200_BANK_TRANSFER |
| Quyết toán | Ngay lập tức (thủ công) |
| Tích hợp Bên ngoài | Không |
Tính năng
- Luôn có sẵn - Không phụ thuộc bên ngoài
- Có khả năng ngoại tuyến - Hoạt động không cần internet
- Xác nhận thủ công - Thu ngân xác nhận biên lai
- Hỗ trợ thanh toán chia nhỏ - Kết hợp với các phương thức khác
- Tính toán tiền thừa - Tự động cho tiền mặt
Phương thức Thanh toán
Thanh toán Tiền mặt
typescript
const response = await paymentService.checkout({
source: { type: 'Order', id: 'order-uuid' },
payment: {
provider: 'SYSTEM',
method: '000_CASH',
total: 150000,
currency: 'VND',
},
});Chuyển khoản Ngân hàng
typescript
const response = await paymentService.checkout({
source: { type: 'Order', id: 'order-uuid' },
payment: {
provider: 'SYSTEM',
method: '200_BANK_TRANSFER',
total: 500000,
currency: 'VND',
},
});Luồng Thanh toán
Xác nhận Thanh toán
typescript
const result = await paymentService.confirmSystemPayment({
attempt: { id: 'att-uuid' },
tendered: 200000,
note: 'Thanh toán tiền mặt',
});
// Phản hồi
{
transaction: { status: '302_SUCCESS' },
attempt: {
amount: '150000.0000',
tendered: '200000.0000',
},
change: '50000.0000',
}Thanh toán Chia nhỏ
typescript
// Phần 1: Thanh toán QR cho 150.000
const qrResponse = await paymentService.checkout({
source: { type: 'Order', id: orderId },
payment: { provider: 'VNPAY_QR_MMS', method: '100_QR_CODE', total: 150000 },
});
// Phần 2: Tiền mặt cho phần còn lại 50.000
const cashResponse = await paymentService.checkout({
transactionId: qrResponse.transaction.id,
source: { type: 'Order', id: orderId },
payment: { provider: 'SYSTEM', method: '000_CASH', total: 50000 },
});
// Xác nhận tiền mặt
await paymentService.confirmSystemPayment({
attempt: { id: cashResponse.attempt.id },
tendered: 50000,
});