alibaba.mj.oc.pay (POS收银成功后订单同步)

此API用于在银泰商场中,消费者在收银台收银/退款时, POS系统在收银或退款成功后,调用此接口进行订单同步

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
pos_order PosOrderDto 必须 订单数据
  • └ extend_params
  • String
  • 可选
  • {"abc":"123"}
  • 扩展信息。
  • └ logistics_way
  • Number
  • 必须
  • 1
  • 配送方式:1 : 门店自提,2 :物流到家
  • └ mall_no
  • String
  • 必须
  • HZ01
  • 门店号
  • └ member_card_no
  • String
  • 可选
  • 111111122222
  • 会员卡号
  • └ operator
  • String
  • 可选
  • 111
  • 操作员
  • └ order_type
  • Number
  • 必须
  • 0
  • 交易类别:0 : 收银 1 :退款
  • └ out_trade_no
  • String
  • 必须
  • HZ01111222333
  • POS交易流水号
  • payments
  • PosPaymentDto []
  • 必须
  • 支付列表
  • └ extend_params
  • String
  • 可选
  • {"abc":"123",isManual:true}
  • 扩展参数。注:POS中的支付大类、小类,通过extendParams传。支付大类属性名: paymentType,支付小类属性名: paymentSubType。
  • └ payment_amount
  • Number
  • 必须
  • 9000
  • 支付/优惠 金额,单位:分
  • └ payment_code
  • String
  • 必须
  • C01
  • 支付代码
  • └ payment_line_no
  • Number
  • 必须
  • 1
  • 支付行号
  • └ payment_name
  • String
  • 可选
  • 现金
  • 支付名称
  • └ payment_no
  • String
  • 可选
  • 2017032100001111
  • 支付流水号
  • └ pay_type
  • Number
  • 可选
  • 1
  • 1:支付,2:优惠
  • sale_items
  • PosSaleItemDto []
  • 必须
  • 订单商品列表
  • └ discount_amount
  • Number
  • 必须
  • 1000
  • 折扣金额,单位:分
  • └ extend_params
  • String
  • 可选
  • {"abc":"123"}
  • 扩展参数
  • └ goods_id
  • String
  • 必须
  • 111
  • 商品ID
  • └ goods_line_no
  • Number
  • 必须
  • 1
  • 商品行号
  • └ goods_name
  • String
  • 可选
  • 测试商品
  • 商品名称
  • └ item_type
  • String
  • 必须
  • C
  • 商品类型: N:老单品;Y:喵货;C:云单品;M:零售+
  • └ mall_no
  • String
  • 必须
  • HZ01
  • 门店号
  • └ ori_price
  • Number
  • 必须
  • 10000
  • 商品原价,单位:分
  • └ pay_amount
  • Number
  • 必须
  • 9000
  • 应付金额,单位:分
  • └ quantity
  • String
  • 必须
  • 1
  • 数量,可小数点
  • └ sale_ticket_no
  • String
  • 可选
  • A111
  • 开票单号()
  • └ settle_code
  • String
  • 可选
  • 111222
  • 结算码(退款的时候必须有)
  • └ shop_no
  • String
  • 必须
  • 1001
  • 专柜号
  • └ unique_code
  • String
  • 可选
  • 1112222
  • 唯一码
  • split_promotions
  • PosSplitPromotionDto []
  • 可选
  • 优惠分摊列表
  • └ coupon_code
  • String
  • 可选
  • 1002
  • 券码
  • └ goods_line_no
  • Number
  • 可选
  • 1
  • 商品行号,必须
  • └ payment_line_no
  • Number
  • 可选
  • 1
  • 支付行号,必须
  • └ settle_code
  • String
  • 可选
  • 1111
  • 结算码
  • └ split_amount
  • Number
  • 可选
  • 1000
  • 分摊金额,必须
  • └ pay_time
  • String
  • 可选
  • 2017-03-21 12:12:12
  • 该支付方式支付时间
  • └ payment
  • String
  • 可选
  • E0
  • 大支付方式
  • └ sub_payment
  • String
  • 可选
  • 22
  • 小支付方式
  • └ pay_type
  • Number
  • 可选
  • 1
  • 1:支付,2:优惠
  • └ extend_params
  • String
  • 可选
  • {iaManual:true}
  • 是否压卡
  • └ total_amount
  • Number
  • 可选
  • 100000
  • 订单金额,单位分
  • └ trade_no
  • String
  • 可选
  • 201703210000111112
  • OC交易流水号
  • └ pay_time
  • String
  • 必须
  • 2017-03-21 12:12:12
  • 付款/退款 时间
  • └ out_refund_no
  • String
  • 可选
  • 11112222
  • 退款流水号(退款时必须有)
  • └ member_mobile_phone
  • String
  • 可选
  • 18900008888
  • 会员手机号
  • └ sale_channle
  • Number
  • 可选
  • 1
  • 订单来源
  • └ terminal_no
  • String
  • 可选
  • 344
  • 收银机号

响应参数

名称 类型 示例值 描述
out_trade_no String HZ011000011111 POS交易号
ex_code Number errCode
ex_msg String errMsg
is_success Boolean true success

请求示例

  • JAVA
  • .NET
  • PHP
  • CURL
  • Python
  • C/C++
  • NodeJS
TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
AlibabaMjOcPayRequest req = new AlibabaMjOcPayRequest();
AlibabaMjOcPayRequest.PosOrderDto obj1 = new AlibabaMjOcPayRequest.PosOrderDto();
obj1.setExtendParams("{\"abc\":\"123\"}");
obj1.setLogisticsWay(1L);
obj1.setMallNo("HZ01");
obj1.setMemberCardNo("111111122222");
obj1.setOperator("111");
obj1.setOrderType(0L);
obj1.setOutTradeNo("HZ01111222333");
List<AlibabaMjOcPayRequest.PosPaymentDto> list3 = new ArrayList<AlibabaMjOcPayRequest.PosPaymentDto>();
AlibabaMjOcPayRequest.PosPaymentDto obj4 = new AlibabaMjOcPayRequest.PosPaymentDto();
list3.add(obj4);
obj4.setExtendParams("{\"abc\":\"123\",isManual:true}");
obj4.setPaymentAmount(9000L);
obj4.setPaymentCode("C01");
obj4.setPaymentLineNo(1L);
obj4.setPaymentName("现金");
obj4.setPaymentNo("2017032100001111");
obj4.setPayType(1L);
obj1.setPayments(list3);
List<AlibabaMjOcPayRequest.PosSaleItemDto> list6 = new ArrayList<AlibabaMjOcPayRequest.PosSaleItemDto>();
AlibabaMjOcPayRequest.PosSaleItemDto obj7 = new AlibabaMjOcPayRequest.PosSaleItemDto();
list6.add(obj7);
obj7.setDiscountAmount(1000L);
obj7.setExtendParams("{\"abc\":\"123\"}");
obj7.setGoodsId("111");
obj7.setGoodsLineNo(1L);
obj7.setGoodsName("测试商品");
obj7.setItemType("C");
obj7.setMallNo("HZ01");
obj7.setOriPrice(10000L);
obj7.setPayAmount(9000L);
obj7.setQuantity("1");
obj7.setSaleTicketNo("A111");
obj7.setSettleCode("111222");
obj7.setShopNo("1001");
obj7.setUniqueCode("1112222");
obj1.setSaleItems(list6);
List<AlibabaMjOcPayRequest.PosSplitPromotionDto> list9 = new ArrayList<AlibabaMjOcPayRequest.PosSplitPromotionDto>();
AlibabaMjOcPayRequest.PosSplitPromotionDto obj10 = new AlibabaMjOcPayRequest.PosSplitPromotionDto();
list9.add(obj10);
obj10.setCouponCode("1002");
obj10.setGoodsLineNo(1L);
obj10.setPaymentLineNo(1L);
obj10.setSettleCode("1111");
obj10.setSplitAmount(1000L);
obj10.setPayTime("2017-03-21 12:12:12");
obj10.setPayment("E0");
obj10.setSubPayment("22");
obj10.setPayType(1L);
obj10.setExtendParams("{iaManual:true}");
obj1.setSplitPromotions(list9);
obj1.setTotalAmount(100000L);
obj1.setTradeNo("201703210000111112");
obj1.setPayTime("2017-03-21 12:12:12");
obj1.setOutRefundNo("11112222");
obj1.setMemberMobilePhone("18900008888");
obj1.setSaleChannle(1L);
obj1.setTerminalNo("344");
req.setPosOrder(obj1);
AlibabaMjOcPayResponse rsp = client.execute(req, sessionKey);
System.out.println(rsp.getBody());

响应示例

  • XML示例
  • JSON示例
<alibaba_mj_oc_pay_response>
    <out_trade_no>HZ011000011111</out_trade_no>
    <ex_code></ex_code>
    <ex_msg></ex_msg>
    <is_success>true</is_success>
</alibaba_mj_oc_pay_response>

异常示例

  • XML示例
  • JSON示例
<error_response>
    <code>50</code>
    <msg>Remote service error</msg>
    <sub_code>isv.invalid-parameter</sub_code>
    <sub_msg>非法参数</sub_msg>
</error_response>

错误码解释

错误码 错误描述 解决方案

API工具

如何获得此API

FAQ

返回
顶部