企业微信应用市场付费接口

https://work.weixin.qq.com/api/doc#15219

支付流程

图片描述

API接口定义

下单成功通知消息

当企业在应用市场购买付费应用完成下单后,企业微信后台会推送下单成功通知到服务商的指令回调URL。

请求方式: POST (HTTPS)
请求地址: https://127.0.0.1/suite/receive?msg_signature=3a7b08bb8e6dbce3c9671d6fdb69d15066227608&timestamp=1403610513&nonce=380320359

请求包体:

  1. <xml>
  2. <SuiteId><![CDATA[ww4asffe99e54c0f4c]]></SuiteId>
  3. <PaidCorpId><![CDATA[wxf8b4f85f3a794e77]]></PaidCorpId>
  4. <InfoType><![CDATA[open_order]]></InfoType>
  5. <TimeStamp>1403610513</TimeStamp>
  6. <OrderId><![CDATA[ORDERID]]></OrderId>
  7. <OperatorId><![CDATA[OPERATORID]]></OperatorId>
  8. </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&timestamp=1403610513&nonce=380320359

请求包体:

  1. <xml>
  2. <SuiteId><![CDATA[ww4asffe99e54c0f4c]]></ SuiteId>
  3. <PaidCorpId><![CDATA[wxf8b4f85f3a794e77]]></PaidCorpId>
  4. <InfoType><![CDATA[change_order]]></InfoType>
  5. <TimeStamp>1403610513</TimeStamp>
  6. <OldOrderId><![CDATA[ORDERID]]></OldOrderId>
  7. <NewOrderId><![CDATA[ORDERID]]></NewOrderId>
  8. </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&timestamp=1403610513&nonce=380320359

请求包体:

  1. <xml>
  2. <SuiteId><![CDATA[ww4asffe99e54c0f4c]]></ SuiteId>
  3. <PaidCorpId><![CDATA[wxf8b4f85f3a794e77]]></PaidCorpId>
  4. <InfoType><![CDATA[pay_for_app_success]]></InfoType>
  5. <TimeStamp>1403610513</TimeStamp>
  6. <OrderId><![CDATA[ORDERID]]></OrderId>
  7. </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

请求包体:

  1. {
  2. "orderid" : "2018091822ks1sd3s"
  3. }

参数说明:

参数 是否必须 说明
orderid 订单号

返回结果:

  1. {
  2. "errcode" : 0,
  3. "errmsg" : "ok",
  4. "orderid" : "2018091822ks1sd3s",
  5. "order_status" : 1,
  6. "order_type" : 1,
  7. "paid_corpid" : "wwfedd7e5292d63a35",
  8. "operator_id" : "zhangsan",
  9. "suiteid" : "wx67cce113441cc7a6",
  10. "appid" : 1,
  11. "edition_id" : "RLS65535",
  12. "edition_name" : "协同版",
  13. "price" : 10000000,
  14. "user_count" : 1000,
  15. "order_period": 365,
  16. "order_time" : 1533702999,
  17. "paid_time" : 1533702910
  18. }

参数说明:

参数 说明
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

请求包体:

  1. {
  2. "start_time" : 1542091572,
  3. "end_time" : 1542177972,
  4. "test_mode" : 1
  5. }

参数说明:

参数 是否必须 说明
start_time 起始时间
end_time 终止时间
test_mode 指定拉取正式或测试模式的订单。默认正式模式。0-正式模式,1-测试模式。

返回结果:

  1. {
  2. "errcode" : 0,
  3. "errmsg" : "ok",
  4. "order_list": [
  5. {
  6. "orderid" : "2018091822ks1sd3s",
  7. "order_status" : 1,
  8. "order_type" : 1,
  9. "paid_corpid" : "wwfedd7e5292d63a35",
  10. "operator_id" : "zhangsan",
  11. "suiteid" : "wx67cce113441cc7a6",
  12. "appid" : 1,
  13. "edition_id" : "RLS65535",
  14. "edition_name" : "协同版",
  15. "price" : 10000000,
  16. "user_count" : 1000,
  17. "order_period": 365,
  18. "order_time" : 1533702999,
  19. "paid_time" : 1533702910
  20. }]
  21. }

参数说明:

参数 说明
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

请求包体:

  1. {
  2. "auth_code": "auth_code_value"
  3. }

参数说明:

参数 是否必须 说明
auth_code 临时授权码,会在授权成功时附加在redirect_uri中跳转回第三方服务商网站,或通过回调推送给服务商。长度为64至512个字节

返回结果:

  1. {
  2. "errcode":0 ,
  3. "errmsg":"ok" ,
  4. "access_token": "xxxxxx",
  5. "expires_in": 7200,
  6. "permanent_code": "xxxx",
  7. "dealer_corp_info": {...},
  8. "auth_corp_info": {...},
  9. "auth_info": {...},
  10. "auth_user_info": {...},
  11. "edition_info":
  12. {
  13. "agent":
  14. [
  15. {
  16. "agentid":1,
  17. "edition_id": "RLS65535",
  18. "edition_name": "协同版",
  19. "app_status" : 3,
  20. "user_limit": 200,
  21. "expired_time": 1541990791
  22. }
  23. ]
  24. }
  25. }

参数说明:

参数 说明
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

请求包体:

  1. {
  2. "auth_corpid": "auth_corpid_value",
  3. "permanent_code": "code_value"
  4. }

参数说明:

参数 是否必须 说明
auth_corpid 授权方corpid
permanent_code 永久授权码,通过get_permanent_code获取

返回结果:

  1. {
  2. "errcode":0 ,
  3. "errmsg":"ok" ,
  4. "auth_corp_info": { ... },
  5. "auth_info": { ... },
  6. "edition_info":
  7. {
  8. "agent":
  9. [
  10. {
  11. "agentid":1,
  12. "edition_id": "RLS65535",
  13. "edition_name": "协同版",
  14. "app_status" : 3,
  15. "user_limit": 200,
  16. "expired_time": 1541990791
  17. }
  18. ]
  19. }
  20. }

参数说明:

参数 说明
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&timestamp=1403610513&nonce=380320359

请求包体:

  1. <xml>
  2. <SuiteId><![CDATA[ww4asffe99e54c0f4c]]></ SuiteId>
  3. <PaidCorpId><![CDATA[wxf8b4f85f3a794e77]]></PaidCorpId>
  4. <InfoType><![CDATA[refund]]></InfoType>
  5. <TimeStamp>1403610513</TimeStamp>
  6. <OrderId><![CDATA[ORDERID]]></OrderId>
  7. </xml>

参数说明:

参数 说明
SuiteId 第三方应用的SuiteId
PaidCorpId 购买方corpid
InfoType 固定为refund
TimeStamp 时间戳
OrderId 订单号,付费订单的唯一标志。服务商可据此拉取购买信息。该OrderId由企业微信生成,不超过32个字符

猜你喜欢

转载自www.cnblogs.com/zhaogaojian/p/10402592.html