企业微信应用市场付费接口
https://work.weixin.qq.com/api/doc#15219
支付流程
API接口定义
下单成功通知消息
当企业在应用市场购买付费应用完成下单后,企业微信后台会推送下单成功通知到服务商的指令回调URL。
请求方式: POST (HTTPS)
请求地址: https://127.0.0.1/suite/receive?msg_signature=3a7b08bb8e6dbce3c9671d6fdb69d15066227608×tamp=1403610513&nonce=380320359
请求包体:
<xml><SuiteId><![CDATA[ww4asffe99e54c0f4c]]></SuiteId><PaidCorpId><![CDATA[wxf8b4f85f3a794e77]]></PaidCorpId><InfoType><![CDATA[open_order]]></InfoType><TimeStamp>1403610513</TimeStamp><OrderId><![CDATA[ORDERID]]></OrderId><OperatorId><![CDATA[OPERATORID]]></OperatorId></xml>
参数说明:
| 参数 | 说明 |
|---|---|
| SuiteId | 第三方应用的SuiteId |
| PaidCorpId | 购买方corpid |
| InfoType | 固定为 open_order |
| TimeStamp | 时间戳 |
| OrderId | 订单号,付费订单的唯一标志。服务商可据此拉取购买信息。该OrderId由企业微信生成,不超过32个字符 |
| OperatorId | 下单操作者userid |
改单通知消息
当服务商管理员修改订单价格之后,企业微信后台会推送改单通知到服务商的指令回调URL。
修改订单价格后,会产生新的订单号,服务商在改单之后要用新的订单号来查询订单详情,以及关联授权应用。
请求方式: POST (HTTPS)
请求地址: https://127.0.0.1/suite/receive?msg_signature=3a7b08bb8e6dbce3c9671d6fdb69d15066227608×tamp=1403610513&nonce=380320359
请求包体:
<xml><SuiteId><![CDATA[ww4asffe99e54c0f4c]]></ SuiteId><PaidCorpId><![CDATA[wxf8b4f85f3a794e77]]></PaidCorpId><InfoType><![CDATA[change_order]]></InfoType><TimeStamp>1403610513</TimeStamp><OldOrderId><![CDATA[ORDERID]]></OldOrderId><NewOrderId><![CDATA[ORDERID]]></NewOrderId></xml>
参数说明:
| 参数 | 说明 |
|---|---|
| SuiteId | 第三方应用的SuiteId |
| PaidCorpId | 购买方corpid |
| InfoType | 固定为 change_order |
| TimeStamp | 时间戳 |
| OldOrderId | 原订单号 |
| NewOrderId | 改单后新的订单号,服务商可据此拉取购买信息。该OrderId由企业微信生成,不超过32个字符,每次修改价格都会产生新的订单号 |
支付成功通知消息
当企业对某一个订单完成付款后,企业微信后台会推送付款成功通知到服务商的指令回调URL。
请求方式: POST (HTTPS)
请求地址: https://127.0.0.1/suite/receive?msg_signature=3a7b08bb8e6dbce3c9671d6fdb69d15066227608×tamp=1403610513&nonce=380320359
请求包体:
<xml><SuiteId><![CDATA[ww4asffe99e54c0f4c]]></ SuiteId><PaidCorpId><![CDATA[wxf8b4f85f3a794e77]]></PaidCorpId><InfoType><![CDATA[pay_for_app_success]]></InfoType><TimeStamp>1403610513</TimeStamp><OrderId><![CDATA[ORDERID]]></OrderId></xml>
参数说明:
| 参数 | 说明 |
|---|---|
| SuiteId | 第三方应用的SuiteId |
| PaidCorpId | 购买方corpid |
| InfoType | 固定为 pay_for_app_success |
| TimeStamp | 时间戳 |
| OrderId | 订单号,付费订单的唯一标志。服务商可据此拉取购买信息。该OrderId由企业微信生成,不超过32个字符 |
服务商拉取付费状态
请求方式: POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/service/get_order?suite_access_token=SUITE_ACCESS_TOKEN
请求包体:
{"orderid" : "2018091822ks1sd3s"}
参数说明:
| 参数 | 是否必须 | 说明 |
|---|---|---|
| orderid | 是 | 订单号 |
返回结果:
{"errcode" : 0,"errmsg" : "ok","orderid" : "2018091822ks1sd3s","order_status" : 1,"order_type" : 1,"paid_corpid" : "wwfedd7e5292d63a35","operator_id" : "zhangsan","suiteid" : "wx67cce113441cc7a6","appid" : 1,"edition_id" : "RLS65535","edition_name" : "协同版","price" : 10000000,"user_count" : 1000,"order_period": 365,"order_time" : 1533702999,"paid_time" : 1533702910}
参数说明:
| 参数 | 说明 |
|---|---|
| errcode | 错误码 |
| errmsg | 错误码说明 |
| orderid | 订单号 |
| order_status | 订单状态。0-未支付,1-已支付,2-已关闭, 3-未支付且已过期, 4-申请退款中, 5-申请退款成功 |
| order_type | 订单类型。0-普通订单,1-扩容订单,2-续期,3-版本变更 |
| paid_corpid | 客户企业的corpid |
| operator_id | 下单操作人员userid |
| suiteid | 应用id |
| appid | 应用id。(仅旧套件有该字段) |
| edition_id | 购买版本ID |
| edition_name | 购买版本名字 |
| price | 实付款金额,单位分 |
| user_count | 购买的人数 |
| order_period | 购买的时间,单位天 |
| order_time | 下单时间 |
| paid_time | 付款时间 |
服务商拉取付费订单列表
请求方式: POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/service/get_order_list?suite_access_token=SUITE_ACCESS_TOKEN
请求包体:
{"start_time" : 1542091572,"end_time" : 1542177972,"test_mode" : 1}
参数说明:
| 参数 | 是否必须 | 说明 |
|---|---|---|
| start_time | 是 | 起始时间 |
| end_time | 是 | 终止时间 |
| test_mode | 否 | 指定拉取正式或测试模式的订单。默认正式模式。0-正式模式,1-测试模式。 |
返回结果:
{"errcode" : 0,"errmsg" : "ok","order_list": [{"orderid" : "2018091822ks1sd3s","order_status" : 1,"order_type" : 1,"paid_corpid" : "wwfedd7e5292d63a35","operator_id" : "zhangsan","suiteid" : "wx67cce113441cc7a6","appid" : 1,"edition_id" : "RLS65535","edition_name" : "协同版","price" : 10000000,"user_count" : 1000,"order_period": 365,"order_time" : 1533702999,"paid_time" : 1533702910}]}
参数说明:
| 参数 | 说明 |
|---|---|
| errcode | 错误码 |
| errmsg | 错误码说明 |
| order_list | 订单列表 |
| orderid | 订单号 |
| order_status | 订单状态。订单状态。0-未支付,1-已支付,2-已关闭, 3-未支付且已过期, 4-申请退款中, 5-申请退款成功 |
| order_type | 订单类型。0-普通订单,1-扩容订单,2-续期,3-版本变更 |
| paid_corpid | 客户企业的corpid |
| operator_id | 下单操作人员userid |
| suiteid | 应用id |
| appid | 应用id。(仅旧套件有该字段) |
| edition_id | 购买版本ID |
| edition_name | 购买版本名字 |
| price | 实付款金额,单位分 |
| user_count | 购买的人数 |
| order_period | 购买的时间,单位天 |
| order_time | 下单时间 |
| paid_time | 付款时间 |
获取永久授权码
请求方式:POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/service/get_permanent_code?suite_access_token=SUITE_ACCESS_TOKEN
请求包体:
{"auth_code": "auth_code_value"}
参数说明:
| 参数 | 是否必须 | 说明 |
|---|---|---|
| auth_code | 是 | 临时授权码,会在授权成功时附加在redirect_uri中跳转回第三方服务商网站,或通过回调推送给服务商。长度为64至512个字节 |
返回结果:
{"errcode":0 ,"errmsg":"ok" ,"access_token": "xxxxxx","expires_in": 7200,"permanent_code": "xxxx","dealer_corp_info": {...},"auth_corp_info": {...},"auth_info": {...},"auth_user_info": {...},"edition_info":{"agent":[{"agentid":1,"edition_id": "RLS65535","edition_name": "协同版","app_status" : 3,"user_limit": 200,"expired_time": 1541990791}]}}
参数说明:
| 参数 | 说明 |
|---|---|
| access_token | 授权方(企业)access_token,最长为512字节 |
| expires_in | 授权方(企业)access_token超时时间 |
| permanent_code | 企业微信永久授权码,最长为512字节 |
| auth_corp_info | 授权方企业信息 |
| auth_info | 授权信息。如果是通讯录应用,且没开启实体应用,是没有该项的。通讯录应用拥有企业通讯录的全部信息读写权限 |
| auth_user_info | 授权管理员的信息 |
| edition_info | 企业当前生效的版本信息 |
| edition_id | 版本id |
| edition_name | 版本名称 |
| app_status | 付费状态。 0-没有付费; 1-限时试用; 2-试用过期; 3-付费版本有效期内; 4-付费版本过期; 5-不限时试用; 6-付费版本有效期内,但是实际使用人数超标,且超标未超过7天; 7-付费版本有效期内,但是实际使用人数超标,且持续超标超过7天 |
| user_limit | 用户上限。特别注意,如果是固定总价的购买,该参数固定为 4294967295, 含义为不限用户数 |
| expired_time | 版本到期时间(根据购买版本,可能是试用到期时间或付费使用到期时间)。特别注意,4294967295代表不限时间 |
获取企业授权信息
该API用于通过永久授权码换取企业微信的授权信息。
请求方式: POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/service/get_auth_info?suite_access_token=SUITE_ACCESS_TOKEN
请求包体:
{"auth_corpid": "auth_corpid_value","permanent_code": "code_value"}
参数说明:
| 参数 | 是否必须 | 说明 |
|---|---|---|
| auth_corpid | 是 | 授权方corpid |
| permanent_code | 是 | 永久授权码,通过get_permanent_code获取 |
返回结果:
{"errcode":0 ,"errmsg":"ok" ,"auth_corp_info": { ... },"auth_info": { ... },"edition_info":{"agent":[{"agentid":1,"edition_id": "RLS65535","edition_name": "协同版","app_status" : 3,"user_limit": 200,"expired_time": 1541990791}]}}
参数说明:
| 参数 | 说明 |
|---|---|
| auth_corp_info | 授权方企业信息 |
| auth_info | 授权信息。如果是通讯录应用,且没开启实体应用,是没有该项的。通讯录应用拥有企业通讯录的全部信息读写权限 |
| edition_info | 企业当前生效的版本信息 |
| edition_id | 版本id |
| edition_name | 版本名称 |
| app_status | 付费状态。 0-没有付费; 1-限时试用; 2-试用过期; 3-购买期内; 4-购买过期; 5-不限时试用; 6-购买期内,但是人数超标, 注意,超标后还可以用7天; 7-购买期内,但是人数超标, 且已经超标试用7天 |
| user_limit | 用户上限。特别注意,如果是固定总价的购买,该参数固定为 4294967295, 含义为不限用户数 |
| expired_time | 版本到期时间(根据购买版本,可能是试用到期时间或付费使用到期时间)。特别注意,4294967295代表不限时间 |
退款事件回调
当某个客户发起有效的退款,经服务商在管理端同意后(或过期自动完成退款),会触发回调事件给服务商,服务商收到退款事件后,需自行通过相关接口重新获取这个客户最新的购买状态
请求方式: POST (HTTPS)
请求地址: https://127.0.0.1/suite/receive?msg_signature=3a7b08bb8e6dbce3c9671d6fdb69d15066227608×tamp=1403610513&nonce=380320359
请求包体:
<xml><SuiteId><![CDATA[ww4asffe99e54c0f4c]]></ SuiteId><PaidCorpId><![CDATA[wxf8b4f85f3a794e77]]></PaidCorpId><InfoType><![CDATA[refund]]></InfoType><TimeStamp>1403610513</TimeStamp><OrderId><![CDATA[ORDERID]]></OrderId></xml>
参数说明:
| 参数 | 说明 |
|---|---|
| SuiteId | 第三方应用的SuiteId |
| PaidCorpId | 购买方corpid |
| InfoType | 固定为refund |
| TimeStamp | 时间戳 |
| OrderId | 订单号,付费订单的唯一标志。服务商可据此拉取购买信息。该OrderId由企业微信生成,不超过32个字符 |
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。

浙公网安备 33010602011771号