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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

微信APP支付开发步骤及要点

發布時間:2023/12/20 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信APP支付开发步骤及要点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

IOS開發要點說明

以下項目開發環境以Xcode6.0,運行環境為IOS7.0為例,說明其開發中需要的操作。

1、項目設置APPID

商戶在微信開放平臺申請開發APP應用后,微信開放平臺會生成APP的唯一標識APPID。在Xcode中打開項目,設置項目屬性中的URL Schemes為您的APPID。如圖8.7標紅位置所示。

圖8.7

2、注冊APPID

商戶APP工程中引入微信lib庫和頭文件,調用API前,需要先向微信注冊您的APPID,代碼如下:

[WXApi registerApp:@"wxd930ea5d5a258f4f" withDescription:@"demo 2.0"];

3、調起支付

商戶服務器生成支付訂單,先調用【統一下單API】生成預付單,獲取到prepay_id后將參數再次簽名傳輸給APP發起支付。以下是調起微信支付的關鍵代碼:

PayReq *request = [[[PayReq alloc] init] autorelease];

request.partnerId = @"10000100";

request.prepayId= @"1101000000140415649af9fc314aa427";

request.package = @"Sign=WXPay";

request.nonceStr= @"a462b76e7436e98e0ed6e13c64b4fd1c";

request.timeStamp= @"1397527777";

request.sign= @"582282D72DD2B03AD892830965F428CB16E7A256";

[WXApi sendReq:request];

注意:該sign生成字段名列表見調起支付API

4、支付結果回調

照微信SDK Sample,在類實現onResp函數,支付完成后,微信APP會返回到商戶APP并回調onResp函數,開發者需要在該函數中接收通知,判斷返回錯誤碼,如果支付成功則去后臺查詢支付結果再展示用戶實際支付結果。注意 一定不能以客戶端返回作為用戶支付的結果,應以服務器端的接收的支付通知或查詢API返回的結果為準。代碼示例如下:

-(void)onResp:(BaseResp*)resp{if ([respisKindOfClass:[PayRespclass]]){PayResp*response=(PayResp*)resp;switch(response.errCode){caseWXSuccess://服務器端查詢支付通知或查詢API返回的結果再提示成功NSlog(@"支付成功");break;default:NSlog(@"支付失敗,retcode=%d",resp.errCode);break;}}}

回調中errCode值列表:

名稱 描述 解決方案
0 成功 展示成功頁面
-1 錯誤 可能的原因:簽名錯誤、未注冊APPID、項目設置APPID不正確、注冊的APPID與設置的不匹配、其他異常等。
-2 用戶取消 無需處理。發生場景:用戶不支付了,點擊取消,返回APP。

Android開發要點說明

1、后臺設置

商戶在微信開放平臺申請開發應用后,微信開放平臺會生成APP的唯一標識APPID。由于需要保證支付安全,需要在開放平臺綁定商戶應用包名和應用簽名,設置好后才能正常發起支付。設置界面在【開放平臺】中的欄目【管理中心 / 修改應用 / 修改開發信息】里面,如圖8.8紅框內所示。

圖8.8

應用包名:是在APP項目配置文件AndroidManifest.xml中聲明的package值,例如DEMO中的package="net.sourceforge.simcpux"。

應用簽名:根據項目的應用包名和編譯使用的keystore,可由簽名工具生成一個32位的md5串,在調試的手機上安裝簽名工具后,運行可生成應用簽名串,如圖8.9所示,綠色串即應用簽名。簽名工具下載地址https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk

圖8.9

2、注冊APPID

商戶APP工程中引入微信JAR包,調用API前,需要先向微信注冊您的APPID,代碼如下:

final IWXAPI msgApi = WXAPIFactory.createWXAPI(context, null);

// 將該app注冊到微信

msgApi.registerApp("wxd930ea5d5a258f4f");

3、調起支付

商戶服務器生成支付訂單,先調用統一下單API(詳見第7節)生成預付單,獲取到prepay_id后將參數再次簽名傳輸給APP發起支付。以下是調起微信支付的關鍵代碼:

IWXAPI api;

PayReq request = new PayReq();

request.appId = "wxd930ea5d5a258f4f";

request.partnerId = "1900000109";

request.prepayId= "1101000000140415649af9fc314aa427",;

request.packageValue = "Sign=WXPay";

request.nonceStr= "1101000000140429eb40476f8896f4c9";

request.timeStamp= "1398746574";

request.sign= "7FFECB600D7157C5AA49810D2D8F28BC2811827B";

api.sendReq(req);

注意:該sign生成字段名列表見調起支付API

4、支付結果回調

參照微信SDK Sample,在net.sourceforge.simcpux.wxapi包路徑中實現WXPayEntryActivity類(包名或類名不一致會造成無法回調),在WXPayEntryActivity類中實現onResp函數,支付完成后,微信APP會返回到商戶APP并回調onResp函數,開發者需要在該函數中接收通知,判斷返回錯誤碼,如果支付成功則去后臺查詢支付結果再展示用戶實際支付結果。注意一定不能以客戶端返回作為用戶支付的結果,應以服務器端的接收的支付通知或查詢API返回的結果為準。代碼示例如下:

publicvoidonResp(BaseRespresp){
if(resp.getType()==ConstantsAPI.COMMAND_PAY_BY_WX){
Log.d(TAG,"onPayFinish,errCode="+resp.errCode);
AlertDialog.Builderbuilder=newAlertDialog.Builder(this);
builder.setTitle(R.string.app_tip);
}
}

回調中errCode值列表:

名稱 描述 解決方案
0 成功 展示成功頁面
-1 錯誤 可能的原因:簽名錯誤、未注冊APPID、項目設置APPID不正確、注冊的APPID與設置的不匹配、其他異常等。
-2 用戶取消 無需處理。發生場景:用戶不支付了,點擊取消,返回APP。

總結

以上是生活随笔為你收集整理的微信APP支付开发步骤及要点的全部內容,希望文章能夠幫你解決所遇到的問題。

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