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


    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个字符
  • 相关阅读:
    教你一个vue小技巧,一般人我不说的
    分享一个好用的函数吧,将js中的对象转成url参数
    Vue源码探究-源码文件组织
    后端分布式系列:分布式存储-HDFS DataNode 设计实现解析
    Android Animation动画详解(二): 组合动画特效
    后端分布式系列:分布式存储-HDFS NameNode 设计实现解析
    Android开源框架ViewPageIndicator和ViewPager实现Tab导航
    解决某些手机RadioGroup中的RadioButton不居中(右移)问题
    Android Animation动画详解(一): 补间动画
    后端分布式系列:分布式存储-HDFS 架构解析
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/10402592.html
Copyright © 2020-2023  润新知