日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微信扫一扫支付怎么弄?

發布時間:2023/12/29 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信扫一扫支付怎么弄? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簽名生成的通用步驟如下:

第一步,設所有發送或者接收到的數據為集合M,將集合M內非空參數值的參數按照參數名ASCII碼從小到大排序(字典序),使用URL鍵值對的格式(即key1=value1&key2=value2…)拼接成字符串stringA。

特別注意以下重要規則:

  • ◆ 參數名ASCII碼從小到大排序(字典序);
  • ◆ 如果參數的值為空不參與簽名;
  • ◆ 參數名區分大小寫;
  • ◆ 驗證調用返回或微信主動通知簽名時,傳送的sign參數不參與簽名,將生成的簽名與該sign值作校驗。
  • ◆ 微信接口可能增加字段,驗證簽名時必須支持增加的擴展字段
  • 第二步,在stringA最后拼接上key得到stringSignTemp字符串,并對stringSignTemp進行MD5運算,再將得到的字符串所有字符轉換為大寫,得到sign值signValue。

    ◆ key設置路徑:微信商戶平臺(pay.weixin.qq.com)-->賬戶設置-->API安全-->密鑰設置

    舉例:

    假設傳送的參數如下:

    appid: wxd930ea5d5a258f4f

    mch_id: 10000100

    device_info: 1000

    body: test

    nonce_str: ibuaiVcKdpRxkhJA

    第一步:對參數按照key=value的格式,并按照參數名ASCII字典序排序如下:

    stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA";

    第二步:拼接API密鑰:

    stringSignTemp=stringA+"&key=192006250b4c09247ec02edce69f6a2d" //注:key為商戶平臺設置的密鑰key

    sign=MD5(stringSignTemp).toUpperCase()="9A0A8659F005D6984697E2CA0A9CF3B7" //注:MD5簽名方式

    sign=hash_hmac("sha256",stringSignTemp,key).toUpperCase()="6A9AE1657590FD6257D693A078E1C3E4BB6BA4DC30B23E0EE2496E54170DACD6" //注:HMAC-SHA256簽名方式

    最終得到最終發送的數據:

    <xml>

    <appid>wxd930ea5d5a258f4f</appid>

    <mch_id>10000100</mch_id>

    <device_info>1000</device_info>

    <body>test</body>

    <nonce_str>ibuaiVcKdpRxkhJA</nonce_str>

    <sign>9A0A8659F005D6984697E2CA0A9CF3B7</sign>

    </xml>

    2、生成隨機數算法

    微信支付API接口協議中包含字段nonce_str,主要保證簽名不可預測。我們推薦生成隨機數算法如下:調用隨機數函數生成,將得到的值轉換為字符串。

    3、API證書

    (1)獲取API證書

    微信支付接口中,涉及資金回滾的接口會使用到API證書,包括退款、撤銷接口。商家在申請微信支付成功后,收到的相應郵件后,可以按照指引下載API證書,也可以按照以下路徑下載:微信商戶平臺(pay.weixin.qq.com)-->賬戶中心-->賬戶設置-->API安全 。證書文件說明如下:

    證書附件描述使用場景備注
    pkcs12格式
    (apiclient_cert.p12、
    包含了私鑰信息的證書文件,為p12(pfx)格式,由微信支付簽發給您用來標識和界定您的身份撤銷、退款申請API中調用windows上可以直接雙擊導入系統,導入過程中會提示輸入證書密碼,證書密碼默認為您的商戶ID(如:10010000)

    以下兩個證書在PHP環境中使用:

    證書附件描述使用場景備注
    證書pem格式
    (apiclient_cert.pem)
    從apiclient_cert.p12中導出證書部分的文件,為pem格式,請妥善保管不要泄漏和被他人復制PHP等不能直接使用p12文件,而需要使用pem,為了方便您使用,已為您直接提供您也可以使用openssl命令來自己導出:openssl?pkcs12?-clcerts?-nokeys?-in?apiclient_cert.p12?-out?apiclient_cert.pem
    證書密鑰pem格式
    (apiclient_key.pem)
    從apiclient_key.pem中導出密鑰部分的文件,為pem格式,請妥善保管不要泄漏和被他人復制PHP等不能直接使用p12文件,而需要使用pem,為了方便您使用,已為您直接提供您也可以使用openssl命令來自己導出:openssl?pkcs12?-nocerts?-in?apiclient_cert.p12?-out?apiclient_key.pem

    (2)使用API證書

    • ◆ apiclient_cert.p12是商戶證書文件,除PHP外的開發均使用此證書文件。
    • ◆ 商戶如果使用.NET環境開發,請確認Framework版本大于2.0,必須在操作系統上雙擊安裝證書apiclient_cert.p12后才能被正常調用。
    • ◆ API證書調用或安裝需要使用到密碼,該密碼的值為微信商戶號(mch_id)

    (3)API證書安全

    1.證書文件不能放在web服務器虛擬目錄,應放在有訪問權限控制的目錄中,防止被他人下載;
    2.建議將證書文件名改為復雜且不容易猜測的文件名;
    3.商戶服務器要做好病毒和木馬防護工作,不被非法侵入者竊取證書文件。

    4、商戶回調API安全

    在普通的網絡環境下,HTTP請求存在DNS劫持、運營商插入廣告、數據被竊取,正常數據被修改等安全風險。商戶回調接口使用HTTPS協議可以保證數據傳輸的安全性。所以微信支付建議商戶提供給微信支付的各種回調采用HTTPS協議。

    總結

    以上是生活随笔為你收集整理的微信扫一扫支付怎么弄?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。