国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

微信公眾號開發小記——5.python微信紅包

JerryZou / 2785人閱讀

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

描述

有時候產品有這么一些需求,當用戶滿足一定條件時,給他發一定金額的紅包。

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

代碼位置 分支pay-20160802

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

一些需要介紹的東西

接入時最蛋疼的其實是剛入手不知道證書以及秘鑰什么的有啥用,也沒看到什么python的前輩仔細介紹過這些東西。

首先是微信證書,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安全中設置的安全碼
WEINXIN_PAY_MCH_ID = "" # 微信商戶平臺id

具體發紅包的代碼 pay.py

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

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

models.py

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

由于是血坑,我已經踩進去了,所以這里用一級標題標識。

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

寫在最后

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

一個nginx例子

例如,我已經有一個web服務,假設web的名字叫做 www.duoduo369.com,這時候80端口已經沒了,但是我要接微信服務器,又沒有另外的一臺機器,這時候用nginx做一下就ok了,首先django加一個url,/weixin_server,創建一個二級域名例如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;
  }
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38082.html

相關文章

  • 微信公眾開發小記——1.接入微信服務器

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

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

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

    fizz 評論0 收藏0
  • 淺析微信支付:開發前的準備

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

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

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

    aisuhua 評論0 收藏0
  • 微信公眾開發小記——2.80端口上的服務

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

    frank_fun 評論0 收藏0

發表評論

0條評論

JerryZou

|高級講師

TA的文章

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