创建订单

应用场景

商户系统调用该接口在易码付生成预支付交易单。

接口链接

请求方式:POST

URL地址:{BASE_URL}/v1/transactions/order.html

请求参数

字段名 变量名 必填 类型 示例值 描述
应用ID app_id String app_9ba59abbe56e057f20f 由易码付平台生成的应用ID,全局唯一。
商户订单号 out_trade_no String 1217752501201407 商户系统内部订单号,由数字、大小写字母_-*组成,且在同一个商户号下唯一
支付方式 pay_type Int 20

支付方式,固定选择值:

20:微信扫码支付(用户主扫)

21:微信APP支付

22:微信JSAPI(适用于公众号或小程序)

30:支付宝扫码支付(用户主扫)

31:支付宝APP支付

商品描述 description String 苹果13Pro 商品描述
签名时无需转码,为避免中文乱码,传递时使用UrlEncode(UTF-8)编码,可参考编码/解码工具
订单金额 amount Int 100 订单金额,单位为分,1元等于100分
客户端IP client_ip String 127.0.0.1 发起支付请求客户端的 IP地址
通知地址 notify_url String http://api.qdoto.com/transactions/notify.html 通知URL必须为直接可访问的URL,不能携带查询串
签名串 sign String e10adc3949ba59abbe56e057f20f883e 待签名字符串进行MD5加密得出的32位签名值,参考签名规则
订单超时时长 time_expire Int 60 单位为分钟,取值为1-21600
附加参数 attach String {"userId":888,"level":3}(编码后:%7B%22userId%22%3A888%2C%22level%22%3A3%7D) 附加数据,推荐JSON格式,在查询订单和支付通知中原样返回,可作为自定义参数使用。
签名时无需转码,传递时使用UrlEncode(UTF-8)编码,可参考编码/解码工具
用户openid openid String oZwt6wvYaXMHC1mBJ0Ek0y1uU 微信JSAPI必传,其他部分渠道需要使用openid的,详情可询问客服
分账标识 split Int 1

1:分账

0:不分账

默认为0

支付扩展参数 pay_extra String JSON格式 根据不同渠道的需要进行传递,详情请咨询技术人员

举例如下:

{BASE_URL}/v1/transactions/order.html?app_id=app_9ba59abbe56e057f20f&out_trade_no=1217752501201407&pay_type=20&description=%E8%8B%B9%E6%9E%9C13Pro&client_ip=127.0.0.1&notify_url=http://api.qdoto.com/transactions/notify.html&time_expire=60&attach={"userId":888,"level":3}&sign=e10adc3949ba59abbe56e057f20f883e

返回结果

字段名 变量名 必填 类型 示例值 描述
业务状态码 resultCode Int 200

200/201/500

此字段是业务标识状态码,200代表业务处理成功,并成功返回

业务状态描述 message String 成功

当resultCode非200时返回信息为错误原因 ,例如

app_id错误或不存在

数据集 Data String -

当resultCode为200时,数据会装入该字段一并返回

out_trade_no String 1217752501201407 Data内的字段:商户订单号
trade_no String YH2307190011178361713 Data内的字段:平台订单号
body String https://qr.alipay.com/bax04775wixee8ieymjz00d8

Data内的字段:支付凭证,用于客户端发起支付。

扫码支付时为二维码链接,将此链接转换成二维码呈现,供用户扫码付款。

APP支付或JSAPI支付时,为客户端调起支付的凭据(JSON格式,具体凭据可参考微信支付宝官方文档)。

channel String wx_qr Data内的字段:支付渠道编码,如:
wx_app:微信官方APP支付
fuyou_wx_app:富友微信APP支付
alipay_qr:支付宝官方扫码支付

不同渠道的body数据不一致,建议根据channel的值,来处理body里的数据

举例如下:

如:channel=alipay_qr时
{
    "resultCode": 200,
    "message": "成功",
    "Data": {
        "out_trade_no": "1217752501201407",
        "trade_no": "YH2307190011178361713",
        "channel": "alipay_qr",
        "body": "https://qr.alipay.com/bax04775wixee8ieymjz00d8"
    }
}
如:channel=wx_jsapi时
{
    "resultCode": 200,
    "message": "成功",
    "Data": {
        "out_trade_no": "1217752501201407",
        "trade_no": "YH2307190011178361713",
        "channel": "wx_jsapi",
        "body": "{\"timeStamp\":\"1705286208\",\"signType\":\"RSA\",\"package\":\"prepay_id=wx151036489648973c12c386b755d62a0000\",\"paySign\":\"CV0aZEwXBiHg4mk+WF5DJ9t6r7+9wgp8hkbs+0jkYhRygwAhfy+1XjQLmc0XHcBr6VuXvoQcrpDr6EVw157ngbHcflZeN0TfXz0wVMoGmNJJyL5tA3IXbECX3MBTI5oWclzWc0yaWNQrJ19JPm1tAa1hSBlGpZLtS7octAUP00qVDNkfb4UFTdQvcj+tq0uC3Wd/OsZsdXNTCM/caGzC3K4R+/l5Akwz+yzEBYlmpZ8AHc67bnIV9sEFRWMYEtEodyg62uJ8PXFSOhthJfqQ+G+NoVlY7WXTvgSTby7j3vANl+txqODBY57oh2Br6kadr0eipZYHyaCz8oavAZOsWg==\",\"nonceStr\":\"1705286208306\",\"appId\":\"wx6c380e0eda7c6c71\"}",
    }
}

状态码

状态码 描述
200 成功
201 业务错误,具体错误信息请参照message字段
500 系统错误