目錄: Cocos creator ios開(kāi)發(fā)-接入微信SDK系列文章
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站與策劃設(shè)計(jì),青縣網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:青縣等地區(qū)。青縣做網(wǎng)站價(jià)格咨詢:13518219792
這是官方文檔: app微信支付開(kāi)發(fā)文檔
第一步、
先接入微信SDK,請(qǐng)參考 Cocos creator ios開(kāi)發(fā)—接入微信SDK
第二步、
在Xcode的Info的設(shè)置項(xiàng)中,URL Types 的URL Schemes填寫(xiě)APPID
在AppController.h中添加接口:
app啟動(dòng)時(shí),注冊(cè)APPID,在AppController.mm中的didFinishLaunchingWithOptions方法中調(diào)用
第三步、
向oc發(fā)送支付信息
第四步、
oc收到支付信息,發(fā)起支付
摘錄: 蘋(píng)果應(yīng)用內(nèi)支付(iOS IAP)的流程與常用攻擊方式
按照安全性原則, 客戶端的所有信息都是不可信的,而且支付是業(yè)務(wù)中的核心模塊,所以應(yīng)該選擇第二種。
下面簡(jiǎn)要介紹下,第二種方式的簡(jiǎn)單流程。
作為支付,安全性是第一位的,下面簡(jiǎn)要分析一下常用的攻擊手段。
客戶端拿到apple的receipt 并發(fā)送到server
server拿到這個(gè)receipt,向蘋(píng)果驗(yàn)證得到apple_callback_data
如果apple_callback_data的status是21007,說(shuō)明是沙盒模式(不用花錢就可以購(gòu)買) 要根據(jù)具體需求判斷處理邏輯,需要注意的是,ios的審核在支付的時(shí)候就采用的沙盒模式。
如果apple_callback_data的status是0,就要從apple_callback_data[‘receipt’][‘in_app’]這個(gè)list中拿到所有的記錄,每一個(gè)進(jìn)行充值。然后記錄transaction_id和original_transaction_id來(lái)防止同一個(gè)transaction被重復(fù)使用。
= Original Transaction Identifier
返回所有充值成功和重復(fù)的transaction_id, 有client來(lái)complete transaction
summary
支付作為核心模塊,除了技術(shù)上的保證,商務(wù)也應(yīng)該每周進(jìn)行一次對(duì)賬。如果發(fā)現(xiàn)apple上的收入和服務(wù)端記錄的收入有比較大的差距,就應(yīng)該抓緊查看原因。
最后給出一個(gè)apple_callback_data的例子
商戶在微信開(kāi)放平臺(tái)申請(qǐng)開(kāi)發(fā)APP應(yīng)用后,微信開(kāi)放平臺(tái)會(huì)生成APP的唯一標(biāo)識(shí)APPID。在Xcode中打開(kāi)項(xiàng)目,設(shè)置項(xiàng)目屬性中的URL Schemes為您的APPID。如圖所示。
2.導(dǎo)入微信支付SDK
將官方demo中的這個(gè)文件夾拷貝到項(xiàng)目里
在APPdelegate里設(shè)置APPID
導(dǎo)入依賴庫(kù)
項(xiàng)目中點(diǎn)擊支付的按鈕寫(xiě)上如下方法
別忘了導(dǎo)入頭文件和遵循代理和注冊(cè)代理??
info.plist里添加如下字段LSApplicationQueriesSchemes,為Array類型,然后在里面添加兩個(gè)小選項(xiàng),分別為weixin和wechat
注意?。。∠旅孢@三處? 一定要對(duì)應(yīng)上? 少一不可
如果不回調(diào),APPdelegate里寫(xiě)上這個(gè)
//被廢棄的方法如下
- (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]];
}
//調(diào)起微信支付
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];
// 獲取當(dāng)前時(shí)間
time_t now;
time(now);
// 時(shí)間戳
//NSString *timestamp = [NSString stringWithFormat:@"%ld", now];
// 隨機(jī)字符串
//NSString *nonceStr = [[self md5:timestamp] uppercaseString];
//訂單id
NSString *prepayid =? _prepayid;
PayReq *request = [[PayReq alloc] init];
/** 商家向財(cái)付通申請(qǐng)的商家id */
request.partnerId = WXPartnerid;
/** 預(yù)支付訂單 */
request.prepayId= prepayid;
/** 商家根據(jù)財(cái)付通文檔填寫(xiě)的數(shù)據(jù)和簽名 */
request.package = @"Sign=WXPay";
/** 隨機(jī)串,防重發(fā) */
request.nonceStr= _noncestr;
/** 時(shí)間戳,防重發(fā) */
request.timeStamp = [_timestamp intValue];
/** 商家根據(jù)微信開(kāi)放平臺(tái)文檔對(duì)數(shù)據(jù)做的簽名 */
request.sign= _sign;
/*! @brief 發(fā)送請(qǐng)求到微信,等待微信返回onResp
*
* 函數(shù)調(diào)用后,會(huì)切換到微信的界面。第三方應(yīng)用程序等待微信返回onResp。微信在異步處理完成后一定會(huì)調(diào)用onResp。支持以下類型
* SendAuthReq、SendMessageToWXReq、PayReq等。
* @param req 具體的發(fā)送請(qǐng)求,在調(diào)用函數(shù)后,請(qǐng)自己釋放。
* @return 成功返回YES,失敗返回NO。
*/
[WXApi sendReq: request];
支付的話一般都是使用第三方的支付接口。如銀聯(lián),支付寶。你可以申請(qǐng)并簽約使用他們的移動(dòng)端的支付,他們會(huì)提供給你基于移動(dòng)端開(kāi)發(fā)集成的SDK
進(jìn)入后按提示注冊(cè)一個(gè)apple ID,然后點(diǎn)那個(gè)寫(xiě)著SDK字樣的球下載,是免費(fèi)個(gè)人版的,
標(biāo)準(zhǔn)版在developer.apple.com/iphone/program/apply.html
祝你好運(yùn)^-^
這種app的流程應(yīng)該是這樣:
用戶在app上輸入自己的支付寶帳號(hào)
app把這個(gè)帳號(hào)post到自己的server端
server再驗(yàn)證,再根據(jù)用戶的額度之類的向用戶的支付寶帳戶轉(zhuǎn)入相應(yīng)的金額
所以其實(shí)在ios app端不會(huì)進(jìn)行具體的轉(zhuǎn)帳操作,app只是收集用戶的帳號(hào)信息,轉(zhuǎn)帳應(yīng)該是server端去操作的。至于怎么向支付寶發(fā)起轉(zhuǎn)帳請(qǐng)求,我就不知道了,支付寶應(yīng)該會(huì)提供相應(yīng)的API給開(kāi)發(fā)者。
新聞名稱:ios支付開(kāi)發(fā)流程,iOS系統(tǒng)支付
網(wǎng)站網(wǎng)址:http://aaarwkj.com/article28/dsiicjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、用戶體驗(yàn)、網(wǎng)站導(dǎo)航、網(wǎng)頁(yè)設(shè)計(jì)公司、域名注冊(cè)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)