接口說明
本接口功能為在微信公眾號拉起發(fā)票卡券列表,用戶勾選需要提交報銷的發(fā)票后,開發(fā)者獲得所選發(fā)票的標(biāo)識信息。
本接口的調(diào)用須遵循JS-SDK的調(diào)用方法,請?jiān)陂_發(fā)前閱讀[微信JS-SDK接口文檔](http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN" target="_blank)以熟悉開發(fā)術(shù)語和基本接口的調(diào)用。
請求方式
調(diào)用chooseInvoice接口
請求參數(shù)
參數(shù) | 類型 | 是否必填 | 描述 |
---|---|---|---|
timestamp | string(32) | 是 | 時間戳,采用 unix 十位時間戳 |
nonceStr | string(32) | 是 | 隨機(jī)字符串 |
返回結(jié)果
用戶點(diǎn)擊確認(rèn)或取消后,將按下表所列字段格式及含義返回結(jié)果。
參數(shù) | 類型 | 是否必填 | 描述 |
---|---|---|---|
err_msg | string | 是 | ok:選取發(fā)票成功,fail:選取發(fā)票失敗,cancel:選取發(fā)票取消 |
choose_invoice_info | object | 否 | 用戶選中的發(fā)票列表 |
choose_invoice_info的對象包括以下字段
參數(shù) | 類型 | 是否必填 | 描述 |
---|---|---|---|
card_id | string | 是 | 所選發(fā)票卡券的 card_id |
encrypt_code | string | 是 | 所選發(fā)票卡券的加密 code ,報銷方可以通過 card_id 和 encrypt_code 獲得報銷發(fā)票的信息 |
app_id | string | 是 | 開票方的 appid |
示例代碼
wx.config({ beta: true, debug: false, appId: "wx00000000000000", timestamp: 1489030247, nonceStr: "(9J4YRV[#@", signature: "f027317f8910000000000000000000", jsApiList: ['chooseInvoice'] }); wx.ready(function () { wx.invoke('chooseInvoice', { 'timestamp': 1489030247, 'nonceStr': "p(6N&7WOAF", }, function(res) { alert(JSON.stringify(res)); } }); });
接口說明
支持在微信小程序中直接拉起電子發(fā)票列表
詳細(xì)接口文檔請參見小程序API發(fā)票部分
接口說明
企業(yè)微信2.1新增了選擇電子發(fā)票的js-API接口,使用企業(yè)微信的企業(yè)將企業(yè)微信更新至2.1以上版本后,可快速實(shí)現(xiàn)在企業(yè)微信中選中電子發(fā)票的功能。
詳細(xì)接口文檔請參見企業(yè)微信API電子發(fā)票部分。
接口說明
對于自建移動辦公應(yīng)用的企業(yè)及為企業(yè)提供獨(dú)立報銷App的報銷服務(wù)商,微信提供了外部App拉起發(fā)票列表的接口。與微信內(nèi)拉起發(fā)票列表接口相似,外部App開發(fā)者在用戶勾選并點(diǎn)擊確認(rèn)后,可以獲得發(fā)票的標(biāo)識數(shù)據(jù)。
該接口須遵循JS-SDK的調(diào)用方法,請?jiān)陂_發(fā)前務(wù)必檢查自己是否滿足以下條件:
1 獲得一個已認(rèn)證的 微信開放平臺 賬號;
2 在微信開放平臺上創(chuàng)建一個應(yīng)用并提交應(yīng)用通過審核。未注冊應(yīng)用的開發(fā)者可在開發(fā)者應(yīng)用登記頁面進(jìn)行登記;
3 通讀 微信開放平臺資源中心 中關(guān)于SDK使用的基本方法,并正確導(dǎo)入到自身的應(yīng)用中。
請求方式
iOS應(yīng)用
參考壓縮包內(nèi)的OpenSDK1.7.7文件,使用時調(diào)用WXChooseInvoice類。其中需要簽名的部分,參考JS-SDK的調(diào)用方式。 示例代碼
—(void)getlnvoiceWithTicket: (NSString*)ticket whenComptetion: (void(^)(NSString* result, NSString*errorDesc) )comptetion{ BOOL isWXApplnstalled = [WXApi isWXApplnstalled]; if (!isWXApplnstalled) { // 用戶沒裝微信,直接返回。 completion(nil.,@”Wechat Not installed”); return; } _completion = completion; WXChooselnvoiceReq *cardReq = [[WXChooselnvoiceReq alloc]initl; cardReq. applD = WechatlnvoiceAppld; cardReq.timeStamp = [[NSDate date]timelntervalSince1970]; NSString* timeStamp = [NSString stringWithFormat:@”%d”,cardReq.timeStamp]; cardReq. nonceStr = @“sfim_invoice”; NSString *cardSign = [self genCardSignWithNonceStr: cardReq.nonceStr andTimeStr: timeStamp andApiTicket:ticket]; cardReq.cardSign = cardSign; [WXApi sendReq:cardReq];//發(fā)送
Android應(yīng)用
參考壓縮包內(nèi),進(jìn)入jar文件,使用時調(diào)用ChooseCardFromWXCardPackage類,并傳入CardType為“INVOICE”。其中需要簽名的部分,參考JS-SDK的調(diào)用方式。
返回結(jié)果
用戶點(diǎn)擊確認(rèn)或取消后,將按下表所列字段格式及含義返回結(jié)果。
參數(shù) | 類型 | 是否必填 | 描述 |
---|---|---|---|
err_msg | string | 是 | ok:選取發(fā)票成功,fail:選取發(fā)票失敗,cancel:選取發(fā)票取消 |
choose_invoice_info | object | 否 | 用戶選中的發(fā)票列表 |
choose_invoice_info的對象包括以下字段
參數(shù) | 類型 | 是否必填 | 描述 |
---|---|---|---|
card_id | string | 是 | 所選發(fā)票卡券的 card_id |
encrypt_code | string | 是 | 所選發(fā)票卡券的加密 code ,報銷方可以通過 card_id 和 encrypt_code 獲得報銷發(fā)票的信息 |
app_id | string | 是 | 開票方的 appid |
接口說明
通過該接口查詢電子發(fā)票的結(jié)構(gòu)化信息,并獲取發(fā)票PDF文件。
請求方式
請求URL:https://api.weixin.qq.com/card/invoice/reimburse/getinvoiceinfo?access_token={access_token}
請求方法:POST
請求參數(shù)
請求參數(shù)使用JSON格式,字段如下:
參數(shù) | 類型 | 是否必填 | 描述 |
---|---|---|---|
card_id | string | 是 | 發(fā)票卡券的 card_id |
encrypt_code | string | 是 | 發(fā)票卡券的加密 code ,和 card_id 共同構(gòu)成一張發(fā)票卡券的唯一標(biāo)識 |
返回結(jié)果
返回結(jié)果為JSON格式,字段如下:
參數(shù) | 類型 | 是否必填 | 描述 |
---|---|---|---|
errcode | Int | 是 | 錯誤碼 |
errmsg | String | 是 | 錯誤信息 |
當(dāng)錯誤碼為0時,有以下信息:
參數(shù) | 類型 | 是否必填 | 描述 |
---|---|---|---|
card_id | String | 是 | 發(fā)票 id |
begin_time | Int | 是 | 發(fā)票的有效期起始時間 |
end_time | Int | 是 | 發(fā)票的有效期截止時間 |
openid | String | 是 | 用戶標(biāo)識 |
type | String | 是 | 發(fā)票的類型,如廣東增值稅普通發(fā)票 |
payee | String | 是 | 發(fā)票的收款方 |
detail | String | 是 | 發(fā)票詳情 |
user_info | Object | 是 | 用戶可在發(fā)票票面看到的主要信息 |
user_info包含以下信息:
參數(shù) | 類型 | 是否必填 | 描述 |
---|---|---|---|
fee | Int | 是 | 發(fā)票加稅合計(jì)金額,以分為單位 |
title | String | 是 | 發(fā)票的抬頭 |
billing_time | Int | 是 | 開票時間,為十位時間戳(utc+8) |
billing_no | String | 是 | 發(fā)票代碼 |
billing_code | String | 是 | 發(fā)票號碼 |
info | List | 否 | 商品信息結(jié)構(gòu),見下方說明 |
fee_without_tax | Int | 是 | 不含稅金額,以分為單位 |
tax | Int | 是 | 稅額,以分為單位 |
公眾平臺電子發(fā)票功能與申請一、電子發(fā)票的申請條件 1、需通過公眾平臺微信認(rèn)證(資質(zhì)審核通過); 2、帳號類型:服務(wù)號、訂閱號; 二、申請步驟 進(jìn)入公眾平臺->添加功能插件->電子發(fā)票功能->申請開通。 溫馨提示:符合申請條件,點(diǎn)擊“申請開通”勾選“同意協(xié)議”后,功能立即開通成功。 三、電子發(fā)票購買方式 一個公司對應(yīng)一個稅號,可根據(jù)公司的具體情況選擇對應(yīng)的開票平臺以及對應(yīng)的套餐。進(jìn)入公眾平臺->電子發(fā)票功能->套餐購買及管理。 購買流程: 第一步:選擇套餐 選擇開票平臺:分別有百望、用友、瑞宏3個平臺可供選擇(套餐金額也不等); 填寫門店數(shù)量; 資證上傳;(根據(jù)套餐不同,頁面有模板下載填寫完后再上傳) 第二步:資料填寫 填寫辦稅聯(lián)系人信息 注:申請時需要填寫辦稅聯(lián)系人是由于電子發(fā)票發(fā)行需CA簽章,簽章需填寫辦稅聯(lián)系人信息。 填寫企業(yè)資本、證照信息 溫馨提示:資質(zhì)提交完后,在3-5個工作日留意審核結(jié)果,審核通過即可進(jìn)行支付。 |