国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 微信小程式 微信開發(fā) C#開發(fā)微信入口網(wǎng)站及應(yīng)用微信支付之企業(yè)付款封裝操作

C#開發(fā)微信入口網(wǎng)站及應(yīng)用微信支付之企業(yè)付款封裝操作

Mar 07, 2017 am 09:41 AM

1、企業(yè)付款的介紹

所謂企業(yè)付款指的是,在功能開放後諸如保險業(yè)的客戶理賠、退保、商品退款、發(fā)放徵集活動獎金、抽獎互動等操作都可以透過企業(yè)付款完成。而此前,微信支付只能提供客戶向企業(yè)單向付款。

商家如果需要給用戶付款,可以直接將錢打入用戶的「微信零錢」中,微信支付將做零錢入帳訊息通知,零錢收支明細會顯示相應(yīng)記錄。針對無零錢帳戶的歷史用戶端版本,資金將進入用戶的紅包帳戶,微信支付無訊息通知用戶,企業(yè)可選擇自行觸達用戶。

通過認證的企業(yè)號可以開啟微信支付功能。通過認證的企業(yè)號可以管理平臺的「服務(wù)中心」的「微信支付」入口裡進行微信支付功能申請。而開通微信支付功能後,企業(yè)號將有兩項功能:收款和付款。若是用戶號碼對企業(yè)號付款,款項將會進入企業(yè)號所關(guān)聯(lián)的商戶號碼。同時,企業(yè)號可以透過微信紅包或微信轉(zhuǎn)帳的形式對用戶號碼付款。

企業(yè)付款,提供企業(yè)向使用者付款的功能,支援企業(yè)透過API介面付款,或透過微信支付商家平臺網(wǎng)頁功能操作付款。

涉及資金操作的功能,安全性需求較高,需要操作員安裝憑證(商家平臺-帳戶設(shè)定-密碼安全-操作證書);透過API或網(wǎng)頁操作,付款至目標使用者(企業(yè)可根據(jù)APPID+OpenID鎖定目標用戶)。針對已實名認證的用戶,微信支付可提供校驗真實姓名一致性的選用功能。

企業(yè)付款小秘訣:

##? ? ◆ 給予同一個實名使用者付款,單筆單日限額2W/2W

? ??◆ 給予同一個非實名用戶付款,單筆單日限額2000/2000

? ??◆ 一個商戶同一日付款總額限額100W

? ??◆僅支持商戶號已綁定的APPID;

? ??◆針對付款的目標用戶,已微信支付實名認證的用戶可提供校驗真實姓名的功能,未實名認證的用戶無法校驗,企業(yè)可根據(jù)自身業(yè)務(wù)的安全級別選擇驗證類型;

? ??◆付款金額必須小於或等於商家目前可用餘額的金額;

? ??◆?已付款的記錄,企業(yè)可透過企業(yè)付款查詢查看對應(yīng)資料。

C#開發(fā)微信入口網(wǎng)站及應(yīng)用微信支付之企業(yè)付款封裝操作

?

2、企業(yè)付款A(yù)PI

企業(yè)付款業(yè)務(wù)是基於微信支付商家平臺的資金管理能力,為了協(xié)助商家方便地實現(xiàn)企業(yè)向個人付款,針對部分有開發(fā)能力的商戶,提供透過API完成企業(yè)付款的功能。?

例如目前的保險業(yè)向客戶退保、給付、理賠。

企業(yè)付款將使用商家的可用餘額,需確??捎灭N額充足。查看可用餘額、儲值、提現(xiàn)請登入商家平臺「資金管理」進行操作。


介面位址


介面連結(jié):https:/ /api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers


##是否需要證書


C#開發(fā)微信入口網(wǎng)站及應(yīng)用微信支付之企業(yè)付款封裝操作

C#開發(fā)微信入口網(wǎng)站及應(yīng)用微信支付之企業(yè)付款封裝操作

C#開發(fā)微信入口網(wǎng)站及應(yīng)用微信支付之企業(yè)付款封裝操作

#######請求需要雙向憑證。 詳見證書使用######請求參數(shù)###############提交資料範例:###
<xml>
<mch_appid>wxe062425f740c30d8</mch_appid>
<mchid>10000098</mchid>
<nonce_str>3PG2J4ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str>
<partner_trade_no>100000982014120919616</partner_trade_no>
<openid>ohO4Gt7wVPxIT1A9GjFaMYMiZY1s</openid>
<check_name>OPTION_CHECK</check_name>
<re_user_name>張三</re_user_name>
<amount>100</amount>
<desc>節(jié)日快樂!</desc>
<spbill_create_ip>10.2.3.10</spbill_create_ip>
<sign>C97BDBACF37622775366F38B629F45E3</sign>
</xml>
###成功傳回的資料範例:###
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[]]></return_msg>
<mch_appid><![CDATA[wxec38b8ff840bd989]]></mch_appid>
<mchid><![CDATA[10013274]]></mchid>
<device_info><![CDATA[]]></device_info>
<nonce_str><![CDATA[lxuDzMnRjpcXzxLx0q]]></nonce_str>
<result_code><![CDATA[SUCCESS]]></result_code>
<partner_trade_no><![CDATA[10013574201505191526582441]]></partner_trade_no>
<payment_no><![CDATA[1000018301201505190181489473]]></payment_no>
<payment_time><![CDATA[2015-05-19 15:26:59]]></payment_time>
</xml>
## #根據(jù)上面的介面描述,以及輸入,返回參數(shù),我們可以建立對應(yīng)的C#程式碼的介面###############根據(jù)上面的介面定義,我們可以定義介面資訊如下所顯示#########
/// <summary>
    /// 微信支付接口
    /// </summary>
    public interface ITenPayApi
    {  

        /// <summary>
        /// 企業(yè)付款(請求需要雙向證書)
        /// 企業(yè)付款業(yè)務(wù)是基于微信支付商戶平臺的資金管理能力,為了協(xié)助商戶方便地實現(xiàn)企業(yè)向個人付款,
        /// 針對部分有開發(fā)能力的商戶,提供通過API完成企業(yè)付款的功能。 比如目前的保險行業(yè)向客戶退保、給付、理賠。
        /// 企業(yè)付款將使用商戶的可用余額,需確??捎糜囝~充足。查看可用余額、充值、提現(xiàn)請登錄商戶平臺“資金管理”進行操作。https://pay.weixin.qq.com/ 
        /// 注意:與商戶微信支付收款資金并非同一賬戶,需要單獨充值。
        /// </summary>
        /// <param name="json">企業(yè)支付數(shù)據(jù)</param>
        /// <returns></returns>
        CorpPayResult CorpPay(CorpPayJson json);

        ..............
#########其中上方的CorpPayJson 和CorpPayResult 分別是傳入?yún)?shù)和所取得的結(jié)果內(nèi)容,兩者的物件資訊都依照參數(shù)定義即可。 ############

/// <summary>
    /// 企業(yè)付款的數(shù)據(jù)信息
    /// </summary>
    public class CorpPayJson
    {
        public CorpPayJson()
        {
            this.check_name = "FORCE_CHECK";
        }

        /// <summary>
        /// 微信支付分配的終端設(shè)備號
        /// </summary>
        public string device_info { get; set; }

        /// <summary>
        /// 用戶openid
        /// </summary>
        public string openid { get; set; }

        /// <summary>
        /// 校驗用戶姓名選項,可以使用 PayCheckName枚舉對象獲取名稱
        /// NO_CHECK:不校驗真實姓名 
        /// FORCE_CHECK:強校驗真實姓名(未實名認證的用戶會校驗失敗,無法轉(zhuǎn)賬) 
        /// OPTION_CHECK:針對已實名認證的用戶才校驗真實姓名(未實名認證用戶不校驗,可以轉(zhuǎn)賬成功)
        /// </summary>
        public string check_name { get; set; }

        /// <summary>
        /// 收款用戶真實姓名。 
        /// 如果check_name設(shè)置為FORCE_CHECK或OPTION_CHECK,則必填用戶真實姓名
        /// </summary>
        public string re_user_name { get; set; }

        /// <summary>
        /// 企業(yè)付款金額,單位為分
        /// </summary>
        public int amount { get; set; }

        /// <summary>
        /// 企業(yè)付款操作說明信息。必填。
        /// </summary>
        public string desc { get; set; }

        /// <summary>
        /// 調(diào)用接口的機器Ip地址
        /// </summary>
        public string spbill_create_ip { get; set; }
    }

/// <summary>
    /// 企業(yè)付款操作的返回結(jié)果
    /// </summary>
    public class CorpPayResult : PayResult
    {    
        /// <summary>
        /// 微信分配的公眾賬號ID(企業(yè)號corpid即為此appId)
        /// </summary>
        public string mch_appid { get; set; }

        /// <summary>
        /// 微信支付分配的終端設(shè)備號
        /// </summary>
        public string device_info { get; set; }

        /// <summary>
        /// 商戶使用查詢API填寫的單號的原路返回. 
        /// </summary>
        public string partner_trade_no { get; set; }

        /// <summary>
        /// 企業(yè)付款成功,返回的微信訂單號
        /// </summary>
        public string payment_no { get; set; }

        /// <summary>
        /// 企業(yè)付款成功時間
        /// </summary>
        public string payment_time { get; set; }
    }

企業(yè)付款的API實現(xiàn)和前面兩種紅包的處理方式 差不多,一個是傳入常規(guī)的賬號信息,一個是傳入業(yè)務(wù)參數(shù),然后提交獲取結(jié)果即可,具體代碼如下所示。

/// <summary>
        /// 企業(yè)付款(請求需要雙向證書)
        /// 企業(yè)付款業(yè)務(wù)是基于微信支付商戶平臺的資金管理能力,為了協(xié)助商戶方便地實現(xiàn)企業(yè)向個人付款,
        /// 針對部分有開發(fā)能力的商戶,提供通過API完成企業(yè)付款的功能。 比如目前的保險行業(yè)向客戶退保、給付、理賠。
        /// 企業(yè)付款將使用商戶的可用余額,需確??捎糜囝~充足。查看可用余額、充值、提現(xiàn)請登錄商戶平臺“資金管理”進行操作。https://pay.weixin.qq.com/ 
        /// 注意:與商戶微信支付收款資金并非同一賬戶,需要單獨充值。
        /// </summary>
        /// <param name="json">企業(yè)支付數(shù)據(jù)</param>
        /// <returns></returns>
        public CorpPayResult CorpPay(CorpPayJson json)
        {
            CheckAccount();//檢查AccountInfo的對象屬性值

            WxPayData data = new WxPayData();
            data.SetValue("mch_appid", AccountInfo.UniteAppId);//公眾賬號appid, 注意是mch_appid,而非wxappid
            data.SetValue("mchid", AccountInfo.MchID);//商戶號, 注意是mchid而非mch_id
            data.SetValue("nonce_str", data.GenerateNonceStr());//隨機字符串
            data.SetValue("spbill_create_ip", NetworkUtil.GetIPAddress());//終端ip      
            data.SetValue("partner_trade_no", data.GenerateOutTradeNo(AccountInfo.MchID));//隨機字符串

            data.SetValue("device_info", json.device_info);//終端ip            
            data.SetValue("openid", json.openid);
            data.SetValue("check_name", json.check_name);
            data.SetValue("re_user_name", json.re_user_name);
            data.SetValue("amount", json.amount);
            data.SetValue("desc", json.desc);

            data.SetValue("sign", data.MakeSign(AccountInfo.PayAPIKey));//最后生成簽名

            var url = string.Format("https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers");
            return Helper.GetPayResultWithCert<CorpPayResult>(data, url, AccountInfo.CertPath, AccountInfo.CertPassword);
        }

接口定義及實現(xiàn)好后,我們可以在項目中對API進行調(diào)用測試,具體代碼如下所示

CorpPayJson json = new CorpPayJson()
            {
                amount = 100,
                check_name = PayCheckName.FORCE_CHECK.ToString(),
                desc = "測試退款",
                openid = this.openId,
                device_info = "",
                re_user_name = "伍華聰",
                spbill_create_ip = NetworkUtil.GetIPAddress()
            };

            var result = api.CorpPay(json);
            var message = string.Format("企業(yè)直接付款:{0} {1}", result.Success ? "成功" : "失敗", result.Message);
            Console.WriteLine(message);
            Console.WriteLine(result.ToJson());

C#開發(fā)微信入口網(wǎng)站及應(yīng)用微信支付之企業(yè)付款封裝操作

付款操作成功后,我們可以看到這個錢是直接到用戶錢包里面去的,而且我們也可以在商戶后臺進行記錄的查看,可以看到對應(yīng)的記錄。

C#開發(fā)微信入口網(wǎng)站及應(yīng)用微信支付之企業(yè)付款封裝操作

?

?更多C#開發(fā)微信入口網(wǎng)站及應(yīng)用微信支付之企業(yè)付款封裝操作相關(guān)文章請關(guān)注PHP中文網(wǎng)!

?

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔相應(yīng)的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)