«

Test những SC multi account của API - POST /payment/cb-pay - Thanh toán cho mã TTH và nạp tệ hộ vào ví trả trước

  • Header: X-Tenant
  • Request body: { "orderCode"(): "string", // mã thanh toán "passcode"(): "123456" }
    • Given Tài khoản "chanhleo" có mật khẩu thanh toán với thông tin
      currencypassCode
      VND123456
    • And Dịch vụ chấp nhận thanh toán qua các hình thức sau
      paymentMethodpaymentNamecurrenciesenabled
      payment_behalfThanh toán hộVND, CNHtrue
    • And Danh sách tài khoản được đánh dấu là tài khoản thanh toán hộ gồm: "chanhleo, payment"
    • And Hệ thống quy định điều kiện sử dụng dịch vụ thanh toán hộ "totalOrder >= 1 && customerAge >= 1 && totalValue >= 0"
    • And Khách hàng "cogaimuathu" có đủ điều kiện sử dụng dịch vụ thanh toán hộ
    • And 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
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 401 khi không gửi lên request thanh toán cho mã thanh toán hộ không có token

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfchanhleo
    • 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 401
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 401 khi gửi lên request thanh toán cho mã thanh toán hộ với token hết hạn

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfchanhleo
    • And Token đã hết hạn
    • 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 401
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 400 khi request thanh toán cho mã thanh toán hộ không có header X-Tenant

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfchanhleo
    • And Có token của tài khoản "chanhleo"
    • When 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
      {
        "message": "Header X-Tenant missing."
      }
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 404 khi request thanh toán cho mã thanh toán hộ với header X-Tenant không hợp lệ

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfchanhleo
    • And Có token của tài khoản "chanhleo"
    • When Request có header là
      X-Tenant<x-tenant>
    • 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 404
    • And Response có body thỏa mãn giá trị như sau
      {
        "message": "wallet not found"
      }

    Examples:

    x-tenant
    null
    m2
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 404 khi thanh toán cho mã thanh toán không tồn tại

    • Given Có token của tài khoản "chanhleo"
    • 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 404
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "payment_order_not_found"
      }
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 400 khi gửi request thanh toán cho mã thanh toán hộ với passCode không đúng

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfchanhleo
    • And Có token của tài khoản "chanhleo"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": "${001}",
        "passcode": "654321"
      }
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "message": "wallet passcode not true"
      }
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 400 khi gửi request thanh toán cho mã thanh toán hộ với passCode không đúng định dạng

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfchanhleo
    • And Có token của tài khoản "chanhleo"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": "${001}",
        "passcode": "string"
      }
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "errorDetails": [
          {
            "fieldName": "passcode",
            "message": "passcode must be 6 digits"
          }
        ]
      }
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 400 khi gửi request thanh toán cho mã thanh toán hộ với thông tin bắt buộc null : orderCode, passcode

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfchanhleo
    • And Có token của tài khoản "chanhleo"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": <orderCode>,
        "passcode": <passcode>
      }
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "errorDetails": <message>
      }

    Examples:

    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"}]
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 400 khi body request thanh toán cho mã thanh toán hộ không có orderCode

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfchanhleo
    • And Có token của tài khoản "chanhleo"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "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
      {
        "errorDetails": [
          {
            "fieldName": "orderCode",
            "message": "order code is mandatory"
          }
        ]
      }
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 400 khi body request không có thông tin mật khẩu thanh toán passcode

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfchanhleo
    • And Có token của tài khoản "chanhleo"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "POST" đến "/payment/cb-pay" với body
      {
        "orderCode": "${001}"
      }
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "errorDetails": [
          {
            "fieldName": "passcode",
            "message": "passcode is mandatory"
          }
        ]
      }
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 400 khi tài khoản thanh toán không đủ số dư để thực hiện thanh toán cho mã thanh toán hộ.

    • Given Giỏ hàng "thường" của tài khoản "cogaimuathu" đang trống
    • And Giỏ hàng của tài khoản "cogaimuathu" đã có sản phẩm thuộc marketplace "1688" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSizeprice
      merchant_01product_01skuId_01skusId_0111120
    • And Từ sản phẩm trong giỏ, tài khoản "cogaimuathu" đã 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 "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfchanhleo
    • And Số dư trong ví của tài khoản "chanhleo" có thông tin
      walletCodecurrencybalance
      walletCodeVNDVND0
      walletCodeCNHCNH0
    • And Có token của tài khoản "chanhleo"
    • 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"
      }
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 400 khi thanh toán nhiều lần cho cùng 1 mã thanh toán hộ.

    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.

    • Given Giỏ hàng "thường" của tài khoản "cogaimuathu" đang trống
    • And Giỏ hàng của tài khoản "cogaimuathu" đã có sản phẩm thuộc marketplace "1688" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSizeprice
      merchant_01product_01skuId_01skusId_01101120
    • And Từ sản phẩm trong giỏ, tài khoản "cogaimuathu" đã 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 "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộLoại tiền tệ
      001DH001CREATE_ORDERpayment_behalfchanhleoCNH
    • And Số dư trong ví của tài khoản "chanhleo" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Tài khoản "chanhleo" đã 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 "chanhleo"
    • 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": "order_status_illegal"
      }
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 403 khi người yêu cầu thanh toán hộ tự thanh toán cho mã thanh toán mà mình đã tạo

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfchanhleo
    • And Có token của tài khoản "cogaimuathu"
    • 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 403
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "payment_not_access"
      }
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 403 khi thanh toán cho mã thanh toán hộ mà mình không được yêu cầu thanh toán hộ.

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfpayment
    • And Có token của tài khoản "chanhleo"
    • 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 403
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "payment_not_access"
      }
  • Tags: @AUTOMATED, @TNK-7371

    Thanh toán cho mã thanh toán hộ không thành công khi đơn bị huỷ

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfpayment
    • And Tài khoản "cogaimuathu" huỷ đơn hàng Chờ thanh toán "DH001"
    • And Có token của tài khoản "chanhleo"
    • 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 404
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "payment_order_not_found"
      }
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 404 khi thanh toán cho mã thanh toán hộ có trạng thái Từ chối

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộTrạng thái thanh toán hộ
      001DH001CREATE_ORDERpayment_behalfchanhleoTừ chối
    • And Có token của tài khoản "chanhleo"
    • 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 404
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "payment_order_not_found"
      }
  • Tags: @AUTOMATED, @TNK-7371

    Nếu trên đơn tồn tại đồng thời mã thanh toán hộ có trạng thái Từ chối và Chờ thanh toán,

    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.

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộTrạng thái thanh toán hộMap orderLoại tiền tệ
      001DH001CREATE_ORDERpayment_behalfpaymentTừ chốiCNH
      002DH001CREATE_ORDERpayment_behalfchanhleoChờ thanh toánM2_001CNH
    • And Số dư trong ví của tài khoản "chanhleo" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "chanhleo"
    • 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": {
          "successOrders": ["${DH001}"],
          "failOrders": []
        }
      }
    • And Đơn hàng "M2_001" chuyển sang trạng thái "Chờ xử lý"
  • Tags: @AUTOMATED, @TNK-7371

    Trả status 200 khi gửi body request có thông tin mã và mật khẩu thanh toán đúng, số dư đủ để thanh toán hộ.

    Thanh toán thành công, đơn hàng chuyển trạng thái sang "Chờ xử lý".

    • Given Giỏ hàng "thường" của tài khoản "cogaimuathu" đang trống
    • And Giỏ hàng của tài khoản "cogaimuathu" đã 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 "cogaimuathu" đã tạo đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộMap orderLoại tiền tệ
      001DH001CREATE_ORDERpayment_behalfchanhleoM2_001CNH
    • And Số dư trong ví của tài khoản "chanhleo" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "chanhleo"
    • 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ý"
  • Trả status 403 khi thanh toán cho mã tự thanh toán không phải của mình

    • Given Tài khoản "cogaimuathu" đã có đơn hàng với thông tin
      Mã đơnTrạng thái
      DH001Chờ thanh toán
    • And Khách hàng "cogaimuathu" đã tạo mã thanh toán có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toán
      001DH001CREATE_ORDER
    • And Có token của tài khoản "chanhleo"
    • 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 403
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "payment_not_access"
      }
  • Tags: @AUTOMATED, @TNK-7950

    Tài khoản thanh toán hộ có thể thanh toán cho mã yêu cầu nạp tệ hộ nếu số dư đảm bảo.

    • Sau khi thanh toán thành công, hệ thống trừ tiền ở ví của tk thực h thanh toán hộ và cộng tiền vào ví của tk nhờ TTH
    • Given Hệ thống quy định điều kiện sử dụng dịch vụ nạp tệ hộ là "totalOrder >= 2"
    • And Tài khoản "cogaimuathu" đã có ít nhất 2 đơn hàng đặt cọc thành công
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu nạp tệ hộ có thông tin
      Mã thanh toánLoại thanh toánHình thức thanh toánUser thanh toán hộLoại tiền tệSố tiềnTrạng thái
      001WALLET_DEPOSITpayment_behalfchanhleoCNH50Chờ thanh toán
    • And Số dư trong ví của tài khoản "chanhleo" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH<balance>
    • And Số dư trong ví của tài khoản "cogaimuathu" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH0
    • And Có token của tài khoản "chanhleo"
    • 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 Số dư trong ví "CNH" của tài khoản "chanhleo" được cập nhật thành "<balance_01>"
    • And Số dư trong ví "CNH" của tài khoản "cogaimuathu" được cập nhật thành "<balance_02>"

    Examples:

    balance balance_01 balance_02
    100 50 50
    50 0 50
    50.1 0.1 50
  • Tags: @AUTOMATED, @TNK-7950

    Tài khoản thanh toán hộ không thể thanh toán cho mã yêu cầu nạp tệ hộ nếu số dư không đủ

    • Given Hệ thống quy định điều kiện sử dụng dịch vụ nạp tệ hộ là "totalOrder >= 2"
    • And Tài khoản "cogaimuathu" đã có ít nhất 2 đơn hàng đặt cọc thành công
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu nạp tệ hộ có thông tin
      Mã thanh toánLoại thanh toánHình thức thanh toánUser thanh toán hộLoại tiền tệSố tiền
      001WALLET_DEPOSITpayment_behalfchanhleoCNH50
    • And Số dư trong ví của tài khoản "chanhleo" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH<balance>
    • And Có token của tài khoản "chanhleo"
    • 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"
      }

    Examples:

    balance
    49.9
    0
    -10
  • Tags: @AUTOMATED, @TNK-7950

    Không thể thanh toán hộ cho mã yêu cầu nạp tệ hộ ở trạng thái Từ chối

    • Given Hệ thống quy định điều kiện sử dụng dịch vụ nạp tệ hộ là "totalOrder >= 2"
    • And Tài khoản "cogaimuathu" đã có ít nhất 2 đơn hàng đặt cọc thành công
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu nạp tệ hộ có thông tin
      Mã thanh toánLoại thanh toánHình thức thanh toánUser thanh toán hộLoại tiền tệSố tiềnTrạng thái
      001WALLET_DEPOSITpayment_behalfchanhleoCNH50Từ chối
    • And Số dư trong ví của tài khoản "chanhleo" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH100
    • And Có token của tài khoản "chanhleo"
    • 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 404
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "payment_order_not_found"
      }
  • Tags: @AUTOMATED, @TNK-7950

    Trả status 400 khi thanh toán nhiều lần cho cùng 1 mã yêu cầu nạp tệ hộ.

    • Given Hệ thống quy định điều kiện sử dụng dịch vụ nạp tệ hộ là "totalOrder >= 2"
    • And Tài khoản "cogaimuathu" đã có ít nhất 2 đơn hàng đặt cọc thành công
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu nạp tệ hộ có thông tin
      Mã thanh toánLoại thanh toánHình thức thanh toánUser thanh toán hộLoại tiền tệSố tiền
      001WALLET_DEPOSITpayment_behalfchanhleoCNH50
    • And Số dư trong ví của tài khoản "chanhleo" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH100
    • And Tài khoản "chanhleo" đã 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 "chanhleo"
    • 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_status_invalid"
      }
  • Tags: @AUTOMATED, @TNK-7950

    Trả status 403 khi người yêu cầu thanh toán hộ tự thanh toán cho mã nạp tệ hộ mà mình đã tạo

    • Given Hệ thống quy định điều kiện sử dụng dịch vụ nạp tệ hộ là "totalOrder >= 2"
    • And Tài khoản "cogaimuathu" đã có ít nhất 2 đơn hàng đặt cọc thành công
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu nạp tệ hộ có thông tin
      Mã thanh toánLoại thanh toánHình thức thanh toánUser thanh toán hộLoại tiền tệSố tiền
      001WALLET_DEPOSITpayment_behalfchanhleoCNH50
    • And Có token của tài khoản "cogaimuathu"
    • 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 403
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "payment_not_access"
      }
  • Tags: @AUTOMATED, @TNK-7950

    Trả status 403 khi thanh toán cho mã nạp tệ hộ mà mình không được yêu cầu thanh toán hộ.

    • Given Hệ thống quy định điều kiện sử dụng dịch vụ nạp tệ hộ là "totalOrder >= 2"
    • And Tài khoản "cogaimuathu" đã có ít nhất 2 đơn hàng đặt cọc thành công
    • And Khách hàng "cogaimuathu" đã tạo yêu cầu nạp tệ hộ có thông tin
      Mã thanh toánLoại thanh toánHình thức thanh toánUser thanh toán hộLoại tiền tệSố tiền
      001WALLET_DEPOSITpayment_behalfpaymentCNH50
    • And Có token của tài khoản "chanhleo"
    • 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 403
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "payment_not_access"
      }
  • Tags: @AUTOMATED, @TNK-7952

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

    • Given Hệ thống quy định điều kiện sử dụng dịch vụ thanh toán hộ "totalOrder >= 1 && customerAge >= 1 && totalValue >= 0"
    • And Tài khoản "cogaimuathu" đã 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 "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộMap orderLoại tiền tệ
      001DH001, DH002CREATE_ORDERpayment_behalfchanhleoM2_001, M2_002CNH
    • And Số dư trong ví của tài khoản "chanhleo" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "chanhleo"
    • 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 TTH gộp 5 đơn hàng

    • Given Hệ thống quy định điều kiện sử dụng dịch vụ thanh toán hộ "totalOrder >= 1 && customerAge >= 1 && totalValue >= 0"
    • And Tài khoản "cogaimuathu" đã 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 "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánHình thức thanh toánUser thanh toán hộMap orderLoại tiền tệ
      001DH001, DH002, DH003, DH004, DH005CREATE_ORDERpayment_behalfchanhleoM2_001, M2_002, M2_003, M2_004, M2_005CNH
    • And Số dư trong ví của tài khoản "chanhleo" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "chanhleo"
    • 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 hộ của đơn mua trọn gói

    • Given Khách hàng "cogaimuathu" 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 "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánLoại tiền tệMap orderHình thức thanh toánUser thanh toán hộ
      001DHTG01CREATE_ORDERCNHM2_001payment_behalfchanhleo
    • And Số dư trong ví của tài khoản "chanhleo" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "chanhleo"
    • 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 hộ của nhiều đơn mua trọn gói

    • Given Khách hàng "cogaimuathu" 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 "cogaimuathu" đã tạo yêu cầu thanh toán hộ có thông tin
      Mã thanh toánMã đơn hàngLoại thanh toánLoại tiền tệMap orderHình thức thanh toánUser thanh toán hộ
      001DHTG01, DHTG02CREATE_ORDERCNHM2_001, M2_002payment_behalfchanhleo
    • And Số dư trong ví của tài khoản "chanhleo" có thông tin
      walletCodecurrencybalance
      walletCodeCNHCNH500
    • And Có token của tài khoản "chanhleo"
    • 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ý"