微信支付簽名演算法的一些坑

2021-07-28 05:27:32 字數 1312 閱讀 7272

listsignlist = new arraylist();

iteratorkeys = json.keys();

while (keys.hasnext())

collections.sort(signlist);

string sign = "";

for (int i = 0; i < signlist.size(); i++)

sign = md5.md5encode(sign, "utf-8").touppercase();

// sign = md5.getmessagedigest(sign.getbytes()).touppercase();

return sign;

}下面就是重點了:getwxsign演算法傳入的json應該如下構造:

jsonobject signparams = new jsonobject();

signparams.put("noncestr", req.noncestr);

signparams.put("package", req.packagevalue);

signparams.put("partnerid", req.partnerid);

signparams.put("prepayid", req.prepayid);

signparams.put("timestamp", req.timestamp);

下面就是引數說明**:

欄位名變數名

型別必填

示例值描述

應用id

string(32)

是wx8888888888888888

商戶號partnerid

string(32)

是1900000109

預支付交易會話id

prepayid

string(32)

是wx1217752501201407033233368018

擴充套件字段

package

string(128)

是sign=wxpay

暫填寫固定值sign=wxpay

隨機字串

noncestr

string(32)

是5k8264iltkch16cq2502si8znmtm67vs

時間戳timestamp

string(10)

是1412000000

簽名sign

string(32)

是c380bec2bfd727a4b6845133519f3ad6

只要嚴格按照說明做就沒問題了

微信支付上的一些坑

解決辦法 將商品的 按小數點為區分標識將 分成兩部分,然後再拼接起來 nsarray total fee arr total fee test componentsseparatedbystring nsstring total fee nsstrin stringwithformat total ...

關於微信支付的一些坑

1.報 2.wxpayentryactivity是否在 包名.wxapi 下 3.androidmanifest下請設定如下屬性 android exported true android launchmode singletop stringbuilder sb new stringbuilder...

微信支付的坑

環境 框架 windows7 intellij idea jdk8 tomcat spring 支付型別 掃碼支付模式二 統一下單介面 只是希望少一點人踩同樣坑的列表 未完 這一點上也真是省力 簽名校驗問題網上說的 一定要確認引數名稱和大小寫 確實要注意,但另外一些 有中文就不行 凡string都要...