«

POST /api/payment/cb-pay - Thanh toán cho các mã tự thanh toán

  • Header: X-Tenant
  • Request body: { "orderCode"(): "string", // mã thanh toán "passcode"(): "123456" }
    • Given Hệ thống có cấu hình tỷ giá mua hộ với thông tin
      Loại tiền tệTỷ giáLoại tiền tệ quy đổi
      CNY1CNH
    • And Tài khoản "pamiuoi" đã có danh sách địa chỉ nhận hàng
      addressIdcountryprovincecitydistrictwarddefault
      VN_01Việt NamThành phố Hà NộiQuận Hà ĐôngPhường Văn Quántrue
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH100
  • Trả status 400 khi thanh toán cho mã tự thanh toán có loại hình thanh toán là Chuyển khoản

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiTỷ lệ đặt cọc
      DH001Chờ thanh toán45
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toán
      001DH001CREATE_ORDERck
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": "${001}",
        "passcode": "123456"
      }
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "payment_invalid"
      }
  • Không thể thanh toán nhiều lần cho mã đặt cọc đơn hàng.

    Do thanh toán thành công mã đầu tiên, đơn hàng đã được chuyển trạng thái.

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toán
      001DH001CREATE_ORDER
      002DH001CREATE_ORDER
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "pamiuoi"
    • And Tài khoản "pamiuoi" đã có giao dịch thành công với thông tin
      Mã giao dịchMã thanh toán
      GD_01001
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": "${002}",
        "passcode": "123456"
      }
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "order_status_illegal"
      }
  • Trả status 400 khi tài khoản không đủ số dư để thanh toán cho mã thanh toán đặt cọc

    • Given Giỏ hàng "thường" của tài khoản "pamiuoi" đang trống
    • And Giỏ hàng của tài khoản "pamiuoi" đã có sản phẩm thuộc marketplace "1688" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSizeprice
      merchant_01product_01skuId_01skusId_01101110
    • And Từ sản phẩm trong giỏ, tài khoản "pamiuoi" đã tạo đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH001Chờ thanh toánSBM_01
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toán
      001DH001CREATE_ORDER
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH0
      walletCodeVNDVND0
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
       {
          "orderCode": "${001}",
          "passcode": "123456"
          }
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "insufficient_balance"
      }
  • Trả status 400 khi tài khoản không đủ số dư để thanh toán cho mã thanh toán tất toán

    • Given Giỏ hàng "thường" của tài khoản "pamiuoi" đang trống
    • And Giỏ hàng của tài khoản "pamiuoi" đã có sản phẩm thuộc marketplace "1688" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSizeprice
      merchant_01product_01skuId_01skusId_01101110
    • And Từ sản phẩm trong giỏ, tài khoản "pamiuoi" đã tạo đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBMTỷ lệ đặt cọc
      DH001Đang giao hàngSBM_0145
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toán
      001DH001FEE
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH0
      walletCodeVNDVND0
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
       {
          "orderCode": "${001}",
          "passcode": "123456"
          }
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "insufficient_balance"
      }
  • Không thể thanh toán nhiều lần cho cùng một mã thanh toán tất toán đơn hàng.

    • Given Giỏ hàng "thường" của tài khoản "pamiuoi" đang trống
    • And Giỏ hàng của tài khoản "pamiuoi" đã có sản phẩm thuộc marketplace "1688" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSizeprice
      merchant_01product_01skuId_01skusId_01101110
    • And Từ sản phẩm trong giỏ, tài khoản "pamiuoi" đã tạo đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH001Đang giao hàngSBM_01
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánLoại tiền tệ
      001DH001FEECNH
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Tài khoản "pamiuoi" đã có giao dịch thành công với thông tin
      Mã giao dịchMã thanh toán
      GD_01001
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
       {
          "orderCode": "${001}",
          "passcode": "123456"
          }
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "amount_illegal",
        "detail": "Amount not empty or negative"
      }
  • Thanh toán thành công khi mã thanh toán đặt cọc có thông tin mã và mật khẩu thanh toán đúng,

    số dư đủ để đặt cọc đơn

    • Given Giỏ hàng "thường" của tài khoản "pamiuoi" đang trống
    • And Giỏ hàng của tài khoản "pamiuoi" đã có sản phẩm thuộc marketplace "1688" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSizeprice
      merchant_01product_01skuId_01skusId_01101110
    • And Từ sản phẩm trong giỏ, tài khoản "pamiuoi" đã tạo đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánMap orderLoại tiền tệ
      001DH001CREATE_ORDERM2_001CNH
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": "${001}",
        "passcode": "123456"
      }
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      {
         "data": {
            "successOrders": ["${DH001}"],
            "failOrders": []
          }
      }
    • And Đơn hàng "M2_001" chuyển sang trạng thái "Chờ xử lý"
  • Thanh toán thành công khi mã thanh toán tất toán có thông tin mã và mật khẩu thanh toán đúng,

    số dư đủ để tất toán cho đơn

    • Given Giỏ hàng "thường" của tài khoản "pamiuoi" đang trống
    • And Giỏ hàng của tài khoản "pamiuoi" đã có sản phẩm thuộc marketplace "1688" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSizeprice
      merchant_01product_01skuId_01skusId_01101110
    • And Từ sản phẩm trong giỏ, tài khoản "pamiuoi" đã tạo đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH001Đang giao hàngSBM_01
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánLoại tiền tệ
      001DH001FEECNH
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": "${001}",
        "passcode": "123456"
      }
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      {
         "data": {
            "successM1Orders": ["${DH001}"],
            "failM1Orders": []
          }
      }
  • Có thể thanh toán cho nhiều mã tất toán của cùng 1 đơn hàng, nếu trên đơn vẫn còn số tiền cần thanh toán >0

    • Given Giỏ hàng "thường" của tài khoản "pamiuoi" đang trống
    • And Giỏ hàng của tài khoản "pamiuoi" đã có sản phẩm thuộc marketplace "1688" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSizeprice
      merchant_01product_01skuId_01skusId_01101110
    • And Từ sản phẩm trong giỏ, tài khoản "pamiuoi" đã tạo đơn hàng với thông tin
      Mã đơnTrạng tháiTỷ lệ đặt cọc
      DH001Đang giao hàng45
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánLoại tiền tệ
      001DH001FEECNH
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Tài khoản "pamiuoi" đã có giao dịch thành công với thông tin
      Mã giao dịchMã thanh toán
      GD_01001
    • And Nhân viên hệ thống quản lý đơn cập nhật tỷ giá mua trên đơn "DH001" thành "1.5"
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toán
      002DH001FEE
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": "${002}",
        "passcode": "123456"
      }
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      {
         "data": {
            "successM1Orders": ["${DH001}"],
            "failM1Orders": []
          }
      }
  • Có thể thanh toán cho mã tất toán đơn, nếu trên đơn đã có phiếu giao chờ xử lý

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ xử lý
    • And GDV hệ thống mua hàng chuyển trạng thái đơn "DH001" sang Người bán giao với mã vận đơn "MVD01"
    • And Nhân viên kho tạo kiện cho đơn hàng "DH001" với thông tin
      mã kiệnmã vận đơncân nặng tịnhtrạng thái kiện
      K01MVD011Chờ giao
    • And Kiện "K01" thuộc đơn "DH001" được cập nhật trạng thái thành "Sẵn sàng giao"
    • And Nhân viên tạo phiếu giao "L00006" với thông tin
      loại đơnmã đơnkiện
      mua hộDH001K01
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánLoại tiền tệ
      001DH001FEECNH
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
       {
          "orderCode": "${001}",
          "passcode": "123456"
       }
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      {
         "data": {
            "successM1Orders": ["${DH001}"],
            "failM1Orders": []
         }
      }
  • Có thể thanh toán cho mã tất toán, nếu trên đơn đã có phiếu giao Đang giao

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ xử lý
    • And GDV hệ thống mua hàng chuyển trạng thái đơn "DH001" sang Người bán giao với mã vận đơn "MVD01"
    • And Nhân viên kho tạo kiện cho đơn hàng "DH001" với thông tin
      mã kiệnmã vận đơncân nặng tịnhtrạng thái kiện
      K01MVD011Chờ giao
    • And Kiện "K01" thuộc đơn "DH001" được cập nhật trạng thái thành "Sẵn sàng giao"
    • And Nhân viên tạo phiếu giao "L00006" với thông tin
      loại đơnmã đơnkiện
      mua hộDH001K01
    • And Nhân viên kho chuyển trạng thái YCG "L00006" sang "Đang xử lý"
    • And Phiếu giao "L00006" có trạng thái "Đang giao"
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánLoại tiền tệ
      001DH001FEECNH
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
       {
          "orderCode": "${001}",
          "passcode": "123456"
       }
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      {
         "data": {
            "successM1Orders": ["${DH001}"],
            "failM1Orders": []
         }
      }
  • Không thể thanh toán cho mã thanh toán, nếu trên đơn đã có phiếu giao đã giao, đã nhận.

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ xử lý
    • And GDV hệ thống mua hàng chuyển trạng thái đơn "DH001" sang Người bán giao với mã vận đơn "MVD01"
    • And Nhân viên kho tạo kiện cho đơn hàng "DH001" với thông tin
      mã kiệnmã vận đơncân nặng tịnhtrạng thái kiện
      K01MVD011Chờ giao
    • And Kiện "K01" thuộc đơn "DH001" được cập nhật trạng thái thành "Sẵn sàng giao"
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánLoại tiền tệ
      001DH001FEECNH
    • And Nhân viên tạo phiếu giao "L00006" với thông tin
      loại đơnmã đơnkiện
      mua hộDH001K01
    • And Nhân viên kho chuyển trạng thái YCG "L00006" sang "<m6_status>"
    • And Phiếu giao "L00006" có trạng thái "<m2_status>"
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
       {
          "orderCode": "${001}",
          "passcode": "123456"
       }
    • Then Tôi nhận được response có HTTP Status 400

    Examples:

    m6_status m2_status
    Hoàn thành Đã nhận
    Đã xử lý Đã giao
  • Tags: @AUTOMATED, @TNK-7952

    Thanh toán thành công mã đặt cọc gộp nhiều đơn

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
      DH002Chờ thanh toán
    • And Đơn "DH001" được đánh dấu là đơn "TMĐT"
    • And Đơn "DH002" được đánh dấu là đơn "<order_type>"
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánMap orderLoại tiền tệ
      001DH001, DH002CREATE_ORDERM2_001, M2_002CNH
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": "${001}",
        "passcode": "123456"
      }
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      {
        "data": {
          "successOrders": ["${DH001}", "${DH002}"],
          "failOrders": []
        }
      }
    • And Đơn hàng "M2_001, M2_002" chuyển sang trạng thái "Chờ xử lý"

    Examples:

    order_type
    TMĐT
    hàng tạp
  • Tags: @AUTOMATED, @TNK-7952

    Thanh toán thành công mã đặt cọc gộp cho 5 đơn hàng

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
      DH002Chờ thanh toán
      DH003Chờ thanh toán
      DH004Chờ thanh toán
      DH005Chờ thanh toán
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánMap orderLoại tiền tệ
      001DH001, DH002, DH003, DH004, DH005CREATE_ORDERM2_001, M2_002, M2_003, M2_004, M2_005CNH
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": "${001}",
        "passcode": "123456"
      }
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      {
        "data": {
          "successOrders": ["${DH001}", "${DH002}", "${DH003}", "${DH004}", "${DH005}"],
          "failOrders": []
        }
      }
    • And Đơn hàng "M2_001, M2_002, M2_003, M2_004, M2_005" chuyển sang trạng thái "Chờ xử lý"
  • Tags: @AUTOMATED, @TNK-10163

    Thanh toán thành công cho mã thanh toán của đơn mua trọn gói

    • Given Khách hàng "pamiuoi" có đơn mua trọn gói thuộc marketplace "1688" với thông tin
      Mã đơnmerchantIdproductIdskuIdskusIdquantityorder_quantitybatchSizedepositOnDemandservicescân nặnggiáfixPriceAllSku
      DHTG01merchant_01product_01skuId_01skusId_01211100domestic_shipping110true
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánLoại tiền tệMap order
      001DHTG01CREATE_ORDERCNHM2_001
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": "${001}",
        "passcode": "123456"
      }
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      {
        "data": {
          "successOrders": ["${DHTG01}"],
          "failOrders": []
        }
      }
    • And Đơn hàng "M2_001" chuyển sang trạng thái "Chờ xử lý"
  • Tags: @AUTOMATED, @TNK-10163

    Thanh toán thành công cho mã thanh toán của nhiều đơn mua trọn gói

    • Given Khách hàng "pamiuoi" có đơn mua trọn gói thuộc marketplace "1688" với thông tin
      Mã đơnmerchantIdproductIdskuIdskusIdquantityorder_quantitybatchSizedepositOnDemandservicescân nặnggiáfixPriceAllSku
      DHTG01merchant_01product_01skuId_01skusId_01111100domestic_shipping110true
      DHTG02merchant_02product_02skuId_02skusId_02111100domestic_shipping110true
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánLoại tiền tệMap order
      001DHTG01, DHTG02CREATE_ORDERCNHM2_001, M2_002
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": "${001}",
        "passcode": "123456"
      }
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      {
        "data": {
          "successOrders": ["${DHTG01}", "${DHTG02}"],
          "failOrders": []
        }
      }
    • And Đơn hàng "M2_001, M2_002" chuyển sang trạng thái "Chờ xử lý"
  • Tags: @AUTOMATED, @TNK-1526

    Tất toán thành công cho mã thanh toán gộp của nhiều đơn hàng

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiTỷ lệ đặt cọc
      DH001Đang giao hàng45
      DH002Đang giao hàng45
    • And Khách hàng "pamiuoi" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánLoại tiền tệ
      001DH001, DH002FEECNH
    • And Số dư trong ví của tài khoản "pamiuoi" có thông tin
      currencybalance
      CNH500
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": "${001}",
        "passcode": "123456"
      }
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      {
        "data": {
          "successM1Orders": ["${DH001}", "${DH002}"],
          "failM1Orders": []
        }
      }
    • And Đơn hàng được cập nhật thông tin tài chính
      Mã đơnCòn phải thanh toán
      DH0010
      DH0020