订单创建

接口说明:商户发起创建订单并支付。

请求地址:https://host/checkout/trade/pay.html

业务请求参数:

参数 类型 必填 备注
sappId string 商户在系统后台创建的sappId
subMchid string 二级商户id,不同的支付类型,值不一样
outOrderId string 商户订单id,需保证商户下唯一,最大长度64
subject string 订单标题、描述
amount int 订单需支付金额,单位为:分
payType string 支付类型,目前仅支持: ALIPAY
extInfo string 支付扩展参数,系统不做处理,回调通知时返回调用方
buyerId string 买家openid,JSAPI 必填
opappid string 小程序应用id,JSAPI 必填
notifyUrl string 通知回调地址
orderType int 订单类型, 目前仅支持普通订单: 0
prodType string 支付产品类型,native支付:NATIVE, app支付: APP,WAP 支付: WAP, PC电脑网站支付:PCSITE ,JSAPI: JSAPI ; 目前仅支持 WAP 、APP、PCSITE
userIp string 订单用户ip
dataType string 指定返回数据格式,支付url地址: URL 、 支付表单: FORM ,当prodType为PCSITE 或者 WAP, 且 payType为ALIPAY 时生效 ,默认 FORM
successUrl string prodType 为WAP、PCSITE 时指定付款成功跳转地址,以https或http 开头的url地址,且长度不要超过200
cancelUrl string prodType 为WAP、PCSITE 时指定付款取消跳转地址,以https或http 开头的url地址,且长度不要超过200
expireTime string 订单支付过期时间,格式"yyyy-MM-dd HH:mm:ss"
extParams JSONObject 扩展参数,按需传参,若为支付宝产品,当前则仅支持extUserInfo (对应支付宝外部指定买家参数)、goodsDetail(商品列表信息,格式为数组)、pcQrConfig(支付宝pc电脑网站支付二维码设置) 请参考扩展参数extUserInfo子属性goodsDetail子属性pcQrConfig子属性

扩展参数

extParams参数extUserInfo子属性(格式为JSONObject):

参数 类型 必填 备注
certNo string 买家证件号。 最大长度64
certType string 指定买家证件类型,最大长度128
identityHash string 买家加密身份信息,最大长128
minAge string 允许的最小买家年龄,最大长3
mobile string 指定买家手机号,最大长20
name string 指定买家姓名,最大长16
needCheckInfo string 是否强制校验买家信息;可选值T/F,最大长度1

注: 按需传参,不需要校验的参数,请勿传空字符串,以免影响支付

支付宝订单 extParams参数goodsDetail 单元素子属性(格式为JSONArray):

参数 类型 必填 备注
goodsId string 商品编号。 最大长度32
goodsName string 商品名称,最大长度128
quantity int 商品数量
price string 商品单价,单位为元
goodsCategory string 商品类目,最大长度24
body string 商品描述
showUrl string 展示地址

注: 按需传参,不需要校验的参数,请勿传空字符串,以免影响支付

支付宝订单PC电脑网站支付二维码配置 extParams参数pcQrConfig子属性(格式为JSONObject):

参数 类型 必填 备注
mode string PC扫码支付的方式,订单码-简约前置模式: 0 ;订单码-前置模式: 1 ; 订单码-迷你前置模式: 3 ;订单码-可定义宽度的嵌入式二维码: 4
width int mode=4时该参数有效,商户自定义二维码宽度; 示例值】 100

注: 按需传参,不需要校验的参数,请勿传空字符串,以免影响支付

业务响应参数

业务响应参数(NATIVE):(暂不开放)

参数 类型 必填 备注
orderId string 系统订单号,最大长度64
outOrderId string 商户系统订单号,最大长度64
orderStr string 支付二维码链接

业务响应参数(APP):

参数 类型 必填 备注
orderId string 系统订单号,最大长度64
outOrderId string 商户系统订单号,最大长度64
orderStr string 拉起app支付的订单字符串

业务响应参数(WAP):

参数 类型 必填 备注
orderId string 系统订单号,最大长度64
outOrderId string 商户系统订单号,最大长度64
orderStr string form表单字符串/或url地址

业务响应参数(PCSITE):

参数 类型 必填 备注
orderId string 系统订单号,最大长度64
outOrderId string 商户系统订单号,最大长度64
orderStr string form表单字符串/或url地址

业务响应参数(JSAPI):(暂不开放)

参数 类型 必填 备注
orderId string 系统订单号,最大长度64
outOrderId string 商户系统订单号,最大长度64
orderStr string 第三方支付订单号

示例伪代码

public void createOrder(){
    // 业务参数
    JSONObject bizObj =new JSONObject();
    bizObj.put("sappId",sappid); // 设置sappid
    bizObj.put("subMchid",subMchid); // 二级商户id,不同的支付类型,值不一样 
    bizObj.put("outOrderId","商户订单号");  // 设置商户订单号
    bizObj.put("subject","2L大瓶可乐"); //订单主题 
    bizObj.put("amount",1); // 订单金额,单位:分
    bizObj.put("payType","ALIPAY"); // 设置支付类型,支付宝订单
    bizObj.put("buyerId","buyerId"); // 设置buyerId
    bizObj.put("opappid","opappid"); // 设置opappid
    // bizObj.put("extInfo","parama=xxx"); 
    bizObj.put("notifyUrl","http://xxxx/notify.html"); // 订单状态通知地址
    bizObj.put("orderType",0); //订单类型
    bizObj.put("prodType","APP");//支付产品类型,App支付
    bizObj.put("expireTime","yyyy-MM-dd HH:mm:ss"); // 设置订单过期时间

    JSONObject extParams=new JSONObject(); // 扩展参数,若需要

    JSONObject extUserInfo=new JSONObject();
    extUserInfo.put("minAge","18");  // 设置最小年龄18

    extParams.put("extUserInfo",extUserInfo);
    bizObj.put("extParams",extParams);

    //请求参数
    JSONObject request=new JSONObject();
    request.put("appSecKey","你的appSecKey"); // 应用的appSecKey
    request.put("signType","RSA2"); // 签名算法
    request.put("timestamp","2024-08-01 10:00:00"); // 当前你的服务器系统时间
    request.put("version","1.0"); // 接口版本
    request.put("bizStr",Base64.getEncoder().encodeToString(JSONObject.toJSONString(bizObj).getBytes(StandardCharsets.UTF_8));  // 设置业务参数
    request.put("sign",RSA2Singer.doSign(request.getString("bizStr"),"utf-8",userPrivateKey)); //设置参数加签

    // 发送http请求

    HttpClient.post(request);

}        
© All Rights Reserved            updated 2025-03-31 11:47:23

results matching ""

    No results matching ""

    results matching ""

      No results matching ""