Tạo Thanh toán
Đường dẫn
- URL:
/cb-core/api/v1/payment/create - Method:
POST - Mô tả: API này được sử dụng để tạo thanh toán. Hiện tại chúng tôi chỉ hỗ trợ phương thức thanh toán VA, các phương thức thanh toán khác sẽ được hỗ trợ sớm
Request
Bảng Request
| Tham số | Loại dữ liệu + Độ dài | Bắt buộc | Mô tả |
|---|---|---|---|
| request_id | string(50) | Có | ID request duy nhất, định dạng gợi ý: MerchantCode+YYYYMMDDHHMMSS+UniqueId |
| request_time | string(19) | Có | Thời gian request theo định dạng: YYYY-MM-DD HH:MM:SS |
| merchant_code | string(20) | Có | Mã merchant được Baokim cung cấp trước khi tích hợp |
| sub_merchant_code | string(20) | Có | Nếu Seller nằm dưới sub-merchant của bạn, điền mã sub merchant được Baokim cung cấp. Nếu Seller nằm dưới bạn, điền Merchant_code được Baokim cung cấp như trên |
| seller_id | string(50) | Có | ID Seller trong hệ thống merchant |
| merchant_payment_id | string(50) | Có | ID thanh toán của merchant |
| amount | decimal(12,2) | Có | Số tiền thanh toán |
| currency | string(3) | Có | Mã tiền tệ của đơn. Điền VND cho giao dịch VND |
| description | string(255) | Có | Mô tả thanh toán |
| payment_method | string(20) | Có | Phương thức thanh toán: ATM/CREDIT/VA/QRCODE |
| card | object | Có điều kiện | Thông tin thẻ yêu cầu nếu phương thức thanh toán là ATM/CREDIT |
| card.type | string(20) | Có điều kiện | Loại thẻ: ATM/CREDIT |
| card.information | string(500) | Có điều kiện | Thông tin thẻ. Thông tin thẻ được mã hóa. Nếu save_token là true, trường này không bắt buộc. Nếu save_token là false, trường này bắt buộc. |
| extensions | object | Không | Mở rộng của đơn. extensions.key1 = value1, extensions.key2 = value2 |
| payment_url | string(255) | Có | URL của website nơi giao dịch được tạo |
| payment_expire | string(19) | Có | Thời gian hết hạn của đơn. Thời gian tối đa là 30 phút kể từ khi thanh toán được tạo. Định dạng: YYYY-MM-DD HH:MM:SS |
Ví dụ Request
Ví dụ request cho phương thức thanh toán QRCODE/VA
{
{
"request_id": "MERCHANT12345678901234510281",
"request_time": "2024-11-15 14:36:00",
"merchant_code": "PHUONGTT",
"sub_merchant_code": "SUBPHUONGTT",
"seller_id": "SELLER12345678901234510281",
"merchant_payment_id": "1234567890",
"amount": "300000.00",
"currency": "VND",
"payment_method": "VA",
"payment_period": "2024-11-15 15:36:00",
"extensions": {
"key1": "value1",
"key2": "value2"
},
"payment_url": "https://baokim.vn",
"payment_expire": "2024-11-15 15:36:00"
}
}
Ví dụ request cho phương thức thanh toán ATM/CREDIT
(Lưu ý: Mã hóa thông tin thẻ trước khi gửi request) card.information là chuỗi được mã hóa base64, được mã hóa bằng AES-256-CBC. Key và iv sẽ được Baokim gửi cho merchant trước khi tích hợp.
Ví dụ thông tin thẻ trước khi mã hóa
{
"number": "4242424242424242",
"first_name": "A",
"last_name": "Nguyen Van",
"expiration_month": "12",
"expiration_year": "2025",
"security_code": "123",
"country": "Viet Nam",
"cvn": "123"
}
Ví dụ thông tin thẻ sau khi mã hóa
{
"card": {
"information": "5f+7bD4XzMZGdfm7hXV2YmtlnMZ5PtHmsnU4v+NdeLg=",
}
}
Ví dụ request body sử dụng thẻ tín dụng
{
"request_id": "MERCHANT12345678901234510281",
"request_time": "2024-11-15 14:36:00",
"merchant_code": "PHUONGTT",
"sub_merchant_code": "SUBPHUONGTT",
"seller_id": "SELLER12345678901234510281",
"merchant_payment_id": "1234567890",
"amount": "300000.00",
"currency": "VND",
"payment_method": "ATM",
"card": {
"type": "ATM",
"information": "5f+7bD4XzMZGdfm7hXV2YmtlnMZ5PtHmsnU4v+NdeLg=",
}
}
Response
Bảng Response
| Tham số | Loại dữ liệu + Độ dài | Bắt buộc | Mô tả |
|---|---|---|---|
| response_code | int(4) | Có | Mã lỗi từ Baokim theo Bảng mã lỗi |
| response_message | string(100) | Có | Mô tả mã lỗi từ Baokim theo Bảng mã lỗi |
| data | object | Có | Dữ liệu của response |
| data.merchant_code | string(20) | Có | Mã merchant được Baokim cung cấp trước khi tích hợp |
| data.sub_merchant_code | string(20) | Có | Mã sub merchant được Baokim cung cấp trước khi tích hợp |
| data.seller_id | string(100) | Có | ID Seller trong hệ thống merchant |
| data.order_code | string(20) | Có | Mã đơn hàng trong hệ thống Baokim. Mã này là duy nhất |
| data.payment | object | Có | Dữ liệu thanh toán |
| data.payment.transaction_id | string(100) | Có | Mã giao dịch trong hệ thống Baokim. Mã này là duy nhất |
| data.payment.amount | decimal(12,2) | Có | Số tiền giao dịch |
| data.payment.merchant_payment_id | string(100) | Có | Mã tham chiếu của đơn hàng được quản lý trong hệ thống của bạn. Mã này là duy nhất |
| data.payment.currency | string(3) | Có | Tiền tệ của đơn hàng |
| data.payment.va_info | object | Có | Thông tin tài khoản ảo khi phương thức thanh toán là VA |
| data.payment.va_info.qr_code | string(255) | Có điều kiện | Mã QR của đơn hàng nếu phương thức thanh toán là QRCODE/VA |
| data.payment.va_info.qr_path | string(255) | Có điều kiện | Đường dẫn QR code của đơn hàng nếu phương thức thanh toán là QRCODE/VA |
| data.payment.va_info.account_name | string(255) | Có điều kiện | Tên tài khoản của đơn hàng nếu phương thức thanh toán là QRCODE/VA |
| data.payment.va_info.account_no | string(255) | Có điều kiện | Số tài khoản của đơn hàng nếu phương thức thanh toán là QRCODE/VA |
| data.payment.va_info.bank_no | string(255) | Có điều kiện | Mã ngân hàng của đơn hàng nếu phương thức thanh toán là QRCODE/VA |
| data.payment.va_info.bank_branch | string(255) | Có điều kiện | Chi nhánh ngân hàng của đơn hàng nếu phương thức thanh toán là QRCODE/VA |
Ví dụ Response
{
"response_code": 200,
"response_message": "Success",
"data": {
"merchant_code": "PHUONGTT",
"sub_merchant_code": "PHUONGTT",
"seller_id": "SELLER12345678901234510281",
"order_code": "ORDER12345678901234510281",
"payment": {
"transaction_id": "TRANSACTION12345678901234510281",
"amount": "300000.00",
"merchant_payment_id": "1234567890",
"currency": "VND",
"payment_method": "VA",
"va_info": {
"qr_code": "ORDER12345678901234510281",
"qr_path": "https://example.com/qr/ORDER12345678901234510281.jpg",
"account_name": "BAOKIM PHUONGTT",
"account_no": "963336009805939",
"bank_no": "970418",
"bank_branch": "Hà Nội"
}
}
}
}
Mã lỗi
| Mã Response | Thông báo Response |
|---|---|
| 200 | Thành công |
| 99 | Đang xử lý |
| 11 | Thất bại |
| 101 | Lỗi hệ thống |
| 110 | Mã merchant không hợp lệ |
| 120 | Signature không hợp lệ |
| 422 | Lỗi xác thực |