«
| currency | passCode |
|---|---|
| VND | 123456 |
| paymentMethod | paymentName | currencies | enabled |
|---|---|---|---|
| payment_behalf | Thanh toán hộ | VND, CNH | true |
| Loại tiền tệ | Tỷ giá | Loại tiền tệ quy đổi |
|---|---|---|
| CNY | 1 | CNH |
| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo |
{
"orderCode": "${001}",
"passcode": "123456"
}{
"message": "Header X-Tenant missing."
}| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo |
| X-Tenant | <x-tenant> |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"message": "wallet not found"
}| x-tenant | |
|---|---|
| null | |
| m2 |
| X-Tenant | m26 |
|---|
{
"orderCode": "001",
"passcode": "123456"
}{
"title": "payment_order_not_found"
}| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "654321"
}{
"message": "wallet passcode not true"
}| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "string"
}{
"errorDetails": [
{
"fieldName": "passcode",
"message": "passcode must be 6 digits"
}
]
}| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo |
| X-Tenant | m26 |
|---|
{
"orderCode": <orderCode>,
"passcode": <passcode>
}{
"errorDetails": <message>
}| orderCode | passcode | message | |
|---|---|---|---|
| null | null | [{"fieldName": "passcode","message": "passcode is mandatory"},{"fieldName": "orderCode","message": "order code is mandatory"}] | |
| null | "123456" | [{"fieldName": "orderCode","message": "order code is mandatory"}] | |
| "${001}" | null | [{"fieldName": "passcode","message": "passcode is mandatory"}] |
| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo |
| X-Tenant | m26 |
|---|
{
"passcode": "123456"
}{
"errorDetails": [
{
"fieldName": "orderCode",
"message": "order code is mandatory"
}
]
}| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}"
}{
"errorDetails": [
{
"fieldName": "passcode",
"message": "passcode is mandatory"
}
]
}| merchantId | productId | skuId | skusId | quantity | order_quantity | batchSize | price |
|---|---|---|---|---|---|---|---|
| merchant_01 | product_01 | skuId_01 | skusId_01 | 1 | 1 | 1 | 20 |
| Mã đơn | Trạng thái | Mã đơn SBM |
|---|---|---|
| DH001 | Chờ thanh toán | SBM_01 |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo |
| walletCode | currency | balance |
|---|---|---|
| walletCodeVND | VND | 0 |
| walletCodeCNH | CNH | 0 |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"title": "insufficient_balance"
}Do khi thanh toán lần đầu tiên, đơn đã được đặt cọc thành công và chuyển trạng thái.
| merchantId | productId | skuId | skusId | quantity | order_quantity | batchSize | price |
|---|---|---|---|---|---|---|---|
| merchant_01 | product_01 | skuId_01 | skusId_01 | 10 | 1 | 1 | 20 |
| Mã đơn | Trạng thái | Mã đơn SBM |
|---|---|---|
| DH001 | Chờ thanh toán | SBM_01 |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ | Loại tiền tệ |
|---|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo | CNH |
| walletCode | currency | balance |
|---|---|---|
| walletCodeCNH | CNH | 500 |
| Mã giao dịch | Mã thanh toán |
|---|---|
| GD_01 | 001 |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"title": "order_status_illegal"
}| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"title": "payment_not_access"
}| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | payment |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"title": "payment_not_access"
}| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | payment |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"title": "payment_order_not_found"
}| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ | Trạng thái thanh toán hộ |
|---|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo | Từ chối |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"title": "payment_order_not_found"
}thì có thể thanh toán thành công cho mã thanh toán hộ có trạng thái Chờ thanh toán.
| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ | Trạng thái thanh toán hộ | Map order | Loại tiền tệ |
|---|---|---|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | payment | Từ chối | CNH | |
| 002 | DH001 | CREATE_ORDER | payment_behalf | chanhleo | Chờ thanh toán | M2_001 | CNH |
| walletCode | currency | balance |
|---|---|---|
| walletCodeCNH | CNH | 500 |
| X-Tenant | m26 |
|---|
{
"orderCode": "${002}",
"passcode": "123456"
}{
"data": {
"successOrders": ["${DH001}"],
"failOrders": []
}
}Thanh toán thành công, đơn hàng chuyển trạng thái sang "Chờ xử lý".
| merchantId | productId | skuId | skusId | quantity | order_quantity | batchSize | price |
|---|---|---|---|---|---|---|---|
| merchant_01 | product_01 | skuId_01 | skusId_01 | 10 | 1 | 1 | 10 |
| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ | Map order | Loại tiền tệ |
|---|---|---|---|---|---|---|
| 001 | DH001 | CREATE_ORDER | payment_behalf | chanhleo | M2_001 | CNH |
| walletCode | currency | balance |
|---|---|---|
| walletCodeCNH | CNH | 500 |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"data": {
"successOrders": ["${DH001}"],
"failOrders": []
}
}| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán |
|---|---|---|
| 001 | DH001 | CREATE_ORDER |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"title": "payment_not_access"
}| Mã thanh toán | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ | Loại tiền tệ | Số tiền | Trạng thái |
|---|---|---|---|---|---|---|
| 001 | WALLET_DEPOSIT | payment_behalf | chanhleo | CNH | 50 | Chờ thanh toán |
| walletCode | currency | balance |
|---|---|---|
| walletCodeCNH | CNH | <balance> |
| walletCode | currency | balance |
|---|---|---|
| walletCodeCNH | CNH | 0 |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}| balance | balance_01 | balance_02 | |
|---|---|---|---|
| 100 | 50 | 50 | |
| 50 | 0 | 50 | |
| 50.1 | 0.1 | 50 |
| Mã thanh toán | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ | Loại tiền tệ | Số tiền |
|---|---|---|---|---|---|
| 001 | WALLET_DEPOSIT | payment_behalf | chanhleo | CNH | 50 |
| walletCode | currency | balance |
|---|---|---|
| walletCodeCNH | CNH | <balance> |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"title": "insufficient_balance"
}| balance | |
|---|---|
| 49.9 | |
| 0 | |
| -10 |
| Mã thanh toán | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ | Loại tiền tệ | Số tiền | Trạng thái |
|---|---|---|---|---|---|---|
| 001 | WALLET_DEPOSIT | payment_behalf | chanhleo | CNH | 50 | Từ chối |
| walletCode | currency | balance |
|---|---|---|
| walletCodeCNH | CNH | 100 |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"title": "payment_order_not_found"
}| Mã thanh toán | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ | Loại tiền tệ | Số tiền |
|---|---|---|---|---|---|
| 001 | WALLET_DEPOSIT | payment_behalf | chanhleo | CNH | 50 |
| walletCode | currency | balance |
|---|---|---|
| walletCodeCNH | CNH | 100 |
| Mã giao dịch | Mã thanh toán |
|---|---|
| GD_01 | 001 |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"title": "payment_status_invalid"
}| Mã thanh toán | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ | Loại tiền tệ | Số tiền |
|---|---|---|---|---|---|
| 001 | WALLET_DEPOSIT | payment_behalf | chanhleo | CNH | 50 |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"title": "payment_not_access"
}| Mã thanh toán | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ | Loại tiền tệ | Số tiền |
|---|---|---|---|---|---|
| 001 | WALLET_DEPOSIT | payment_behalf | payment | CNH | 50 |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"title": "payment_not_access"
}| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| DH002 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ | Map order | Loại tiền tệ |
|---|---|---|---|---|---|---|
| 001 | DH001, DH002 | CREATE_ORDER | payment_behalf | chanhleo | M2_001, M2_002 | CNH |
| walletCode | currency | balance |
|---|---|---|
| walletCodeCNH | CNH | 500 |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"data": {
"successOrders": ["${DH001}", "${DH002}"],
"failOrders": []
}
}| order_type | |
|---|---|
| TMĐT | |
| hàng tạp |
| Mã đơn | Trạng thái |
|---|---|
| DH001 | Chờ thanh toán |
| DH002 | Chờ thanh toán |
| DH003 | Chờ thanh toán |
| DH004 | Chờ thanh toán |
| DH005 | Chờ thanh toán |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Hình thức thanh toán | User thanh toán hộ | Map order | Loại tiền tệ |
|---|---|---|---|---|---|---|
| 001 | DH001, DH002, DH003, DH004, DH005 | CREATE_ORDER | payment_behalf | chanhleo | M2_001, M2_002, M2_003, M2_004, M2_005 | CNH |
| walletCode | currency | balance |
|---|---|---|
| walletCodeCNH | CNH | 500 |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"data": {
"successOrders": ["${DH001}", "${DH002}", "${DH003}", "${DH004}", "${DH005}"],
"failOrders": []
}
}| Mã đơn | merchantId | productId | skuId | skusId | quantity | order_quantity | batchSize | depositOnDemand | services | cân nặng | giá | fixPriceAllSku |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DHTG01 | merchant_01 | product_01 | skuId_01 | skusId_01 | 2 | 1 | 1 | 100 | domestic_shipping | 1 | 10 | true |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Loại tiền tệ | Map order | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|---|---|
| 001 | DHTG01 | CREATE_ORDER | CNH | M2_001 | payment_behalf | chanhleo |
| walletCode | currency | balance |
|---|---|---|
| walletCodeCNH | CNH | 500 |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"data": {
"successOrders": ["${DHTG01}"],
"failOrders": []
}
}| Mã đơn | merchantId | productId | skuId | skusId | quantity | order_quantity | batchSize | depositOnDemand | services | cân nặng | giá | fixPriceAllSku |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DHTG01 | merchant_01 | product_01 | skuId_01 | skusId_01 | 1 | 1 | 1 | 100 | domestic_shipping | 1 | 10 | true |
| DHTG02 | merchant_02 | product_02 | skuId_02 | skusId_02 | 1 | 1 | 1 | 100 | domestic_shipping | 1 | 10 | true |
| Mã thanh toán | Mã đơn hàng | Loại thanh toán | Loại tiền tệ | Map order | Hình thức thanh toán | User thanh toán hộ |
|---|---|---|---|---|---|---|
| 001 | DHTG01, DHTG02 | CREATE_ORDER | CNH | M2_001, M2_002 | payment_behalf | chanhleo |
| walletCode | currency | balance |
|---|---|---|
| walletCodeCNH | CNH | 500 |
| X-Tenant | m26 |
|---|
{
"orderCode": "${001}",
"passcode": "123456"
}{
"data": {
"successOrders": ["${DHTG01}", "${DHTG02}"],
"failOrders": []
}
}