開始專案:
3、建立應用,此處注意填寫應用的包名,和應用簽名,應用簽名可以用簽名工具生成。簽名工具在平台上都可以下得到。
統一下單文件大家可以看看。
加上請求的引數通過統一下單的介面來獲取會話標識,在return_code 和result_code都為success的時候獲取prepay_id(prepay_id我在客戶端生成,有效時期24小時,用於後邊吊起支付介面。)在這一步中我們還要生成簽名並把它當作引數之一提交,許多時候都是簽名的錯誤而難以生存prepay_id。下面的引數就是用來獲取會話標識的。
private string genproductargs() catch (exception e) }
/*** 生成簽名
*/private string genpackagesign(list
params)
string packagesign = md5.getmessagedigest(sb.tostring().getbytes())
.touppercase(locale.china);
log.e("簽名-->", packagesign);
return packagesign;
}
通過以上**就完成了第一步,我們得到了prepay_id,現在就要吊起支付的介面,根據文件上給出的需要請求的引數,
到這裡支付就完成了一大半了,現在要處理的就是支付成功、失敗之後的情況,和取消支付的處理。結果處理:
public void onresp(baseresp resp)
if(resp.errcode==0)
if(resp.errcode==-2)
}
emptypublic class wxpayutile
public static wxpayutile getinstance(context context, string total_fee,
string notify_url, string body, string outtradno)
public void dopay()
/*** 生成簽名
*/private string genpackagesign(list
params)
string packagesign = md5.getmessagedigest(sb.tostring().getbytes())
.touppercase(locale.china);
log.e("簽名-->", packagesign);
return packagesign;
}
params)
.touppercase();
} private string toxml(list
params)
private class getprepayidtask extends
asynctask
> @override protected void onpostexecute(map
doinbackground(void... params) } public map
decodexml(string content) { try { map
xml = new hashmap
packageparams = new linkedlist
signparams = new linkedlist
1、我們要在打包的狀態下測試。
2、檢查包名是否正確,平台上的包名和應用的包名是否一致
3、打包之後再用簽名工具生成一次簽名,(我就是出了這個鬼。同樣的簽名檔案打包兩次的簽名竟然不一樣,當然後面就都一樣了)
微信支付坑
php view plain copy print sudo yum install ca certificates service php fpm restart 今天支付接入了 相關邏輯,寫完後,我又測試了以前的會員卡支付的,發現在支付階段提示失敗,於是加上測試語句,提示 getbrandwcp...
微信支付和整合微信支付的坑
keytool list keystore x.keystore 需要注意的是你除錯的簽名和發版的是不一樣的要注意修改保證你跑的時候二個配置是一樣的 宣告許可權 android name android.permission.internet android name android.permiss...
微信支付 微信JSAPI支付
pay.php baby extend wx pay.php namespace wx class pay 通過redirecturi獲取授權資訊 return mixed public function getauthinfo 通過code換取網頁授權資訊 res this curlgetreq ...