快來看,超詳細的微信支付開發說明

前提條件:

快來看,超詳細的微信支付開發說明

注意

流程簡述

步驟以及代碼

接下來說說主要的步驟吧(比比叨這麼久終於說正事了,請不要打我麼麼噠~)

H92X9S)[email protected]

快來看,超詳細的微信支付開發說明

2.在AppDelegate 的導入頭文件 #import "WXApi.h" 掛上代理 WXApiDelegate

快來看,超詳細的微信支付開發說明

3.在targets的info中添加 urltypes添加一個在 identifier自己起一個名稱(最好軟件英文名字) 在 URL schemes 中寫下APPID

4.觸發支付

觸發支付,就要對自己的訂單號價格等進行加密 在這裡就可以分成兩種加密 ,一種是在APP端進行加密,第二種是在服務端進行加密。一般使用的在服務端加密比較安全。一個個進行說明。

4.1 服務端進行加密

服務端加密我們不需要知道具體加密怎麼進行的。(在底下我會給你說清楚的啦~)我們只是需要將所需參數傳過去 我是用的AFN

快來看,超詳細的微信支付開發說明

4.2 APP端進行加密

這種方法可以自己先進行測試 ,或者為了縮短工期自己進行所有工作。(看起來好像好厲害的樣子啊 )

支付界面引入頭文件

#import "ZQPay.h"

在觸發支付的方法中調用

[ZQPay payWXWithOrderName:@"訂單名字(不是訂單詳情)" price:@"訂單價格(單位為分)" tradeNo:@"訂單號" attach:@"訂單詳情"]

調用支付成功!結束 (我說了“結束”一定會打我的吧,原理步驟都不說 這太敷衍了 哈哈哈 ,你們來打我啊)

繼續正題!

傳入參數我具體做了一些什麼呢現在我就說說 步驟了啊(我不會就這樣輕易的狗帶)。

4.2.1 獲取預支付Id ,將所需要參數封裝成字典快來看,超詳細的微信支付開發說明

4.2.2添加sign加密串 形成XMl格式字符串 paras 為封裝的字典(第一次加密)快來看,超詳細的微信支付開發說明

4.2.4 將獲取的預支付id重新加密獲取新的sign 封裝成字典

快來看,超詳細的微信支付開發說明

時間戳為新的時間戳 隨機數是通過時間戳MD5加密獲取的

快來看,超詳細的微信支付開發說明

//支付回調

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {

return [WXApi handleOpenURL:url delegate:self];

}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

return [WXApi handleOpenURL:url delegate:self];

}

快來看,超詳細的微信支付開發說明

支付成功以後通過通知告知用戶支付情況

5.1 支付界面接收成功通知告知用戶(我這裡是跳轉到新的界面)

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appPaySuccess) name:APP_PAY_SUCCESS object:nil];

5.2通知方法

-(void)appPaySuccess{ZQPaySuccessVC *paySuccessVC=[[ZQPaySuccessVC alloc]init];[self.navigationController pushViewController:paySuccessVC animated:YES];}

5.3移除通知(不移除會崩潰呦)

-(void)dealloc{[[NSNotificationCenter defaultCenter] removeObserver:self name:APP_PAY_SUCCESS object:nil];}

6.支付完成!

歡迎小夥伴們給我補充,提意見 麼麼噠~~~


分享到:


相關文章: