商戶完成收款后,調(diào)用本接口開(kāi)具電子發(fā)票并插入微信用戶的卡包。若是非微信支付場(chǎng)景,需要先通過(guò)【獲取用戶授權(quán)鏈接】接口獲取用戶授權(quán)鏈接,并等待用戶完成授權(quán)才能調(diào)用本接口;若是微信支付場(chǎng)景,則無(wú)需額外獲取用戶授權(quán)。 注意:本接口成功返回僅代表開(kāi)票請(qǐng)求已被受理,當(dāng)開(kāi)票完成時(shí),微信支付會(huì)根據(jù)商戶配置的回調(diào)地址進(jìn)行回調(diào)通知,商戶也可以通過(guò)【查詢電子發(fā)票】接口獲取開(kāi)票結(jié)果及開(kāi)票信息。
# 接口說(shuō)明
支持商戶:
【普通商戶】
請(qǐng)求方式:
【POST】/v3/new-tax-control-fapiao/fapiao-applications
請(qǐng)求域名:
【主域名】
https://api.mch.weixin.qq.com
使用該域名將訪問(wèn)就近的接入點(diǎn)【備域名】
https://api2.mch.weixin.qq.com
使用該域名將訪問(wèn)異地的接入點(diǎn) ,指引點(diǎn)擊查看
# 請(qǐng)求參數(shù)
- Authorization 必填 string請(qǐng)參考 簽名認(rèn)證 生成認(rèn)證信息
- Accept 必填 string請(qǐng)?jiān)O(shè)置為
application/json
- Content-Type 必填 string請(qǐng)?jiān)O(shè)置為
application/json
- Wechatpay-Serial 必填 string【微信支付平臺(tái)證書(shū)序列號(hào)】 請(qǐng)求參數(shù)中的敏感字段,需要使用微信支付平臺(tái)證書(shū)公鑰加密。請(qǐng)?jiān)O(shè)置為該證書(shū)的證書(shū)序列號(hào)。詳見(jiàn)敏感信息加解密
Header HTTP頭參數(shù)
- scene 必填 string【開(kāi)票場(chǎng)景】 開(kāi)票場(chǎng)景
可選取值:WITH_WECHATPAY
: 微信支付場(chǎng)景WITHOUT_WECHATPAY
: 非微信支付場(chǎng)景
- fapiao_apply_id 必填 string(32)【發(fā)票申請(qǐng)單號(hào)】 發(fā)票申請(qǐng)單號(hào),唯一標(biāo)識(shí)一次開(kāi)票行為。當(dāng)開(kāi)票場(chǎng)景為WITHOUT_WECHATPAY時(shí),為調(diào)用【獲取用戶授權(quán)鏈接】接口時(shí)指定的發(fā)票申請(qǐng)單號(hào);當(dāng)開(kāi)票場(chǎng)景為WITH_WECHATPAY時(shí),為與本次開(kāi)票關(guān)聯(lián)的微信支付訂單號(hào),且必須是屬于相應(yīng)商戶的訂單(服務(wù)商模式下該訂單必須屬于子商戶;直連模式下該訂單必須屬于直連商戶)
- buyer_information 必填 UserTitleEntity【購(gòu)買(mǎi)方信息】 購(gòu)買(mǎi)方信息,即發(fā)票抬頭。若商戶使用微信官方抬頭,可從【獲取用戶授權(quán)信息】接口獲取用戶填寫(xiě)的抬頭;也可自行收集發(fā)票抬頭
- 屬性
- fapiao_information 必填 array[IssueFapiaoInfo]【需要開(kāi)具的發(fā)票信息】 需要開(kāi)具的發(fā)票信息。注意:同一個(gè)開(kāi)票申請(qǐng)單最多申請(qǐng)5張發(fā)票
- 屬性
Body 包體參數(shù)
請(qǐng)求示例
POST
# 應(yīng)答參數(shù)
無(wú)應(yīng)答包體
應(yīng)答示例
202 Accepted
# 錯(cuò)誤碼
# 公共錯(cuò)誤碼
狀態(tài)碼 | 錯(cuò)誤碼 | 描述 | 解決方案 |
---|---|---|---|
400 | PARAM_ERROR | 參數(shù)錯(cuò)誤 | 請(qǐng)根據(jù)錯(cuò)誤提示正確傳入?yún)?shù) |
400 | INVALID_REQUEST | HTTP 請(qǐng)求不符合微信支付 APIv3 接口規(guī)則 | 請(qǐng)參閱 接口規(guī)則 |
401 | SIGN_ERROR | 驗(yàn)證不通過(guò) | 請(qǐng)參閱 簽名常見(jiàn)問(wèn)題 |
500 | SYSTEM_ERROR | 系統(tǒng)異常,請(qǐng)稍后重試 | 請(qǐng)稍后重試 |
# 業(yè)務(wù)錯(cuò)誤碼
狀態(tài)碼 | 錯(cuò)誤碼 | 描述 | 解決方案 |
---|---|---|---|
400 | INVALID_REQUEST | 請(qǐng)求參數(shù)符合參數(shù)格式,但不符合業(yè)務(wù)規(guī)則 | 請(qǐng)使用正確的參數(shù)重新調(diào)用 |
400 | RESOURCE_ALREADY_EXISTS | 發(fā)票申請(qǐng)單已存在 | 請(qǐng)稍后調(diào)用【查詢電子發(fā)票】接口獲取開(kāi)票結(jié)果 |
401 | SIGN_ERROR | 簽名錯(cuò)誤或簽名信息不完整 | 請(qǐng)檢查簽名參數(shù)和方法是否都符合簽名算法要求 |
403 | NO_AUTH | 商戶無(wú)權(quán)限 | 請(qǐng)檢查是否已經(jīng)開(kāi)通電子發(fā)票產(chǎn)品相關(guān)功能權(quán)限,若是服務(wù)商模式,還需確認(rèn)子商戶是否接受了服務(wù)商的邀請(qǐng) |
403 | RULE_LIMIT | 商戶尚未配置電子發(fā)票卡券模板信息 | 請(qǐng)先調(diào)用【創(chuàng)建電子發(fā)票卡券模板】接口成功后再重新調(diào)用 |
403 | RULE_LIMIT | 商戶不可對(duì)該貨物或應(yīng)稅勞務(wù)、服務(wù)編碼開(kāi)具發(fā)票 | 請(qǐng)檢查參數(shù)中的貨物或應(yīng)稅勞務(wù)、服務(wù)編碼是否在【獲取商品和服務(wù)稅收分類(lèi)對(duì)照表】接口返回的數(shù)據(jù)中 |
403 | RULE_LIMIT | 商戶提交的購(gòu)買(mǎi)方信息與用戶填寫(xiě)的發(fā)票抬頭不一致 | 請(qǐng)檢查參數(shù)中的購(gòu)買(mǎi)方信息與【獲取用戶填寫(xiě)的抬頭】接口返回的發(fā)票抬頭信息是否一致 |
403 | RULE_LIMIT | 微信支付訂單所屬商戶與當(dāng)前商戶不一致(僅微信支付場(chǎng)景) | 請(qǐng)檢查微信支付訂單號(hào)是否屬于商戶,若是服務(wù)商模式則檢查是否屬于子商戶 |
404 | RESOURCE_NOT_EXISTS | 用戶尚未完成發(fā)票抬頭填寫(xiě)(僅非微信支付場(chǎng)景) | 請(qǐng)?jiān)谡{(diào)用【獲取用戶填寫(xiě)的抬頭】接口成功后再以相同發(fā)票申請(qǐng)單號(hào)重新調(diào)用 |
429 | FREQUENCY_LIMITED | 頻率超限 | 請(qǐng)降低請(qǐng)求接口頻率 |