接口說明
本接口功能為在微信公眾號拉起發票卡券列表,用戶勾選需要提交報銷的發票后,開發者獲得所選發票的標識信息。
本接口的調用須遵循JS-SDK的調用方法,請在開發前閱讀[微信JS-SDK接口文檔](http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN" target="_blank)以熟悉開發術語和基本接口的調用。
請求方式
調用chooseInvoice接口
請求參數
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
timestamp | string(32) | 是 | 時間戳,采用 unix 十位時間戳 |
nonceStr | string(32) | 是 | 隨機字符串 |
返回結果
用戶點擊確認或取消后,將按下表所列字段格式及含義返回結果。
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
err_msg | string | 是 | ok:選取發票成功,fail:選取發票失敗,cancel:選取發票取消 |
choose_invoice_info | object | 否 | 用戶選中的發票列表 |
choose_invoice_info的對象包括以下字段
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
card_id | string | 是 | 所選發票卡券的 card_id |
encrypt_code | string | 是 | 所選發票卡券的加密 code ,報銷方可以通過 card_id 和 encrypt_code 獲得報銷發票的信息 |
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)); } }); });
接口說明
支持在微信小程序中直接拉起電子發票列表
詳細接口文檔請參見小程序API發票部分
接口說明
企業微信2.1新增了選擇電子發票的js-API接口,使用企業微信的企業將企業微信更新至2.1以上版本后,可快速實現在企業微信中選中電子發票的功能。
詳細接口文檔請參見企業微信API電子發票部分。
接口說明
對于自建移動辦公應用的企業及為企業提供獨立報銷App的報銷服務商,微信提供了外部App拉起發票列表的接口。與微信內拉起發票列表接口相似,外部App開發者在用戶勾選并點擊確認后,可以獲得發票的標識數據。
該接口須遵循JS-SDK的調用方法,請在開發前務必檢查自己是否滿足以下條件:
1 獲得一個已認證的 微信開放平臺 賬號;
2 在微信開放平臺上創建一個應用并提交應用通過審核。未注冊應用的開發者可在開發者應用登記頁面進行登記;
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];//發送
Android應用
參考壓縮包內,進入jar文件,使用時調用ChooseCardFromWXCardPackage類,并傳入CardType為“INVOICE”。其中需要簽名的部分,參考JS-SDK的調用方式。
返回結果
用戶點擊確認或取消后,將按下表所列字段格式及含義返回結果。
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
err_msg | string | 是 | ok:選取發票成功,fail:選取發票失敗,cancel:選取發票取消 |
choose_invoice_info | object | 否 | 用戶選中的發票列表 |
choose_invoice_info的對象包括以下字段
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
card_id | string | 是 | 所選發票卡券的 card_id |
encrypt_code | string | 是 | 所選發票卡券的加密 code ,報銷方可以通過 card_id 和 encrypt_code 獲得報銷發票的信息 |
app_id | string | 是 | 開票方的 appid |
接口說明
通過該接口查詢電子發票的結構化信息,并獲取發票PDF文件。
請求方式
請求URL:https://api.weixin.qq.com/card/invoice/reimburse/getinvoiceinfo?access_token={access_token}
請求方法:POST
請求參數
請求參數使用JSON格式,字段如下:
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
card_id | string | 是 | 發票卡券的 card_id |
encrypt_code | string | 是 | 發票卡券的加密 code ,和 card_id 共同構成一張發票卡券的唯一標識 |
返回結果
返回結果為JSON格式,字段如下:
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
errcode | Int | 是 | 錯誤碼 |
errmsg | String | 是 | 錯誤信息 |
當錯誤碼為0時,有以下信息:
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
card_id | String | 是 | 發票 id |
begin_time | Int | 是 | 發票的有效期起始時間 |
end_time | Int | 是 | 發票的有效期截止時間 |
openid | String | 是 | 用戶標識 |
type | String | 是 | 發票的類型,如廣東增值稅普通發票 |
payee | String | 是 | 發票的收款方 |
detail | String | 是 | 發票詳情 |
user_info | Object | 是 | 用戶可在發票票面看到的主要信息 |
user_info包含以下信息:
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
fee | Int | 是 | 發票加稅合計金額,以分為單位 |
title | String | 是 | 發票的抬頭 |
billing_time | Int | 是 | 開票時間,為十位時間戳(utc+8) |
billing_no | String | 是 | 發票代碼 |
billing_code | String | 是 | 發票號碼 |
info | List | 否 | 商品信息結構,見下方說明 |
fee_without_tax | Int | 是 | 不含稅金額,以分為單位 |
tax | Int | 是 | 稅額,以分為單位 |
如沒特殊注明,文章均為善微網絡原創,轉載請注明來自http://www.kunming3.com/news/608.html ? |