感谢您的反馈!
商户通过该接口进行交易的创建下单
环境 | HTTPS请求地址 |
---|---|
正式环境 | https://openapi.alipay.com/gateway.do |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
app_id | String | 是 | 32 | 支付宝分配给开发者的应用ID | 2014072300007148 |
method | String | 是 | 128 | 接口名称 | alipay.trade.create |
format | String | 否 | 40 | 仅支持JSON | JSON |
charset | String | 是 | 10 | 请求使用的编码格式,如utf-8,gbk,gb2312等 | utf-8 |
sign_type | String | 是 | 10 | 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 | RSA2 |
sign | String | 是 | 256 | 商户请求参数的签名串,详见签名 | 详见示例 |
timestamp | String | 是 | 19 | 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" | 2014-07-24 03:07:50 |
version | String | 是 | 3 | 调用的接口版本,固定为:1.0 | 1.0 |
notify_url | String | 否 | 256 | 支付宝服务器主动通知商户服务器里指定的页面http/https路径。 | http://api.test.alipay.net/atinterface/receive_notify.htm |
app_auth_token | String | 否 | 40 | 详见应用授权概述 | |
biz_content | String | 是 | - | 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
out_trade_no | String | 必须 | 64 | 商户订单号,64个字符以内、只能包含字母、数字、下划线;需保证在商户端不重复 | 20150320010101001 |
seller_id | String | 可选 | 28 | 卖家支付宝用户ID。
如果该值为空,则默认为商户签约账号对应的支付宝用户ID |
2088102146225135 |
total_amount | Price | 必须 | 9 | 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]
如果同时传入了【打折金额】,【不可打折金额】,【订单总金额】三者,则必须满足如下条件:【订单总金额】=【打折金额】+【不可打折金额】 |
88.88 |
discountable_amount | Price | 可选 | 9 | 可打折金额.
参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果该值未传入,但传入了【订单总金额】,【不可打折金额】则该值默认为【订单总金额】-【不可打折金额】 |
8.88 |
subject | String | 必须 | 256 | 订单标题 | Iphone6 16G |
body | String | 可选 | 128 | 对交易或商品的描述 | Iphone6 16G |
buyer_id | String | 特殊可选 | 28 | 买家的支付宝唯一用户号(2088开头的16位纯数字),和buyer_logon_id不能同时为空 | 2088102146225135 |
goods_detail | GoodsDetail [] | 可选 | - | 订单包含的商品列表信息.Json格式.
其它说明详见:“商品明细说明” |
[{"goods_id":"apple-01","goods_name":"ipad","goods_category":"7788230","price":"2000.00","quantity":"1"}] |
|
|||||
operator_id | String | 可选 | 28 | 商户操作员编号 | Yx_001 |
store_id | String | 可选 | 32 | 商户门店编号 | NJ_001 |
terminal_id | String | 可选 | 32 | 商户机具终端编号 | NJ_T_001 |
extend_params | ExtendParams | 可选 | - | 业务扩展参数 | {“sys_service_provider_id”:” 2088511833207846”} |
|
|||||
timeout_express | String | 可选 | 6 | 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。 | 90m |
business_params | String | 可选 | 512 | 商户传入业务信息,具体值要和支付宝约定,应用于安全,营销等参数直传场景,格式为json格式 | {"data":"123"} |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
code | String | 是 | - | 网关返回码,详见文档 | 40004 |
msg | String | 是 | - | 网关返回码描述,详见文档 | Business Failed |
sub_code | String | 否 | - | 业务返回码,详见文档 | ACQ.TRADE_HAS_SUCCESS |
sub_msg | String | 否 | - | 业务返回码描述,详见文档 | 交易已被支付 |
sign | String | 是 | - | 签名,详见文档 | DZXh8eeTuAHoYE3w1J+POiPhfDxOYBfUNn1lkeT/V7P4zJdyojWEa6IZs6Hz0yDW5Cp/viufUb5I0/V5WENS3OYR8zRedqo6D+fUTdLHdc+EFyCkiQhBxIzgngPdPdfp1PIS7BdhhzrsZHbRqb7o4k3Dxc+AAnFauu4V6Zdwczo= |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
out_trade_no | String | 必填 | 64 | 商户订单号 | 20150423001001 |
trade_no | String | 必填 | 64 | 支付宝交易号 | 2015042321001004720200028594 |
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2"); AlipayTradeCreateRequest request = new AlipayTradeCreateRequest(); request.setBizContent("{" + "\"out_trade_no\":\"20150320010101001\"," + "\"seller_id\":\"2088102146225135\"," + "\"total_amount\":88.88," + "\"discountable_amount\":8.88," + "\"subject\":\"Iphone616G\"," + "\"body\":\"Iphone616G\"," + "\"buyer_id\":\"2088102146225135\"," + "\"goods_detail\":[{" + "\"goods_id\":\"apple-01\"," + "\"goods_name\":\"ipad\"," + "\"quantity\":1," + "\"price\":2000," + "\"goods_category\":\"34543238\"," + "\"body\":\"特价手机\"," + "\"show_url\":\"http://www.alipay.com/xxx.jpg\"" + "}]," + "\"operator_id\":\"Yx_001\"," + "\"store_id\":\"NJ_001\"," + "\"terminal_id\":\"NJ_T_001\"," + "\"extend_params\":{" + "\"sys_service_provider_id\":\"2088511833207846\"" + "}," + "\"timeout_express\":\"90m\"," + "\"business_params\":\"{\\\"data\\\":\\\"123\\\"}\"" + "}"); AlipayTradeCreateResponse response = alipayClient.execute(request); if(response.isSuccess()){ System.out.println("调用成功"); } else { System.out.println("调用失败"); }
{ "alipay_trade_create_response":{ "msg":"Success", "code":"10000", "out_trade_no":"20150423001001", "trade_no":"2015042321001004720200028594" }, "sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE" }
{ "alipay_trade_create_response":{ "msg":"Service Currently Unavailable", "code":"20000", "sub_msg":"系统繁忙", "sub_code":"isp.unknow-error" }, "sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE" }
错误码 | 错误描述 | 解决方案 |
---|---|---|
ACQ.SYSTEM_ERROR | 接口返回错误 | 请立即调用查询订单API,查询当前订单的状态,并根据订单状态决定下一步的操作 |
ACQ.INVALID_PARAMETER | 参数无效 | 检查请求参数,修改后重新发起请求 |
ACQ.ACCESS_FORBIDDEN | 无权限使用接口 | 联系支付宝小二进行签约 |
ACQ.EXIST_FORBIDDEN_WORD | 订单信息中包含违禁词 | 修改订单信息后,重新发起请求 |
ACQ.PARTNER_ERROR | 应用APP_ID填写错误 | 联系支付宝小二,确认APP_ID的状态 |
ACQ.TOTAL_FEE_EXCEED | 订单总金额超过限额 | 修改订单金额再发起请求 |
ACQ.CONTEXT_INCONSISTENT | 交易信息被篡改 | 更换商家订单号后,重新发起请求 |
ACQ.TRADE_HAS_SUCCESS | 交易已被支付 | 确认该笔交易信息是否为当前买家的,如果是则认为交易付款成功,如果不是则更换商家订单号后,重新发起请求 |
ACQ.TRADE_HAS_CLOSE | 交易已经关闭 | 更换商家订单号后,重新发起请求 |
ACQ.BUYER_SELLER_EQUAL | 买卖家不能相同 | 更换买家重新付款 |
ACQ.TRADE_BUYER_NOT_MATCH | 交易买家不匹配 | 更换商家订单号后,重新发起请求 |
ACQ.BUYER_ENABLE_STATUS_FORBID | 买家状态非法 | 用户联系支付宝小二,确认买家状态为什么非法 |
ACQ.SELLER_BEEN_BLOCKED | 商家账号被冻结 | 联系支付宝小二,解冻账号 |
ACQ.ERROR_BUYER_CERTIFY_LEVEL_LIMIT | 买家未通过人行认证 | 让用户联系支付宝小二并更换其它付款方式 |
ACQ.SUB_MERCHANT_CREATE_FAIL | 二级商户创建失败 | 检查上送的二级商户信息是否有效 |
ACQ.SUB_MERCHANT_TYPE_INVALID | 二级商户类型非法 | 检查上传的二级商户类型是否有效 |
通知类型 | 描述 | 默认开启 |
---|---|---|
tradeStatus.TRADE_CLOSED | 交易关闭 | 0 |
tradeStatus.TRADE_FINISHED | 交易完结 | 0 |
tradeStatus.TRADE_SUCCESS | 支付成功 | 1 |
tradeStatus.WAIT_BUYER_PAY | 交易创建 | 0 |
https://www.merchant.com/receive_notify.htm?notify_type=trade_status_sync¬ify_id=91722adff935e8cfa58b3aabf4dead6ibe¬ify_time=2017-02-16 21:46:15&sign_type=RSA2&sign=WcO+t3D8Kg71dTlKwN7r9PzUOXeaBJwp8/FOuSxcuSkXsoVYxBpsAidprySCjHCjmaglNcjoKJQLJ28/Asl93joTW39FX6i07lXhnbPknezAlwmvPdnQuI01HZsZF9V1i6ggZjBiAd5lG8bZtTxZOJ87ub2i9GuJ3Nr/NUc9VeY=