接口說明
本接口功能為在微信公眾號拉起發(fā)票卡券列表,用戶勾選需要提交報銷的發(fā)票后,開發(fā)者獲得所選發(fā)票的標識信息。
本接口的調用須遵循JS-SDK的調用方法,請在開發(fā)前閱讀[微信JS-SDK接口文檔](http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN" target="_blank)以熟悉開發(fā)術語和基本接口的調用。
請求方式
調用chooseInvoice接口
請求參數
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
timestamp | string(32) | 是 | 時間戳,采用 unix 十位時間戳 |
nonceStr | string(32) | 是 | 隨機字符串 |
返回結果
用戶點擊確認或取消后,將按下表所列字段格式及含義返回結果。
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
err_msg | string | 是 | ok:選取發(fā)票成功,fail:選取發(fā)票失敗,cancel:選取發(fā)票取消 |
choose_invoice_info | object | 否 | 用戶選中的發(fā)票列表 |
choose_invoice_info的對象包括以下字段
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
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ā)票列表
詳細接口文檔請參見小程序API發(fā)票部分
接口說明
企業(yè)微信2.1新增了選擇電子發(fā)票的js-API接口,使用企業(yè)微信的企業(yè)將企業(yè)微信更新至2.1以上版本后,可快速實現在企業(yè)微信中選中電子發(fā)票的功能。
詳細接口文檔請參見企業(yè)微信API電子發(fā)票部分。
接口說明
對于自建移動辦公應用的企業(yè)及為企業(yè)提供獨立報銷App的報銷服務商,微信提供了外部App拉起發(fā)票列表的接口。與微信內拉起發(fā)票列表接口相似,外部App開發(fā)者在用戶勾選并點擊確認后,可以獲得發(fā)票的標識數據。
該接口須遵循JS-SDK的調用方法,請在開發(fā)前務必檢查自己是否滿足以下條件:
1 獲得一個已認證的 微信開放平臺 賬號;
2 在微信開放平臺上創(chuàng)建一個應用并提交應用通過審核。未注冊應用的開發(fā)者可在開發(fā)者應用登記頁面進行登記;
3 通讀 微信開放平臺資源中心 中關于SDK使用的基本方法,并正確導入到自身的應用中。
請求方式
iOS應用
參考壓縮包內的OpenSDK1.7.7文件,使用時調用WXChooseInvoice類。其中需要簽名的部分,參考JS-SDK的調用方式。 示例代碼
—(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應用
參考壓縮包內,進入jar文件,使用時調用ChooseCardFromWXCardPackage類,并傳入CardType為“INVOICE”。其中需要簽名的部分,參考JS-SDK的調用方式。
返回結果
用戶點擊確認或取消后,將按下表所列字段格式及含義返回結果。
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
err_msg | string | 是 | ok:選取發(fā)票成功,fail:選取發(fā)票失敗,cancel:選取發(fā)票取消 |
choose_invoice_info | object | 否 | 用戶選中的發(fā)票列表 |
choose_invoice_info的對象包括以下字段
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
card_id | string | 是 | 所選發(fā)票卡券的 card_id |
encrypt_code | string | 是 | 所選發(fā)票卡券的加密 code ,報銷方可以通過 card_id 和 encrypt_code 獲得報銷發(fā)票的信息 |
app_id | string | 是 | 開票方的 appid |
接口說明
通過該接口查詢電子發(fā)票的結構化信息,并獲取發(fā)票PDF文件。
請求方式
請求URL:https://api.weixin.qq.com/card/invoice/reimburse/getinvoiceinfo?access_token={access_token}
請求方法:POST
請求參數
請求參數使用JSON格式,字段如下:
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
card_id | string | 是 | 發(fā)票卡券的 card_id |
encrypt_code | string | 是 | 發(fā)票卡券的加密 code ,和 card_id 共同構成一張發(fā)票卡券的唯一標識 |
返回結果
返回結果為JSON格式,字段如下:
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
errcode | Int | 是 | 錯誤碼 |
errmsg | String | 是 | 錯誤信息 |
當錯誤碼為0時,有以下信息:
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
card_id | String | 是 | 發(fā)票 id |
begin_time | Int | 是 | 發(fā)票的有效期起始時間 |
end_time | Int | 是 | 發(fā)票的有效期截止時間 |
openid | String | 是 | 用戶標識 |
type | String | 是 | 發(fā)票的類型,如廣東增值稅普通發(fā)票 |
payee | String | 是 | 發(fā)票的收款方 |
detail | String | 是 | 發(fā)票詳情 |
user_info | Object | 是 | 用戶可在發(fā)票票面看到的主要信息 |
user_info包含以下信息:
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
fee | Int | 是 | 發(fā)票加稅合計金額,以分為單位 |
title | String | 是 | 發(fā)票的抬頭 |
billing_time | Int | 是 | 開票時間,為十位時間戳(utc+8) |
billing_no | String | 是 | 發(fā)票代碼 |
billing_code | String | 是 | 發(fā)票號碼 |
info | List | 否 | 商品信息結構,見下方說明 |
fee_without_tax | Int | 是 | 不含稅金額,以分為單位 |
tax | Int | 是 | 稅額,以分為單位 |
公眾平臺電子發(fā)票功能與申請一、電子發(fā)票的申請條件 1、需通過公眾平臺微信認證(資質審核通過); 2、帳號類型:服務號、訂閱號; 二、申請步驟 進入公眾平臺->添加功能插件->電子發(fā)票功能->申請開通。 溫馨提示:符合申請條件,點擊“申請開通”勾選“同意協議”后,功能立即開通成功。 三、電子發(fā)票購買方式 一個公司對應一個稅號,可根據公司的具體情況選擇對應的開票平臺以及對應的套餐。進入公眾平臺->電子發(fā)票功能->套餐購買及管理。 購買流程: 第一步:選擇套餐 選擇開票平臺:分別有百望、用友、瑞宏3個平臺可供選擇(套餐金額也不等); 填寫門店數量; 資證上傳;(根據套餐不同,頁面有模板下載填寫完后再上傳) 第二步:資料填寫 填寫辦稅聯系人信息 注:申請時需要填寫辦稅聯系人是由于電子發(fā)票發(fā)行需CA簽章,簽章需填寫辦稅聯系人信息。 填寫企業(yè)資本、證照信息 溫馨提示:資質提交完后,在3-5個工作日留意審核結果,審核通過即可進行支付。 |