摘要:本文是淺析微信支付系列文章的第十二篇,主要講解在商戶(hù)存在的提現(xiàn)商戶(hù)付款到微信用戶(hù)零錢(qián)或者銀行卡需求。應(yīng)用場(chǎng)景微信支付已上線企業(yè)付款至銀行卡功能。企業(yè)付款到銀行卡發(fā)票與交易手續(xù)費(fèi)發(fā)票為拆分多帶帶開(kāi)具。
本文是【淺析微信支付】系列文章的第十二篇,主要講解在商戶(hù)存在的提現(xiàn)、商戶(hù)付款到微信用戶(hù)零錢(qián)或者銀行卡需求。
淺析微信支付系列已經(jīng)更新十二篇了喲~,沒(méi)有看過(guò)的朋友們可以看一下哦。
淺析微信支付:支付驗(yàn)收示例和驗(yàn)收指引
淺析微信支付:如何使用沙箱環(huán)境測(cè)試
淺析微信支付:下載對(duì)賬單和資金賬單
淺析微信支付:申請(qǐng)退款、退款回調(diào)接口、查詢(xún)退款
如果你是做電商或者某些有福利返利的系統(tǒng),基本上會(huì)遇到諸如 余額提現(xiàn) 這類(lèi)需求,主要就是平臺(tái)向用戶(hù)返利現(xiàn)金,積累到某一個(gè)門(mén)檻,可以領(lǐng)取到自己的余額賬號(hào)、銀行卡;或者是使用為用戶(hù)發(fā)送現(xiàn)金紅包的方式。
接下來(lái)的兩篇文章,會(huì)為大家描述在微信支付中,像用戶(hù)付款的以上三種方式。
以下為三種付款方式的必要條件:
商戶(hù)號(hào)(或同主體其他非服務(wù)商商戶(hù)號(hào))已入駐90日
商戶(hù)號(hào)(或同主體其他非服務(wù)商商戶(hù)號(hào))有30天連續(xù)正常交易
登錄微信支付商戶(hù)平臺(tái)-產(chǎn)品中心,開(kāi)通企業(yè)付款。
企業(yè)付款到微信用戶(hù)零錢(qián)企業(yè)付款提供由商戶(hù)直接付錢(qián)至用戶(hù)微信零錢(qián)的能力,支持平臺(tái)操作及接口調(diào)用兩種方式,資金到賬速度快,使用及查詢(xún)方便。主要用來(lái)解決合理的商戶(hù)對(duì)用戶(hù)付款需求,比如:保險(xiǎn)理賠、彩票兌換等等。
如何開(kāi)通?
入駐成為商戶(hù):在線提交營(yíng)業(yè)執(zhí)照、身份證、銀行賬戶(hù)等基本信息,快速提交申請(qǐng);
超級(jí)管理員開(kāi)通:前往商戶(hù)平臺(tái)-產(chǎn)品中心-企業(yè)付款到零錢(qián)-申請(qǐng)開(kāi)通;
特殊要求:交易資金是即時(shí)入賬到商戶(hù)號(hào)基本戶(hù)的商戶(hù),需要滿(mǎn)足以下要求:需入駐滿(mǎn)90天,連續(xù)交易30天。
所需資料:開(kāi)通企業(yè)付款到零錢(qián)功能無(wú)需提供額外的材料。
費(fèi)用:試用期間免費(fèi)使用。
企業(yè)付款為企業(yè)提供付款至用戶(hù)零錢(qián)的能力,支持通過(guò)API接口付款,或通過(guò)微信支付商戶(hù)平臺(tái)(pay.weixin.qq.com)網(wǎng)頁(yè)操作付款。
以下為官方的解釋?zhuān)?/p>
https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_1
抓重點(diǎn),首先需要知道的是,開(kāi)通了運(yùn)營(yíng)賬戶(hù)的商戶(hù),付款時(shí)會(huì)從運(yùn)營(yíng)賬戶(hù)余額中扣除,這個(gè)一定要注意,以免金額不足時(shí)付款失敗(可以使用主賬戶(hù)為運(yùn)營(yíng)賬戶(hù)充值,參考[交易中心]-[充值/轉(zhuǎn)入])。
以下為特別需要注意的地方,為大家標(biāo)記出來(lái),設(shè)計(jì)系統(tǒng)時(shí)一定要參考一下,以免入坑。
接口鏈接https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers是否需要證書(shū)
請(qǐng)求需要雙向證書(shū)。
調(diào)用接口注意事項(xiàng):
◆ 當(dāng)返回錯(cuò)誤碼為“SYSTEMERROR”時(shí),請(qǐng)不要更換商戶(hù)訂單號(hào),一定要使用原商戶(hù)訂單號(hào)重試,否則可能造成重復(fù)支付等資金風(fēng)險(xiǎn)。
◆ XML具有可擴(kuò)展性,因此返回參數(shù)可能會(huì)有新增,而且順序可能不完全遵循此文檔規(guī)范,如果在解析回包的時(shí)候發(fā)生錯(cuò)誤,請(qǐng)商戶(hù)務(wù)必不要換單重試,請(qǐng)商戶(hù)聯(lián)系客服確認(rèn)付款情況。如果有新回包字段,會(huì)更新到此API文檔中。
◆ 因?yàn)殄e(cuò)誤代碼字段err_code的值后續(xù)可能會(huì)增加,所以商戶(hù)如果遇到回包返回新的錯(cuò)誤碼,請(qǐng)商戶(hù)務(wù)必不要換單重試,請(qǐng)商戶(hù)聯(lián)系客服確認(rèn)付款情況。如果有新的錯(cuò)誤碼,會(huì)更新到此API文檔中。
◆ 錯(cuò)誤代碼描述字段err_code_des只供人工定位問(wèn)題時(shí)做參考,系統(tǒng)實(shí)現(xiàn)時(shí)請(qǐng)不要依賴(lài)這個(gè)字段來(lái)做自動(dòng)化處理。
PS:目前支持向指定微信用戶(hù)的openid付款。
官方文檔如下:
https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2
具體的傳入?yún)?shù),這里就不一一列舉了,請(qǐng)大家參考一下官方文檔,下面貼上具體的實(shí)現(xiàn)源碼:
/** * [微信支付提現(xiàn)接口] - 保存調(diào)用的相關(guān)記錄 * @param payment 支付對(duì)象 * @param wxPayConfig 微信支付單例對(duì)象 * @return map * * @author yclimb * @date 2018/7/30 */ public MapsaveWxPayTransfers(Payment payment, WXPayConfig wxPayConfig) throws Exception { // 支付前驗(yàn)證 // 微信支付對(duì)象 // WXPay wxPay = new WXPay(WXPayConfigImpl.getInstance()); WXPay wxPay = new WXPay(wxPayConfig); // 微信退款接口 Map resultMap = wxPay.transfers(...); logger.info("saveWxPayTransfers:resultMap:" + resultMap.toString()); // 下單失敗,進(jìn)行處理 if (WXPayConstants.FAIL.equals(resultMap.get(WXPayConstants.RETURN_CODE)) || WXPayConstants.FAIL.equals(resultMap.get(WXPayConstants.RESULT_CODE))) { // 處理結(jié)果返回,無(wú)需繼續(xù)執(zhí)行 // 余額不足提醒 if (WXPayCodeEnum.ERR_CODE_NOTENOUGH.getCode().equals(resultMap.get(WXPayConstants.ERR_CODE))) { // 發(fā)送余額不足的消息提醒 } } // 付款記錄修改 & 記錄付款日志 return resultMap; }
以上為調(diào)用的應(yīng)用方法,下面為大家貼出微信接口調(diào)用代碼 imall.weixin.sdk.WXPay:
/** * 作用:企業(yè)向微信用戶(hù)個(gè)人付款
* 場(chǎng)景:企業(yè)付款為企業(yè)提供付款至用戶(hù)零錢(qián)的能力,支持通過(guò)API接口付款,或通過(guò)微信支付商戶(hù)平臺(tái)(pay.weixin.qq.com)網(wǎng)頁(yè)操作付款。 * 接口文檔地址:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2 * * @param partner_trade_no 商戶(hù)訂單號(hào) * @param openid 用戶(hù)openid * @param amount 企業(yè)付款金額 * @param desc 企業(yè)付款描述信息 * @param spbill_create_ip 該IP可傳用戶(hù)端或者服務(wù)端的IP * @return API返回?cái)?shù)據(jù) * @throws Exception e */ public Maptransfers(String partner_trade_no, String openid, String amount, String desc, String spbill_create_ip) throws Exception { /** 構(gòu)造請(qǐng)求參數(shù)數(shù)據(jù) **/ Map data = new HashMap<>(); // 商戶(hù)訂單號(hào) partner_trade_no 是 10000098201411111234567890 String 商戶(hù)訂單號(hào),需保持唯一性(只能是字母或者數(shù)字,不能包含有符號(hào)) data.put("partner_trade_no", partner_trade_no); // 用戶(hù)openid openid 是 oxTWIuGaIt6gTKsQRLau2M0yL16E String 商戶(hù)appid下,某用戶(hù)的openid data.put("openid", openid); // 校驗(yàn)用戶(hù)姓名選項(xiàng) check_name 是 FORCE_CHECK String NO_CHECK:不校驗(yàn)真實(shí)姓名,FORCE_CHECK:強(qiáng)校驗(yàn)真實(shí)姓名 data.put("check_name", "NO_CHECK"); // 金額 amount 是 10099 int 企業(yè)付款金額,單位為分 data.put("amount", String.valueOf(new BigDecimal(amount).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP).intValue())); // 企業(yè)付款描述信息 desc 是 理賠 String 企業(yè)付款操作說(shuō)明信息。必填。 data.put("desc", desc); // Ip地址 spbill_create_ip 是 192.168.0.1 String(32) 該IP同在商戶(hù)平臺(tái)設(shè)置的IP白名單中的IP沒(méi)有關(guān)聯(lián),該IP可傳用戶(hù)端或者服務(wù)端的IP。 data.put("spbill_create_ip", spbill_create_ip); /** 以下參數(shù)為非必填參數(shù) **/ /*// 設(shè)備號(hào) device_info 否 013467007045764 String(32) 微信支付分配的終端設(shè)備號(hào) data.put("device_info", "xxx"); // 收款用戶(hù)姓名 re_user_name 可選 王小王 String 收款用戶(hù)真實(shí)姓名。(如果check_name設(shè)置為FORCE_CHECK,則必填用戶(hù)真實(shí)姓名) data.put("re_user_name", "xxx");*/ // 微信調(diào)用接口 Map resultMap = this.transfers(data); WXPayUtil.getLogger().info("wxPay.transfers:" + resultMap); return resultMap; }
PS:推薦數(shù)據(jù)庫(kù)中對(duì)于金額存儲(chǔ)為數(shù)值單位,以分為單位來(lái)存儲(chǔ),1.1元可以?xún)?chǔ)存為101,這樣和微信對(duì)應(yīng),會(huì)方便很多。
對(duì)于企業(yè)付款查詢(xún)的接口,這里就不詳細(xì)描述了,以下為具體的官方文檔鏈接:
https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_3
需要的朋友,根據(jù)文檔進(jìn)行接口查詢(xún)即可,非高頻接口。
企業(yè)付款到銀行卡企業(yè)付款到銀行卡提供由商戶(hù)直接付錢(qián)至指定銀行卡賬戶(hù)的能力,支持平臺(tái)操作及接口調(diào)用兩種方式,資金到賬速度快,使用及查詢(xún)方便。主要用來(lái)解決合理的商戶(hù)對(duì)用戶(hù)付款需求,比如:保險(xiǎn)理賠、彩票兌換等等。
開(kāi)通流程:
入駐成為商戶(hù):在線提交營(yíng)業(yè)執(zhí)照、身份證、銀行賬戶(hù)等基本信息,快速提交申請(qǐng);
超級(jí)管理員開(kāi)通:前往商戶(hù)平臺(tái)-產(chǎn)品中心-企業(yè)付款到銀行卡-申請(qǐng)開(kāi)通;
特殊要求:交易資金是即時(shí)入賬到商戶(hù)號(hào)基本戶(hù)的商戶(hù),需要滿(mǎn)足以下要求:需入駐滿(mǎn)90天,連續(xù)交易30天。
所需資料:開(kāi)通企業(yè)付款到銀行卡功能無(wú)需提供額外的材料。
費(fèi)用:此功能需收取手續(xù)費(fèi),按照單筆金額收取,每筆收取0.1%,最低1元,最高25元。
微信支付已上線企業(yè)付款至銀行卡功能。商戶(hù)可以將商戶(hù)號(hào)余額付款至指定的收款銀行賬戶(hù)。通過(guò)指定收款銀行賬戶(hù)戶(hù)名、卡號(hào),以及收款銀行信息即可實(shí)現(xiàn)付款。
官方文檔地址:
https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_1&index=1
功能說(shuō)明:
企業(yè)付款至銀行卡只支持新資金流類(lèi)型賬戶(hù)
目前企業(yè)付款到銀行卡支持17家銀行,更多銀行逐步開(kāi)放中
付款到賬實(shí)效為1-3日,最快次日到賬
每筆按付款金額收取手續(xù)費(fèi),按金額0.1%收取,最低1元,最高25元,如果商戶(hù)開(kāi)通了運(yùn)營(yíng)賬戶(hù),手續(xù)費(fèi)和付款的金額都從運(yùn)營(yíng)賬戶(hù)出。如果沒(méi)有開(kāi)通,則都從基本戶(hù)出。
每個(gè)商戶(hù)號(hào)每天可以出款100萬(wàn),單商戶(hù)給同一銀行卡付款每天限額5萬(wàn)
發(fā)票:在賬戶(hù)中心-發(fā)票信息頁(yè)面申請(qǐng)開(kāi)票的商戶(hù)會(huì)按月收到發(fā)票(已申請(qǐng)的無(wú)需重復(fù)申請(qǐng))。
企業(yè)付款到銀行卡發(fā)票與交易手續(xù)費(fèi)發(fā)票為拆分多帶帶開(kāi)具。
需要注意的是,微信支持的銀行有限,具體的支持銀行見(jiàn)如下鏈接:
https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_4&index=5
所以肯定會(huì)出現(xiàn)不支持的銀行,小伙伴們?cè)陂_(kāi)發(fā)的時(shí)候,可以在前后端控制用戶(hù)選擇提現(xiàn)銀行來(lái)解決。
平臺(tái)上手動(dòng)付款流程:
在產(chǎn)品中心,開(kāi)通企業(yè)付款到個(gè)人銀行卡功能
進(jìn)入交易中心-企業(yè)付款到銀行卡頁(yè)面進(jìn)行付款
指定收款銀行賬號(hào)、戶(hù)名、收款方開(kāi)戶(hù)行,及付款金額信息,即可實(shí)現(xiàn)付款
接口鏈接https://api.mch.weixin.qq.com/mmpaysptrans/pay_bank是否需要證書(shū)
請(qǐng)求需要雙向證書(shū)。
調(diào)用接口接口介紹:
用于企業(yè)向微信用戶(hù)銀行卡付款
目前支持接口API的方式向指定微信用戶(hù)的銀行卡付款。
接口調(diào)用規(guī)則:
◆ 單商戶(hù)日限額——單日100w
◆ 單次限額——單次5w
◆ 單商戶(hù)給同一銀行卡單日限額——單日5w
注意:重點(diǎn)來(lái)了,首先,收款方銀行卡號(hào)enc_bank_no、收款方用戶(hù)名enc_true_name 這兩個(gè)入?yún)⑹切枰?采用標(biāo)準(zhǔn)RSA算法,公鑰由微信側(cè)提供 得到的,所以還需要先拿到這個(gè)密鑰,下面是官方文檔地址:
https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_7&index=4
以上文檔詳細(xì)介紹了如何得到具體的密鑰方式,如果有看不明白的小伙伴,可以直接百度 獲取RSA加密公鑰API,可以得到很多示例,這里我就不講了。
除入?yún)⒑?b>企業(yè)付款到微信用戶(hù)零錢(qián)有所不一致之外,其他方面都差不多,小伙伴們可以參考上面付款到零錢(qián)的接口來(lái)實(shí)現(xiàn)付款到銀行卡接口。
結(jié)語(yǔ)以上為微信余額提現(xiàn)相關(guān)的解釋和源碼,小伙伴們一定要注意看看官方文檔哦,具體的源碼可以看作者的github,里面對(duì)每個(gè)方法有詳細(xì)的注釋。
如果小伙伴有遇到解決不了的問(wèn)題,可以關(guān)注作者微信公眾號(hào),加入討論群中發(fā)出疑問(wèn),和小伙伴們一起解決哦~
預(yù)告:下一篇文章會(huì)講發(fā)放獎(jiǎng)勵(lì)的另一種方式 商戶(hù)平臺(tái)-現(xiàn)金紅包,敬請(qǐng)期待!??!
?如果想要提前一覽源碼的小伙伴,可以先看看我的 github,地址如下:
?
?`
?https://github.com/YClimb/wxp...
?`
關(guān)注作者微信公眾號(hào),點(diǎn)擊下方討論群,掃碼即可加入微信支付討論群與小伙伴一起探討哦~
到此本文就結(jié)束了,關(guān)注公眾號(hào)查看更多推送?。?!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/72206.html
摘要:本文是淺析微信支付系列文章的第十三篇,主要講解在如何開(kāi)通商戶(hù)平臺(tái)的紅包功能和為用戶(hù)發(fā)放紅包,以及查詢(xún)發(fā)送紅包記錄。操作路徑登錄微信支付商戶(hù)平臺(tái)產(chǎn)品中心現(xiàn)金紅包開(kāi)通。 本文是【淺析微信支付】系列文章的第十三篇,主要講解在如何開(kāi)通商戶(hù)平臺(tái)的紅包功能和為用戶(hù)發(fā)放紅包,以及查詢(xún)發(fā)送紅包記錄。 淺析微信支付系列已經(jīng)更新十三篇了喲~,沒(méi)有看過(guò)的朋友們可以看一下哦。 淺析微信支付:(余額提現(xiàn))企業(yè)...
摘要:本文是淺析微信支付系列文章的第三篇,主要會(huì)講一下在開(kāi)發(fā)前的一些注意事項(xiàng)。淺析微信支付系列已經(jīng)更新兩篇了喲,沒(méi)有看過(guò)的朋友們可以看一下。開(kāi)通微信支付需要注冊(cè)登陸微信商戶(hù)平臺(tái),微信支付相關(guān)的信息都需要在這個(gè)平臺(tái)上進(jìn)行操作。 本文是【淺析微信支付】系列文章的第三篇,主要會(huì)講一下在開(kāi)發(fā)前的一些注意事項(xiàng)。 淺析微信支付系列已經(jīng)更新兩篇了喲~,沒(méi)有看過(guò)的朋友們可以看一下。 淺析微信支付:前篇大綱...
摘要:本文是淺析微信支付系列文章的第二篇,主要講解一下普通商戶(hù)接入的支付方式以及其中的不同之處。淺析微信支付前篇大綱微信支付是集成在微信客戶(hù)端的支付功能,用戶(hù)可以通過(guò)手機(jī)完成快速的支付流程。目前微信支付支持手機(jī)系統(tǒng)有蘋(píng)果安卓和。 本文是【淺析微信支付】系列文章的第二篇,主要講解一下普通商戶(hù)接入的支付方式以及其中的不同之處。 上篇文章講了本系列的大綱,沒(méi)有看過(guò)的朋友們可以看一下。 淺析微信支...
摘要:微信支付方式付款碼支付適用于線下場(chǎng)所支付支付是指商戶(hù)通過(guò)調(diào)用微信支付提供的接口,在支付場(chǎng)景中調(diào)起微信支付模塊完成收款。主要用于觸屏版的手機(jī)瀏覽器請(qǐng)求微信支付的場(chǎng)景??梢苑奖愕膹耐獠繛g覽器喚起微信支付。 微信支付方式(https://pay.weixin.qq.com/sta...): 1、付款碼支付————————適用于線下場(chǎng)所 2、JSAPI支付————————JSAPI支付是指商戶(hù)...
摘要:本文是淺析微信支付系列文章的第十四篇,主要講解在如何開(kāi)通商戶(hù)平臺(tái)的代金券或立減優(yōu)惠功能,商家向指定用戶(hù)發(fā)送代金券,查詢(xún)發(fā)送記錄,代金券信息等。代金券微信支付代金券業(yè)務(wù)是基于微信支付,為了協(xié)助商戶(hù)方便地實(shí)現(xiàn)營(yíng)銷(xiāo)優(yōu)惠措施。 本文是【淺析微信支付】系列文章的第十四篇,主要講解在如何開(kāi)通商戶(hù)平臺(tái)的代金券或立減優(yōu)惠功能,商家向指定用戶(hù)發(fā)送代金券,查詢(xún)發(fā)送記錄,代金券信息等。 淺析微信支付系列已...
閱讀 1361·2021-09-24 10:26
閱讀 3678·2021-09-06 15:02
閱讀 632·2019-08-30 14:18
閱讀 588·2019-08-30 12:44
閱讀 3128·2019-08-30 10:48
閱讀 1952·2019-08-29 13:09
閱讀 2006·2019-08-29 11:30
閱讀 2292·2019-08-26 13:36