成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

微信公眾號開發(fā)小記——5.python微信紅包

JerryZou / 2799人閱讀

摘要:微信各個服務(wù)是獨立的,比較蛋疼,要用紅包功能,首先你需要注冊一個微信商戶平臺賬號。首先是微信證書,用的是,與這兩個。寫在最后微信開發(fā)者工具挺好用的,服務(wù)號里把自己加為開發(fā)者就能用了。

描述

有時候產(chǎn)品有這么一些需求,當(dāng)用戶滿足一定條件時,給他發(fā)一定金額的紅包。

微信各個服務(wù)是獨立的,比較蛋疼,要用紅包功能,首先你需要注冊一個微信商戶平臺賬號。

代碼位置 分支pay-20160802

微信支付比較煩,因為他有自己的加密方式,還要用證書,所以不能用之前sdk的東西,自己隨便按照文檔封了下加密以及api之類的算法,代碼什么的很簡單,跟著文檔來好了。

一些需要介紹的東西

接入時最蛋疼的其實是剛?cè)胧植恢雷C書以及秘鑰什么的有啥用,也沒看到什么python的前輩仔細(xì)介紹過這些東西。

首先是微信證書,python用的是apiclient_cert.pem,與apiclient_key.pem這兩個。

其次是加密時用得api秘鑰,文檔

代碼講解

配置

WEIXIN_PAY_CERT_FOLDER_PATH = "cert_folder_path" # 證書文件夾路徑
# 四個證書具體路徑
WEIXIN_PAY_P12_CERT_PATH = "apiclient_cert.p12_file_path"
WEIXIN_PAY_CERT_PATH = "apiclient_cert.pem_file_path"
WEIXIN_PAY_CERT_KEY_PATH = "apiclient_key.pem_file_path"
WEIXIN_PAY_CA_CERT_PATH = "rootca.pem_file_path"
WEIXIN_PAY_API_KEY = "" # 微信商戶平臺api安全中設(shè)置的安全碼
WEINXIN_PAY_MCH_ID = "" # 微信商戶平臺id

具體發(fā)紅包的代碼 pay.py

加密發(fā)紅包沒什么好說的,照著文檔寫就是了,就下面這一句,requests請求是可以帶證書的,把微信要的證書給帶上。

respose = requests.post(SENDREDPACK_URL, data=content, headers=headers,
            cert=(settings.WEIXIN_PAY_CERT_PATH, settings.WEIXIN_PAY_CERT_KEY_PATH))

models.py

血坑?。?!解決方案請自行考慮

由于是血坑,我已經(jīng)踩進(jìn)去了,所以這里用一級標(biāo)題標(biāo)識。

并發(fā)啊,高并發(fā)啊,中國人知道發(fā)錢這種事情都是瘋子啊,當(dāng)你丟出一個發(fā)錢的鏈接后,就會有人用fiddler,charles之類的抓包然后干你,數(shù)據(jù)庫太太太慢了,你一定要做好api的調(diào)用頻次限制,而且這種活動上線后最好把跟主服務(wù)的幾臺機(jī)器分開,nginx只把這個活動的東西代過來,頻次限制之類的一定要用redis之類的緩存,而且微信會面臨紅包的各種failed狀況,無論微信那邊成功失敗與否,一次請求就是一次請求,頻次限制無視微信那邊的返回都要限(不要說用戶體驗不好,服務(wù)器炸了一天的飄過,當(dāng)整個服務(wù)器炸了之后誰還管體驗)。

寫在最后

微信web開發(fā)者工具挺好用的,服務(wù)號里把自己加為開發(fā)者就能用了。

一個nginx例子

例如,我已經(jīng)有一個web服務(wù),假設(shè)web的名字叫做 www.duoduo369.com,這時候80端口已經(jīng)沒了,但是我要接微信服務(wù)器,又沒有另外的一臺機(jī)器,這時候用nginx做一下就ok了,首先django加一個url,/weixin_server,創(chuàng)建一個二級域名例如weixin.duoduo369.com,然后nginx把weixin.duoduo369.com的所有請求代到 www.duoduo369.com/weixin_server即可。

upstream your-backend {
    server 127.0.0.1:8000 fail_timeout=0;
}

server {
  server_name weixin.yourdomain.com yourdomain.ittun.com;
  location / {
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://your-backend/weixin_server;
  }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/38082.html

相關(guān)文章

  • 微信公眾開發(fā)小記——1.接入微信服務(wù)器

    摘要:描述由于馬上要做一波公眾號開發(fā),今天先調(diào)研,把基本的服務(wù)器接起來。手腳架地址文檔微信公眾號公眾號開發(fā)首先你要有個公眾號,這里就不說了按照流程申請。腳手架的說明微信公眾號接入的時候要做很多事情,為了簡化開發(fā),提供一個版本的服務(wù)器。 描述 由于馬上要做一波公眾號開發(fā),今天先調(diào)研,把基本的服務(wù)器接起來。微信公眾號服務(wù)器在接入的時候要做一些煩躁的事情,改配置的時候要進(jìn)行握手,api調(diào)用要做一些...

    sshe 評論0 收藏0
  • 淺析微信支付:商戶平臺開通現(xiàn)金紅包、指定用戶發(fā)放、紅包記錄查詢

    摘要:本文是淺析微信支付系列文章的第十三篇,主要講解在如何開通商戶平臺的紅包功能和為用戶發(fā)放紅包,以及查詢發(fā)送紅包記錄。操作路徑登錄微信支付商戶平臺產(chǎn)品中心現(xiàn)金紅包開通。 本文是【淺析微信支付】系列文章的第十三篇,主要講解在如何開通商戶平臺的紅包功能和為用戶發(fā)放紅包,以及查詢發(fā)送紅包記錄。 淺析微信支付系列已經(jīng)更新十三篇了喲~,沒有看過的朋友們可以看一下哦。 淺析微信支付:(余額提現(xiàn))企業(yè)...

    fizz 評論0 收藏0
  • 淺析微信支付:開發(fā)前的準(zhǔn)備

    摘要:本文是淺析微信支付系列文章的第三篇,主要會講一下在開發(fā)前的一些注意事項。淺析微信支付系列已經(jīng)更新兩篇了喲,沒有看過的朋友們可以看一下。開通微信支付需要注冊登陸微信商戶平臺,微信支付相關(guān)的信息都需要在這個平臺上進(jìn)行操作。 本文是【淺析微信支付】系列文章的第三篇,主要會講一下在開發(fā)前的一些注意事項。 淺析微信支付系列已經(jīng)更新兩篇了喲~,沒有看過的朋友們可以看一下。 淺析微信支付:前篇大綱...

    yanest 評論0 收藏0
  • 微信公眾開發(fā)小記——3.接入三方登錄

    摘要:我接觸已經(jīng)很久了,其中微信的就是我貢獻(xiàn)的代碼,然而當(dāng)時做的時候比較年輕,而且這個項目處于一個很大的代碼重構(gòu)中,借這次機(jī)會重新用正確的姿勢接入了一下三方登錄,可以當(dāng)做一個學(xué)習(xí)接入三方的。 為什么要接入三方登錄 如果你的微信服務(wù)器要做復(fù)雜的邏輯,比如html5、給用戶提供高級的服務(wù),并且有很好看的頁面等等,這種時候你就需要一個正常的web服務(wù)器,用戶打通就需要做三方登錄了。 而如果你決定直...

    aisuhua 評論0 收藏0
  • 微信公眾開發(fā)小記——2.80端口上的服務(wù)

    摘要:微信在做一些操作是需要用到生成二維碼等而每天接口的調(diào)用上限為,需要自己做緩存文檔講了幾種方式,我覺得放在中拿比較妥當(dāng)。微信菜單會緩存分鐘,你可以取消關(guān)注,然后在關(guān)注查看菜單變化效果。 描述 微信公眾號開發(fā)基本分為2大種類型 1.用戶直接做了某些操作(回復(fù)信息、訂閱、掃碼、發(fā)語音、點按鈕等),此時這些信息微信會發(fā)送到微信服務(wù)器的80端口,這是一種開發(fā)類型;2.通過連接(按鈕、文章)引導(dǎo)用...

    frank_fun 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<