古詩詞大全網 - 藝術簽名 - iOSAPP端接入微信支付流程

iOSAPP端接入微信支付流程

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

2.導入微信支付SDK

將官方demo中的這個文件夾拷貝到項目裏

在APPdelegate裏設置APPID

導入依賴庫

項目中點擊支付的按鈕寫上如下方法

別忘了導入頭文件和遵循代理和註冊代理?

info.plist裏添加如下字段LSApplicationQueriesSchemes,為Array類型,然後在裏面添加兩個小選項,分別為weixin和wechat

註意!!!下面這三處? 壹定要對應上? 少壹不可

如果不回調,APPdelegate裏寫上這個

//被廢棄的方法如下

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

return? [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];

}

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

return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];

}

//替換的新方法

- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary*)options {

return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];

}

//調起微信支付

PayReq* req? = [[PayReq alloc] init];

req.partnerId = @"1220277201";

req.prepayId? = @"9201039000160315ab9324b87b451223";

req.nonceStr? = @"83DB7tk21akNRSFs";

req.timeStamp = 1458027344;

req.package? = @"Sign=WXPay";

req.sign ? = @"db6919dbd8ccb3f8a25108bebcd87f7a02c52e39";

[WXApi sendReq:req];

// 獲取當前時間

time_t now;

time(&now);

// 時間戳

//NSString *timestamp = [NSString stringWithFormat:@"%ld", now];

// 隨機字符串

//NSString *nonceStr = [[self md5:timestamp] uppercaseString];

//訂單id

NSString *prepayid =? _prepayid;

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

/** 商家向財付通申請的商家id */

request.partnerId = WXPartnerid;

/** 預支付訂單 */

request.prepayId= prepayid;

/** 商家根據財付通文檔填寫的數據和簽名 */

request.package = @"Sign=WXPay";

/** 隨機串,防重發 */

request.nonceStr= _noncestr;

/** 時間戳,防重發 */

request.timeStamp = [_timestamp intValue];

/** 商家根據微信開放平臺文檔對數據做的簽名 */

request.sign= _sign;

/*! @brief 發送請求到微信,等待微信返回onResp

*

* 函數調用後,會切換到微信的界面。第三方應用程序等待微信返回onResp。微信在異步處理完成後壹定會調用onResp。支持以下類型

* SendAuthReq、SendMessageToWXReq、PayReq等。

* @param req 具體的發送請求,在調用函數後,請自己釋放。

* @return 成功返回YES,失敗返回NO。

*/

[WXApi sendReq: request];