alibaba.xlife.onsite.trade.create (喵街条码支付请求)

收银员使用扫码设备读取用户喵街“付款码”后,将二维码或条码信息通过本接口上送至喵街发起支付。

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
onsite_trade_create_request OnsiteTradeCreateRequest 必须 创建订单请求参数
  • └ allowable_pay_channels
  • String
  • 可选
  • mj_vcard,alipay
  • 允许使用的资金渠道。如果不指定,则可以使用所有资金渠道;如果存在多个资金渠道,以逗号分隔,取值:mj_vcard 和 alipay。mj_vcard代表喵街储值卡,alipay代表支付宝。此处设定的顺序代表了资金渠道出现的顺序。在实际支付时,还会判断其它条件控制资金渠道(如使用储值权益,即使在创建订单时指定资金渠道为支付宝,也必须使用储值卡支付)
  • └ attachment
  • String
  • 可选
  • demo
  • 业务透传参数。附加数据,在查询订单中原样返回,该字段主要用于商户携带订单的自定义数据
  • └ auth_code
  • String
  • 必须
  • 28763443825664394
  • 支付授权码。 消费者喵街中的“付款码”信息
  • └ body
  • String
  • 可选
  • iPhone6S 16G
  • 订单描述。对交易或商品的描述
  • └ extend_params
  • String
  • 可选
  • [{"abc":"123"}]
  • 业务扩展参数,json格式
  • goods_detail_list
  • GoodsDetail []
  • 可选
  • 商品明细列表。订单包含的商品列表信息
  • └ shop_no
  • String
  • 可选
  • 10460
  • 商户自有的专柜号
  • └ shop_name
  • String
  • 可选
  • ecco
  • 专柜名
  • └ goods_id
  • String
  • 必须
  • 10460001
  • 商户自有的商品ID
  • └ goods_name
  • String
  • 必须
  • iPad
  • 商品名称
  • └ amount
  • String
  • 可选
  • 8800
  • 商品总价,单位为分。与商品单价之间是二选一的关系。可以为负值,用于表达折扣
  • └ price
  • String
  • 可选
  • 8800
  • 商品单价,单位为分。与商品总价之间是二选一的关系。可以为负值,用于表达折扣
  • └ quantity
  • String
  • 必须
  • 1
  • 商品数量,支持小数
  • └ out_card_no
  • String
  • 可选
  • 12345678
  • 商户自有的会员卡号
  • └ operator_id
  • String
  • 可选
  • Yx_001
  • 商户操作员编号
  • └ out_trade_no
  • String
  • 必须
  • 20150320010101001
  • 商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复
  • └ store_id
  • String
  • 必须
  • 12345678
  • 商户门店编号。可以是喵街内的商户门店ID,也可以是商户系统内自己的门店ID,其取值的含义由store_id_type定义
  • └ store_id_type
  • String
  • 必须
  • miaojie
  • 商户门店编号的类型。取值:miaojie和out。如果取值为miaojie,则store_id的取值为商户门店在喵街中的编号;如果取值为out,则store_id的取值为商户自己的编号
  • └ subject
  • String
  • 必须
  • iPhone6S 16G
  • 订单标题
  • └ terminal_id
  • String
  • 可选
  • NJ_T_001
  • 商户机具终端编号
  • └ time_expire
  • String
  • 可选
  • 2015-11-25 11:01:01
  • 支付超时时间。该笔订单允许的最晚付款时间,逾期将关闭交易。格式为:yyyy-MM-dd HH:mm:ss。时区为GMT+8。 线下条码支付,建议传入当前时间往后10分钟的时间点
  • └ total_amount
  • String
  • 必须
  • 88888
  • 订单总金额,单位为分,取值范围[0,10000000000]
  • └ undiscountable_amount
  • String
  • 可选
  • 50000
  • 不可打折金额。不参与优惠计算的金额,单位为分,取值范围[0,10000000000]。取值不能超过订单总金额
  • └ buyer_auto_confirm
  • String
  • 可选
  • N
  • 是否自动完成消费者对订单的确认。如果是,则无需消费者确认环节,直接进入待付款。取值:Y、N。缺省值为N

响应参数

名称 类型 示例值 描述
onsite_trade_create_response OnsiteTradeCreateResponse onsiteTradeCreateResponse 创建订单响应信息。必然返回
  • └ buyer_id
  • Number
  • 12345
  • 消费者在喵街的用户ID。必然返回
  • └ buyer_nick
  • String
  • 159****5620
  • 消费者在喵街的昵称,将用*号屏蔽部分内容。必然返回
  • └ out_trade_no
  • String
  • 6823789339978248
  • 原支付请求的商户订单号。必然返回
  • └ total_amount
  • String
  • 200000
  • 订单总金额,单位为分。必然返回
  • └ trade_no
  • String
  • 2013112011001004330000121536
  • 喵街交易凭证号。必然返回
  • └ trade_status
  • String
  • WAIT_BUYER_PAY
  • 交易状态。必然返回。取值:WAIT_FOR_CONFIRM,待确认,此时不能申请退款,可以撤销;WAIT_BUYER_PAY,等待消费者付款 ,此时不能申请退款,可以撤销;TRADE_SUCCESS,付款成功,此时可以申请退款,可以撤销(自动申请退款);TRADE_FINISHED,交易成功,此时可以申请退款,可以撤销(自动申请退款);TRADE_CLOSED,交易关闭,此时不能申请退款,不能撤销
  • └ flag365
  • Boolean
  • true
  • 365控制标,true为控制,false为不控制

请求示例

  • JAVA
  • .NET
  • PHP
  • CURL
  • Python
  • C/C++
  • NodeJS
TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
AlibabaXlifeOnsiteTradeCreateRequest req = new AlibabaXlifeOnsiteTradeCreateRequest();
AlibabaXlifeOnsiteTradeCreateRequest.OnsiteTradeCreateRequest obj1 = new AlibabaXlifeOnsiteTradeCreateRequest.OnsiteTradeCreateRequest();
obj1.setAllowablePayChannels("mj_vcard,alipay");
obj1.setAttachment("demo");
obj1.setAuthCode("28763443825664394");
obj1.setBody("iPhone6S 16G");
obj1.setExtendParams("[{\"abc\":\"123\"}]");
List<AlibabaXlifeOnsiteTradeCreateRequest.GoodsDetail> list3 = new ArrayList<AlibabaXlifeOnsiteTradeCreateRequest.GoodsDetail>();
AlibabaXlifeOnsiteTradeCreateRequest.GoodsDetail obj4 = new AlibabaXlifeOnsiteTradeCreateRequest.GoodsDetail();
list3.add(obj4);
obj4.setShopNo("10460");
obj4.setShopName("ecco");
obj4.setGoodsId("10460001");
obj4.setGoodsName("iPad");
obj4.setAmount("8800");
obj4.setPrice("8800");
obj4.setQuantity("1");
obj1.setGoodsDetailList(list3);
obj1.setOutCardNo("12345678");
obj1.setOperatorId("Yx_001");
obj1.setOutTradeNo("20150320010101001");
obj1.setStoreId("12345678");
obj1.setStoreIdType("miaojie");
obj1.setSubject("iPhone6S 16G");
obj1.setTerminalId("NJ_T_001");
obj1.setTimeExpire("2015-11-25 11:01:01");
obj1.setTotalAmount("88888");
obj1.setUndiscountableAmount("50000");
obj1.setBuyerAutoConfirm("N");
req.setOnsiteTradeCreateRequest(obj1);
AlibabaXlifeOnsiteTradeCreateResponse rsp = client.execute(req, sessionKey);
System.out.println(rsp.getBody());

响应示例

  • XML示例
  • JSON示例
<alibaba_xlife_onsite_trade_create_response>
    <onsite_trade_create_response>
        <buyer_id>12345</buyer_id>
        <buyer_nick>159****5620</buyer_nick>
        <out_trade_no>6823789339978248</out_trade_no>
        <total_amount>200000</total_amount>
        <trade_no>2013112011001004330000121536</trade_no>
        <trade_status>WAIT_BUYER_PAY</trade_status>
        <flag365>true</flag365>
    </onsite_trade_create_response>
</alibaba_xlife_onsite_trade_create_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>

错误码解释

错误码 错误描述 解决方案
isv.INVALID_PARAMETER 无效参数 ISV开发人员需检查入参是否正确。
isv.INVALID_AUTH_CODE 无效条形码 重新扫码。
isp.QUERY_TRADE_FAIL 查询交易失败 ISV需间隔2秒重试,最多重试10次。如果还是有问题,则需将该问题提交到喵街技术支持人员解决。
isp.QUERY_STORE_FAIL 查询门店失败 ISV需间隔2秒重试,最多重试10次。如果还是有问题,则需将该问题提交到喵街技术支持人员解决。
isp.CREATE_OP_ORDER_FAIL 保存订单失败 可重试,最多重试5次。如果还是有问题,则需将该问题提交到喵街技术支持人员解决。
isp.STORE_ALIPAY_NOT_EXISTS 商户支付宝帐号不存在 需联系喵街相关人员增加配置
isp.STORE_NOT_FOUND 商户不存在 该商户可能尚未入驻。需联系喵街相关人员解决。
isp.SYSTEM_ERROR 系统异常 ISV需间隔2秒重试,最多重试10次。如果还是有问题,则需将该问题提交到喵街技术支持人员解决。
20020 非喵街条码 需出示喵街条码
20104 喵街支付码已过期,请刷新后重试 喵街支付码已过期,请刷新后重试
601 无效参数 需检查参数

API工具

如何获得此API

FAQ

返回
顶部