服务商代开发
小程序
基础
连接微信
办公
JS-SDK
基础
连接微信
办公
服务商代开发
客户端API
JS-SDK
系统界面
调起电子发票
调起电子发票
最后更新:2025/03/27

目录

  • ww.chooseInvoice(params)
  • 功能描述
  • 参数说明
  • params: Object
  • 返回说明
  • 错误信息
  • 发票签名方法
  • 获取电子发票ticket
  • 签名算法
  • 旧版jweixin调用
  • 示例代码
  • ww.chooseInvoice(params)

    兼容性:企业微信 iOS、Android 2.1.0 开始支持

    功能描述

    拉起电子发票列表。

    ww.chooseInvoice({
      timestamp: timestamp,
      nonceStr: nonceStr,
      signType: signType,
      cardSign: cardSign
    })

    参数说明

    params: Object

    属性类型默认值必填说明
    timestampnumber

    签名时间戳

    nonceStrstring

    签名随机串

    cardSignstring

    签名

    signTypestring

    'SHA1'

    签名类型

    successFunction

    成功回调

    failFunction

    失败回调

    cancelFunction

    取消回调

    completeFunction

    完成回调

    返回说明

    Promise<Object>

    属性类型必填说明
    errMsgstring

    通用错误信息

    errCodenumber

    通用错误码

    choose_invoice_infoObject[]

    用户选中的发票列表

    属性类型必填说明
    card_idstring
    encrypt_codestring
    app_idstring

    错误信息

    errMsg说明
    choose_invoice:ok执行成功
    choose_invoice: fail选取发票失败
    choose_invoice: cancel选取发票取消

    发票签名方法

    获取电子发票ticket

    请求方式:GET(HTTPS
    请求地址:https://qyapi.weixin.qq.com/cgi-bin/ticket/get?access_token=ACCESS_TOKEN&type=wx_card

    参数说明:

    参数必须说明
    access_token调用接口凭证

    返回数据:

    {
       "errcode":0,
       "errmsg":"ok",
       "ticket":"pIKi3wRPNWCGF-pyP-YU5KWjDDD",
       "expires_in":7200
    }
    

    参数说明:

    参数说明
    errcode错误码
    errmsg错误描述
    ticket发票签名临时票据
    expires_in有效期,以秒为单位。在有效期内重复请求,ticket不会被刷新

    签名算法

    参数说明

    参数说明
    cardType填入INVOICE
    timestamp拉起发票列表时使用的时间戳
    appid调用该接口的appid
    nonceStr随机字符串
    api_ticket通过acess_token换取的临时票据,详情请见获取电子发票ticket

    签名方法
    将 api_ticket、appid、timestamp、nonceStr、cardType的value值进行字符串的字典序排序。再将所有参数字符串拼接成一个字符串进行sha1加密,得到cardSign。
    例如:api_ticket=aaa、appid=bbb、timestamp=ddd、nonceStr=ccc、cardType=eee,那么先拼成字符串aaabbbcccdddeee,再将此字符串进行sha1加密,得到cardSign。
    签名算法工具,参考 电子发票签名签名生成工具

    旧版jweixin调用

    示例代码

    wx.invoke('chooseInvoice', {
                    'timestamp': '', // 卡券签名时间戳 
                    'nonceStr': '', // 卡券签名随机串 
                    'signType': '', // 签名方式,默认'SHA1' 
                    'cardSign': '', // 卡券签名 
            }, function(res) {
            // 这里是回调函数 
                    alert(JSON.stringify(res)); // 返回的结果 
            });
    
    上一篇跳转认证界面
    下一篇跳转到小程序
      本节内容
    服务端API
    基础
    数据与智能专区
    应用接收专区通知
    连接微信
    客户联系
    办公
    客户端API
    小程序
    基础
    连接微信
    办公
    JS-SDK
    基础
    连接微信
    办公
    更新日志
    联系我们