交易与支付模块接口文档
一、发起支付(一个商品)
1、基本信息:
请求路径:/trade/request
请求方式:POST
接口描述:该接口用于对一个商品进行购买时发起支付请求
2、请求参数:
请求参数格式:application/x-www-form-urlencoded
参数名称 | 说明 | 类型 | 是否必须 | 备注 |
---|---|---|---|---|
id | 商品id | number | 是 | |
return_url | 支付完成后需要返回的地址 | String | 是 | 可以为空但不能不传 |
3、请求样例:
~/trade/request?id=2&return_url
4、响应数据:
响应类型:html/utf-8
响应参数说明:html代码用于页面重定向
响应数据样例:
<form name="punchout_form" method="post"
action="https://openapi-sandbox.dl.alipaydev.com/gateway.do?charset=UTF-8&method=alipay.trade.wap.pay&sign=g5BakLqgnCDBrOPOi5e7kS%2BYOlP78Zb5pfHsh6j8mUGH4Biv9kxG1CO9Ghqlqhx3FJnb0iAhB8hwCtECdoFZsIsYbK5AY5clauDrv9x765sFlv3kyAC8Pof9FJF5YDinIR80T70pGWOzP8wj6x3GySXGnygK%2Fz%2Bmz9IlGeuNX4I7Lyw8UX9bw94YDrL20slsf9RkoC9utQlM43zz9HI%2F2APknkzEMoDQ7sG5R8Bff%2FpUzCTW%2FmRev6FnPvb2P0wQq7bDCn0NmuwxQD420hTJWFgAW8YIRZMLimJwdr%2FFNwDJv4JQGnetuQkVbnPyz7VXILXa2kPhtbIXJE6DoE%2FEzw%3D%3D¬ify_url=http%3A%2F%2Fuxqmjb.natappfree.cc%2Ftrade%2FpayNotify&version=1.0&app_id=9021000142633600&sign_type=RSA2×tamp=2024-12-06+03%3A07%3A41&alipay_sdk=alipay-sdk-java-4.39.134.ALL&format=json">
<input type="hidden" name="biz_content" value="{"out_trade_no":"1733425661078a245c8c2","passback_params":"id=2=user_id=2","product_code":"QUICK_WAP_WAY","quit_url":"","seller_id":"2088721051176121","subject":"软件工程导论","time_expire":"2024-12-06 03:17:41","total_amount":"9.99"}">
<input type="submit" value="立即支付" style="display:none" >
</form>
<script>
document.forms[0].submit();
</script>
二、发起支付(多个商品)
1、基本信息:
请求路径:/trade/requestList
请求方式:POST
接口描述:该接口用于对多个商品进行统一购买时发起支付请求
2、请求参数:
请求参数格式:application/json
参数名称 | 说明 | 类型 | 是否必须 | 备注 |
---|---|---|---|---|
ids | 需要购买的商品id列表 | number数组 | 是 | |
return_url | 支付完成后需要返回的地址 | String | 是 | 可以为空但不能不传 |
3、请求样例:
params参数:
~/trade/request?id=2
body参数:
[3,4]
4、响应数据:
响应类型:html/utf-8
响应参数说明:html代码用于页面重定向
响应数据样例:
<form name="punchout_form" method="post"
action="https://openapi-sandbox.dl.alipaydev.com/gateway.do?charset=UTF-8&method=alipay.trade.wap.pay&sign=WAKE5nsxThz%2B%2FbK%2FnrQAk6rMcCXC3AKnj3lQzVB%2BubHiVkZa9ePYvOiIrZsn5fgJza56UvzlYIPw9CHsvRAztrK%2B7H2Kdj4Q5n0nbWRgq%2B6ncRGIpNqYk8S%2FMji2DbUhIIJIqizQiYnfWzTS9LW1ifEIsFI49MLVhUPdS%2FB0X53RSQPM4Qash0dSIabLEnC87R2aEYrlDhhj5GnRY1zZz3GUHbnw67QtgoGTHXqyOwAWDHpAwNzR2gDKi4Ye7YzYRcusxh41foSvxn%2FiJoVQrtJW3NIQEAKhIizAj2LDNqxvZHKHV60VYAxkRfxc0ldEL6wizP3D8COnsQ4GCktcIA%3D%3D¬ify_url=http%3A%2F%2Fjt983e.natappfree.cc%2Ftrade%2FpayNotify&version=1.0&app_id=9021000142633600&sign_type=RSA2×tamp=2024-12-06+15%3A11%3A19&alipay_sdk=alipay-sdk-java-4.39.134.ALL&format=json">
<input type="hidden" name="biz_content" value="{"out_trade_no":"1733469079675d03e162b","passback_params":"user_id=2=id=3=id=4","product_code":"QUICK_WAP_WAY","quit_url":"","seller_id":"2088721051176121","subject":"MiniShopping","time_expire":"2024-12-06 15:21:19","total_amount":"19.98"}">
<input type="submit" value="立即支付" style="display:none" >
</form>
<script>
document.forms[0].submit();
</script>
三、支付时间查询
1、基本信息:
请求路径:/trade/searchEndTime
请求方式:GET
接口描述:该接口用于查询支付状态的商品最晚支付时间,可以用于计算并显示剩余支付时间
2、请求参数:
请求参数格式:application/x-www-form-urlencoded
参数名称 | 说明 | 类型 | 是否必须 | 备注 |
---|---|---|---|---|
id | 商品id | number | 是 | 多个商品同一个支付请求时随便其中一个商品id就行 |
3、请求样例:
~/trade/searchEndTime?id=2
4、响应数据:
响应类型:applocation/json
响应参数说明:
参数名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
code | number | 是 | 响应码,0-成功,1-失败 | ||
message | String | 否 | 提示信息 | ||
data | String | 是 | 返回的数据 |
响应数据样例:
2024-12-06 03:17:41
四、支付页面找回
1、基本信息:
请求路径:/trade/resetPage
请求方式:POST
接口描述:该接口用于对支付状态下商品的支付页面进行找回
2、请求参数:
请求参数格式:application/x-www-form-urlencoded
参数名称 | 说明 | 类型 | 是否必须 | 备注 |
---|---|---|---|---|
id | 商品id | number | 是 | 多个商品同一个支付请求时随便其中一个商品id就行 |
3、请求样例:
~/trade/resetPage?id=2&return_url
4、响应数据:
响应类型:html/utf-8
响应参数说明:html代码用于页面重定向
响应数据样例:
<form name="punchout_form" method="post"
action="https://openapi-sandbox.dl.alipaydev.com/gateway.do?charset=UTF-8&method=alipay.trade.wap.pay&sign=g5BakLqgnCDBrOPOi5e7kS%2BYOlP78Zb5pfHsh6j8mUGH4Biv9kxG1CO9Ghqlqhx3FJnb0iAhB8hwCtECdoFZsIsYbK5AY5clauDrv9x765sFlv3kyAC8Pof9FJF5YDinIR80T70pGWOzP8wj6x3GySXGnygK%2Fz%2Bmz9IlGeuNX4I7Lyw8UX9bw94YDrL20slsf9RkoC9utQlM43zz9HI%2F2APknkzEMoDQ7sG5R8Bff%2FpUzCTW%2FmRev6FnPvb2P0wQq7bDCn0NmuwxQD420hTJWFgAW8YIRZMLimJwdr%2FFNwDJv4JQGnetuQkVbnPyz7VXILXa2kPhtbIXJE6DoE%2FEzw%3D%3D¬ify_url=http%3A%2F%2Fuxqmjb.natappfree.cc%2Ftrade%2FpayNotify&version=1.0&app_id=9021000142633600&sign_type=RSA2×tamp=2024-12-06+03%3A07%3A41&alipay_sdk=alipay-sdk-java-4.39.134.ALL&format=json">
<input type="hidden" name="biz_content" value="{"out_trade_no":"1733425661078a245c8c2","passback_params":"id=2=user_id=2","product_code":"QUICK_WAP_WAY","quit_url":"","seller_id":"2088721051176121","subject":"软件工程导论","time_expire":"2024-12-06 03:17:41","total_amount":"9.99"}">
<input type="submit" value="立即支付" style="display:none" >
</form>
<script>
document.forms[0].submit();
</script>
五、支付结果查询
1、基本信息:
请求路径:/trade/payResult
请求方式:GET
接口描述:该接口用于查询一个经过支付请求的商品是否完成支付
2、请求参数:
请求参数格式:application/x-www-form-urlencoded
参数名称 | 说明 | 类型 | 是否必须 | 备注 |
---|---|---|---|---|
id | 商品id | number | 是 | 多个商品同一个支付请求时随便其中一个商品id就行 |
3、请求样例:
~/trade/payResult?id=2
4、响应数据:
响应类型:applocation/json
响应参数说明:
参数名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
code | number | 是 | 响应码,0-成功,1-失败 | ||
message | String | 否 | 提示信息 | ||
data | String | 是 | 返回的数据 | ||
响应数据样例: |
支付未完成:
{
"code": 1,
"massage": "未支付",
"data": null
}
支付完成:
{
"code": 0,
"massage": "操作成功",
"data": "当前时间: 00:40:18.886273200 来自于 MiniShopping "
}
五、支付取消
1、基本信息:
请求路径:/trade
请求方式:DELETE
接口描述:该接口用于对支付操作进行取消
2、请求参数:
请求参数格式:application/json
参数名称 | 说明 | 类型 | 是否必须 | 备注 |
---|---|---|---|---|
ids | 需要购买的商品id列表 | number数组 | 是 |
3、请求样例:
[3,4]
4、响应数据:
响应类型:applocation/json
响应参数说明:
参数名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
code | number | 是 | 响应码,0-成功,1-失败 | ||
message | String | 否 | 提示信息 | ||
data | String | 是 | 返回的数据 | ||
响应数据样例: |
{
"code": 0,
"massage": "操作成功",
"data": "当前时间: 01:19:23.116903600 来自于 MiniShopping "
}
七、测试账号:
买家账号:jfbthx6911@sandbox.com
登录密码:111111
支付密码:111111