1 微信小程序支付前接口
- 只有登录小程序是用帐号密码方式, 才需要在**下单前调用**此接口缓存用户的openid.
### 1.1 请求
- URI
/sbl/user/wx_xcx/pre_pay/v1 POST
- 参数:
String code; // 手机端获取微信服务器得到
String key; // 当前用户的登录标识
### 1.2 响应数据
> 返回参数异常
> 返回接口的处理成功与否.
- 状态码
200 处理成功.
600 参数异常.
10004 登录超时.
- 会话数据缓存
> 会话缓存时长 2 分钟
---
2 下单购买社保
可以公积金、社保一起购买。pay_channel的值见[通用数据](common.html)的【支付渠道标识】
- 2018-12-06 增加 `sb_wage` 字段。
- 2017-06-05 新开v2接口,移除id_card字段,增加sbuId字段。 [旧接口文档](pre/3购买社保v1.html)
- 2016-11-22 增加shebao_card字段。newCard字段废止,兼容旧版本暂不移除。
- 2016-8-31 五险一金购买时传递五险一金的微信渠道标识.[通用数据](common.html)
- 2016-4-27 增加首次购买的两个字段
## 请求
> URI
// /sbl/buy/shebao/v2 请求方式:POST
/sbl/buy/shebao/v3 请求方式:POST // 支付宝支付签名放在服务器端。 2018-11-07
> 参数
String key; 支付人ID
Integer sbuId; 参保用户标识
Integer cid; 社保标识
Integer month; 参保月份 201508
Integer nums; 购买月份数量
boolean newCard; 【废止】是否办理社保卡
int shebao_card; 新办卡(0不办卡 1新办卡 2补办卡)
Integer hukou_type; 户籍性质
Double fund = 0.0; 填写购买公积金的金额(>0表示一起买)
Integer pay_channel; 订单的支付渠道
String couponuser_id; 用户选取的现金券的ID,以逗号隔开,如"12,13,20"
Integer first_sb; 此城市首次参保 0:否 1:是
Integer first_fund; 此城市首次参缴 0:否 1:是
Double sb_wage = 0.0; 社保流水金额 (2018-12-06)
##响应
> **状态码(code)**
500 已购买过 或其它异常
600 无效的身份证、社保数据不能为空、户籍性质需要指定、购买月份需要指定等
601 无效的用户标识
10004 需要登录
> **DATA字段说明**
String order_no 订单号(32长度内)
double price 总金额
String notify_url; 用于第三方支付回调本系统 用于alipay
> **数据范例**
- v2 支付宝下单的响应
```json
{
"msg": "",
"data": "partner=\"2088021344618397\"
&seller_id=\"service@shanp.com\"
&out_trade_no=\"11524372652587\"
&subject=\"“我的社保” 支付\"
&body=\"补差额\"
&total_fee=\"0.04\"
¬ify_url=\"http://192.168.2.199/pay/ali/app/notify/v1\"
&service=\"mobile.securitypay.pay\"
&payment_type=\"1\"
&_input_charset=\"utf-8\"
&it_b_pay=\"30m\"
&sign=\"this is sign str base64\"
&sign_type=\"RSA2\"",
"code": 200
}
```
- 支付宝下单的响应
```json
{
"data": {
"order_no": "11524372652587",
"notify_url": "http://pay-site/pay/ali/app/notify/v1",
"price": 1017.75
},
"msg": "",
"code": 200
}
```
- 微信支付下单的响应
```json
{
"data": {
"order_no": "11524372652587",
"wx": {
"appid": "wxb7ae6e9f32e0bdb2",
"noncestr": "08xVtTSFCuYsZmhF",
"timestamp": "1441879029",
"partnerid": "1268473701",
"prepayid": "wx201509101757102b1fd039c50530073556",
"sign": "6F2371A7C9917D866485C5E7BA97D1DB",
"package": "Sign=WXPay"
},
"msg": "",
"code": 200
}
```
---
3 以往公积金金额
以前月份购买过的公积金金额,没购买过返回0.0。
- 2017-06-05 新开v2接口,移除id_card字段,增加sbuId字段。 [v1接口文档](pre/3以往公积金金额v1.html)
## 3.1 请求
> URL
/sbl/buy/fund/buyed/v2 POST
> 参数
String key; 支付人ID 【不可空】
Integer sbuId; 参保用户标识 【不可空】
Integer city_code; 城市代码 【不可空】
## 3.2 响应
返回以前月份购买的公积金金额
> 状态码
500 参数无效
> DATA字段说明
公积金金额
> 数据范例
{
"data": 689.0,
"msg": "",
"code": 200
}
---
4 下单购买公积金
可以公积金、社保一起购买。pay_channel的值见[通用数据](common.html)的【支付渠道标识】
- 2018-12-06 增加 `sb_wage` 字段。
- 2017-06-05 新开v2接口,移除id_card字段,增加sbuId字段。 [v1接口文档](pre/3购买公积v1.html)
- 2016-11-22 增加shebao_card字段。newCard字段废止,兼容旧版本暂不移除。
- 2016-8-31 五险一金购买时传递五险一金的微信渠道标识.[通用数据](common.html)
- 2016-4-27 增加首次购买的两个字段
## 4.1请求
> URI
// /sbl/buy/fund/v2 POST
/sbl/buy/fund/v3 POST // 支付宝支付签名放在服务器端。 2018-11-07
> 参数
String key; 支付人ID
Integer sbuId; 参保用户标识
Integer cid; 社保标识
Integer month; 参保月份 201508
Integer nums; 购买月份数量
boolean newCard; 【废止】是否办理社保卡
int shebao_card; 新办卡(0不办卡 1新办卡 2补办卡)
Integer hukou_type; 户籍性质
Double fund = 0.0; 填写购买公积金的金额
boolean buyShebao; 是否购买社保
Integer pay_channel; 订单的支付渠道 (见公共数据)
String couponuser_id; 用户选取的现金券的ID,以逗号隔开,如"12,13,20"
Integer first_sb; 此城市首次参保 0:否 1:是
Integer first_fund; 此城市首次参缴 0:否 1:是
Double sb_wage = 0.0; 社保流水金额 (有打包社保时最好传值)
## 4.2 响应
支付宝支付与微信支付的返回数据不同
> 状态码
500 已购买过 或其它异常
600 无效的身份证、社保数据不能为空、户籍性质需要指定、购买月份需要指定等
601 无效的用户标识
10004 需要登录
> DATA字段说明
String order_no 订单号(32长度内)
double price 总金额
String notify_url; 用于第三方支付回调本系统 用于alipay
> 数据范例
- v2 支付宝下单的响应
{
"msg": "",
"data": "partner=\"2088021344618397\"
&seller_id=\"service@shanp.com\"
&out_trade_no=\"11524372652587\"
&subject=\"“我的社保” 支付\"
&body=\"补差额\"
&total_fee=\"0.04\"
¬ify_url=\"http://192.168.2.199/pay/ali/app/notify/v1\"
&service=\"mobile.securitypay.pay\"
&payment_type=\"1\"
&_input_charset=\"utf-8\"
&it_b_pay=\"30m\"
&sign=\"this is sign str base64\"
&sign_type=\"RSA2\"",
"code": 200
}
- v1 支付宝下单的响应
```json
{
"data": {
"order_no": "11524372652587",
"notify_url": "http://pay-site/pay/ali/app/notify/v1",
"price": 1017.75
},
"msg": "",
"code": 200
}
```
- 微信支付下单的响应
```json
{
"data": {
"order_no": "11524372652587",
"wx": {
"appid": "wxb7ae6e9f32e0bdb2",
"noncestr": "08xVtTSFCuYsZmhF",
"timestamp": "1441879029",
"partnerid": "1268473701",
"prepayid": "wx201509101757102b1fd039c50530073556",
"sign": "6F2371A7C9917D866485C5E7BA97D1DB",
"package": "Sign=WXPay"
},
"msg": "",
"code": 200
}
```
---
# 5 微信支付结果查询
> 查询订单的支付情况 (**只支持微信支付的订单**)
## 5.1 请求
- URI
/sbl/buy/query/pay/v1 POST
- 参数
String buy_no; // 用于支付的订单号
## 5.2 响应
- 状态码
200 支付成功
20002 未能成功支付的描述
600 buy_no不能为空
- 数据范例
{
"msg": "",
"code": 200
}
---