iOS 微信支付
相關資料
SDK下載:【微信支付】APP支付開發者文檔
SDK接入
服務器簽名版本
官方已經是建議使用服務器簽名來接入微信支付,實際上從安全上考慮,確實是每個客戶端不應該知道RAS密鑰,也不需要每個客戶端都寫一遍簽名的算法。
服務端接入流程文檔:【微信支付】普通商戶接入文檔
商戶系統和微信支付系統主要交互說明:
步驟1:用戶在商戶APP中選擇商品,提交訂單,選擇微信支付。
步驟2:商戶后臺收到用戶支付單,調用微信支付統一下單接口。參見【統一下單API】。
步驟3:統一下單接口返回正常的prepay_id,再按簽名規范重新生成簽名后,將數據傳輸給APP。參與簽名的字段名為
appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式為
Sign=WXPay
步驟4:商戶APP調起微信支付。api參見本章節【app端開發步驟說明】
步驟5:商戶后臺接收支付通知。api參見【支付結果通知API】
步驟6:商戶后臺查詢支付結果。,api參見【查詢訂單API】
1.導入SDK文件
2.導入相關的系統庫及文件。不導入會報錯。
SystemConfiguration.framework
libz.tbd
libsqlite3.0.tbd
CoreTelephony.framework
libc++.tbd
3.配置info.plist
a.schemes ,注意,item0 這里要修改成商戶自己的APPID
或者這樣修改:
b.白名單
c.安全配置支持Http
當然這部分的配置,也可以通過修改XML來實現。
4.修改bitcode。
修改:
5.在AppDelegate 注冊微信
導入#import "WXApiManager.h"
6.接下來,就是發起請求支付了,實現上核心代碼只有幾行。
7.不管支付成功還是失敗,結果會返回到onResp 方法下
我們直接處理回調結果即可。
客戶端進行簽名
1.導入文件。官方已經不提供這個SDK的下載了,我已經打包到源代碼了,2015年3月11號最新修改的版本
2.里面有兩個文件是非arc的,我們需要設置一下?-fno-objc-arc
3.導入系統庫及info.list配置,請參數上面服務端簽名。
4.AppDelegate配置
1)導入頭文件
#import"WXApi.h"
#import"payRequsestHandler.h"
2)實現微信代理
@interfaceAppDelegate ()<WXApiDelegate>
@end
3)注冊微信,及微信支付回調
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//向微信注冊
[WXApi registerApp:APP_ID withDescription:@"demo 2.0"];
return YES;
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return? [WXApi handleOpenURL:url delegate:self];
}
注冊
代理
5.寫方法直接在支付時調用
最后,修改payRequsestHandler.h文件里的APP_ID 和MCH_ID即可使用。
代碼下載ios微信支付?