国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 微信小程式 微信開發(fā) IOS微信開發(fā)付款的步驟詳解

IOS微信開發(fā)付款的步驟詳解

Apr 27, 2017 pm 02:18 PM

前言:以下介紹微信支付的開發(fā)流程的細(xì)節(jié),圖文並茂,你可以按照我的隨筆流程過一遍程式碼。包你也學(xué)會(huì)了微信支付。而且支付也是面試常問的內(nèi)容。

正文:

1、首先在開始使用微信支付之前,有一些東西是開發(fā)者必須要知道的,打開下面鏈接:

  pay.weixin.qq.com/wiki/doc/api/app.php?chapter=3_1  

  然後可以看到下面的頁面,這個(gè)就是微信支付商家平臺(tái)的開發(fā)文檔,很多東西是可以查閱和了解的,在開發(fā)使用微信SDK支付功能的時(shí)候,遇到了問題也可以到這找找相關(guān)須知信息:

    

  然後,也要告訴讀者,點(diǎn)擊這個(gè)開發(fā)文檔中的" 支付帳戶>支付帳戶",然後滾動(dòng)當(dāng)前頁面到最下面可以看到關(guān)於APPID:

    

#  注意:這個(gè)APPID是開發(fā)中使用微信支付必須要用的東西,而這個(gè)APPID也只有商戶透過在該微信支付平臺(tái)註冊(cè),花個(gè)300元,填寫很多相關(guān)重要信息,還要上傳營業(yè)執(zhí)照等必要手續(xù),才能取得的APPID。

  而商業(yè)app應(yīng)用程序,在客戶使用app微信消費(fèi),程式會(huì)根據(jù)這個(gè)唯一的APPID,查找到商戶,然後把消費(fèi)者的金額數(shù)傳遞到商戶的帳戶裡。

  

  對(duì)開發(fā)者的福利:對(duì)於開發(fā)者,微信支付平臺(tái)提供了測(cè)試的Demo,也在Demo源碼中提供了有用的用於測(cè)試程式碼的APPID。這樣開發(fā)者就除去了花個(gè)300元買個(gè)APPID的必要性。

2、為了讀者能夠更便利以及更針對(duì)性的學(xué)習(xí)這個(gè)微信SDK的使用過程,本人就建立一個(gè)普通的工程,直接在上面簡易的使用微信SDK,並完成微信支付。

  pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1

  點(diǎn)進(jìn)去之後下載SDK,另外也要把Demo下載下來,可以把Demo下載下來,可以把帶你參考學(xué)習(xí)原始碼的使用,也可以留著以後進(jìn)一步的探究:

    

  在新建的工程裡,我們把下載的SDK拖進(jìn)去,下載的SDK文件中有五個(gè)文件,那個(gè)read_me.txt可以不用留著工程裡,隨你喜歡,但是可以打開閱讀裡面的提示訊息:

    

#  我們先打開read_me. txt文件,其實(shí)裡面就是講了最近幾個(gè)版本的更新中解決的問題,以及使用該SDK的注意事項(xiàng),紅色框框起來的部分我在後面的操作中都會(huì)用上,SO這個(gè)read_me文件很重要的哦。

    

3、好,我們就按照read_me.txt做一下必須要做的流程:

  Xcode 7版本之後需要導(dǎo)入一下框架和鏈接庫:

    

  如果是XCode 7之前,估計(jì)還需要手動(dòng)導(dǎo)入Foundation.framework、UIKit.framework等框架。

  接著,按照read_me.txt的提示,我們把那段plist程式碼拷貝到info.plist檔中:


1 <key>LSApplicationQueriesSchemes</key>2 <array>3 <string>weixin</string>4 </array>5 <key>NSAppTransportSecurity</key>6 <dict>7 <key>NSAllowsArbitraryLoads</key>8 <true/>9 </dict>

  然後將info.plist檔案切換為Property list顯示視圖,就會(huì)看到多了兩項(xiàng):

    

  App Transport Security Settings是XCode7以後就需要開發(fā)中手動(dòng)新增設(shè)定的,因?yàn)閕OS9預(yù)設(shè)限制了http協(xié)定的存取。

  LSApplicationQueriesSchemes是可以將要使用的URL Schemes列為白名單,這樣目前應(yīng)用可以使用微信的相關(guān)能力(分享、收藏、付款、登入等)。

  最後還有一個(gè)操作哦,將微信支付要用到的APPID設(shè)定為URL Schemes [英 ski?m]。

  

4、好,我們可以開始敲代碼了:

  我們可以打開微信支付平臺(tái)下載的Demo程序,可以在它的AppDelegate的源碼中找到測(cè)試用的APPID:

  

  然后回到自己建立的工程中,寫下了微信支付的流程:

  

  既然要注冊(cè)微信,那么我們先到微信SDK的頭文件中查看一下,發(fā)現(xiàn)只提供了兩個(gè)注冊(cè)方法,注釋也寫的很清楚:

  

  然后我們導(dǎo)入這個(gè)頭文件之后,直接根據(jù)已經(jīng)有的APPID進(jìn)行注冊(cè):

  

  好,其實(shí)步驟:1、導(dǎo)入微信支付SDK,注冊(cè)微信支付。然后2、設(shè)置微信APPID為URL Schemes前面已經(jīng)做好了。

  然后我們需要進(jìn)行3、發(fā)起支付,調(diào)其微信支付,在這之前,我們直接看看微信官方提供給我們的Demo:

  

  

  最后我們找到了Demo中完整的可以直接用的這部分發(fā)起微信支付的源碼:

  

  將這段直接拷貝到我的工程中,有那么一點(diǎn)經(jīng)驗(yàn)的開發(fā)者就會(huì)注意到一些,比如Demo源碼使用了MRC的autorelease,你可以手動(dòng)去掉,類方法可以換成實(shí)例方法,根據(jù)你的實(shí)際項(xiàng)目開發(fā)需求:


 1 - (NSString *)jumpToBizPay { 2  3 //============================================================ 4     // V3&V4支付流程實(shí)現(xiàn) 5     // 注意:參數(shù)配置請(qǐng)查看服務(wù)器端Demo 6     // 更新時(shí)間:2015年11月20日 7     //============================================================ 8     NSString *urlString   = @"http://wxpay.weixin.qq.com/pub_v2/app/app_pay.php?plat=ios"; 9     //解析服務(wù)端返回json數(shù)據(jù)10     NSError *error;11     //加載一個(gè)NSURL對(duì)象12     NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];13     //將請(qǐng)求的url數(shù)據(jù)放到NSData對(duì)象中14     NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];15     if ( response != nil) {16         NSMutableDictionary *dict = NULL;17         //IOS5自帶解析類NSJSONSerialization從response中解析出數(shù)據(jù)放到字典中18         dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];19         20         NSLog(@"url:%@",urlString);21         if(dict != nil){22             NSMutableString *retcode = [dict objectForKey:@"retcode"];23             if (retcode.intValue == 0){24                 NSMutableString *stamp  = [dict objectForKey:@"timestamp"];25                 26                 //調(diào)起微信支付27                 PayReq* req             = [[PayReq alloc] init];28                 req.partnerId           = [dict objectForKey:@"partnerid"];29                 req.prepayId            = [dict objectForKey:@"prepayid"];30                 req.nonceStr            = [dict objectForKey:@"noncestr"];31                 req.timeStamp           = stamp.intValue;32                 req.package             = [dict objectForKey:@"package"];33                 req.sign                = [dict objectForKey:@"sign"];34                 [WXApi sendReq:req];35                 //日志輸出36                 NSLog(@"appid=%@\npartid=%@\nprepayid=%@\nnoncestr=%@\ntimestamp=%ld\npackage=%@\nsign=%@",[dict objectForKey:@"appid"],req.partnerId,req.prepayId,req.nonceStr,(long)req.timeStamp,req.package,req.sign );37                 return @"";38             }else{39                 return [dict objectForKey:@"retmsg"];40             }41         }else{42             return @"服務(wù)器返回錯(cuò)誤,未獲取到j(luò)son對(duì)象";43         }44     }else{45         return @"服務(wù)器返回錯(cuò)誤";46     }47 }

  哦,對(duì)了,還有一個(gè)很簡單但很必要的操作忘記展示出來了:

  

  進(jìn)一步,我們?cè)谖⑿诺腟DK源碼頭文件中,可以找到兩個(gè)很有用的方法,你也可以在微信支付平臺(tái)打開開發(fā)者文檔找到這兩個(gè)方法的介紹:

  

  然后我將其運(yùn)用在我的工程中

  

  好,就這樣,步驟:3、發(fā)起微信支付,調(diào)起微信 到這里就完成了。

  最后還需要做的就是,處理返回微信支付返回信息,使用了微信知否功能,不管是支付成功和失敗,甚至還是用戶自己取消支付,都會(huì)需要返回當(dāng)前應(yīng)用,并返回相關(guān)的信息。

  這里就需要用到微信SDK的處理返回信息的代理協(xié)議和代理方法了:

  

  在微信SDK的頭文件中,我們可以找到protocol協(xié)議:

  

  好,我們也官方Demo中看看它是如何使用的:

  

  

  而我們只需要使用下面紅色框框起來的部分代碼,直接拷貝拿來使用:

  

  回到我的簡易工程中,直接粘貼在里面用:

  

  那么這里面的返回信息中主要就有兩個(gè)東西:resp.errCode錯(cuò)誤碼 和 resp.errStr錯(cuò)誤原因,這兩個(gè)東西在實(shí)際開發(fā)中經(jīng)常遇到,所以也是面試會(huì)問到的一個(gè)細(xì)節(jié)。

  接著你可以通過點(diǎn)進(jìn)連接:pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_5 可以在官方開發(fā)文檔中找到:

    

  然后,根據(jù)實(shí)際開發(fā)需求,我們可能還需要回傳微信app的相關(guān)信息:

  在當(dāng)前AppDelegate.m文件添加一個(gè)代理方法:

  

5、到這裡,就完成了整個(gè)微信支付的使用流程,下面可以用你的真機(jī)進(jìn)行測(cè)試了,因?yàn)槟M器不好安裝微信。

轉(zhuǎn)載註明出處:www.cnblogs.com/goodboy-heyang/p/5255818.html ,尊重勞動(dòng)成果。

最後補(bǔ)充無意發(fā)現(xiàn)的大神github上也有微信講解和源碼,大家也可以學(xué)習(xí)學(xué)習(xí):

github.com/renzifeng/WXPay

#只不過,對(duì)於沒有花99美刀買了開發(fā)者帳戶,該github上下載的源碼估計(jì)不能直接用真機(jī)測(cè)試,原因是上面的專案實(shí)例創(chuàng)建的時(shí)間比較早,那時(shí)XCode在沒有開發(fā)者帳戶的時(shí)候,不支援真機(jī)測(cè)試。

?

以上是IOS微信開發(fā)付款的步驟詳解的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1492
86
蘋果重發(fā) iOS / iPadOS 18 Beta 4 更新,版本號(hào)升至 22A5316k 蘋果重發(fā) iOS / iPadOS 18 Beta 4 更新,版本號(hào)升至 22A5316k Jul 27, 2024 am 11:06 AM

感謝網(wǎng)友吉茵珂絲、xxx_x、番茄炒西紅柿、Terrence、香辣雞腿堡的線索投遞!7月27日消息,蘋果公司今天面向開發(fā)者,重新發(fā)布了iOS/iPadOS18Beta4更新,內(nèi)部版本號(hào)從22A5316j升級(jí)到22A5316k,目前尚不清楚兩個(gè)Beta4版本更新之間的區(qū)別。已經(jīng)注冊(cè)的開發(fā)者可以打開“設(shè)置”應(yīng)用程序,進(jìn)入“軟件更新”部分,點(diǎn)擊“測(cè)試版更新”選項(xiàng),然后切換iOS18/iPadOS18開發(fā)者測(cè)試版設(shè)置來選擇測(cè)試版。下載并安裝測(cè)試版需要與開發(fā)者賬戶關(guān)聯(lián)的AppleID。7月24日?qǐng)?bào)道,iO

更新 |駭客解釋如何在歐盟以外的 iPad 上安裝 Epic Games Store 和 Fortnite 更新 |駭客解釋如何在歐盟以外的 iPad 上安裝 Epic Games Store 和 Fortnite Aug 18, 2024 am 06:34 AM

更新:Saunders Tech 已將教學(xué)上傳到他的 YouTube 頻道(下面嵌入影片),解釋如何在歐盟境外的 iPad 上安裝 Fortnite 和 Epic Games Store。然而,該過程不僅需要特定的 iO 測(cè)試版

蘋果發(fā)布用於同態(tài)加密的開源 Swift 軟體包,已部署在 iOS 18 中 蘋果發(fā)布用於同態(tài)加密的開源 Swift 軟體包,已部署在 iOS 18 中 Jul 31, 2024 pm 01:10 PM

7月31日消息,蘋果昨天(7月30日)發(fā)布新聞稿,宣布推出新的開源Swift包(swift-homomorphic-encryption),用於在Swift程式語言中啟用同態(tài)加密。註:同態(tài)加密(HomomorphicEncryption,HE)是指滿足密文同態(tài)運(yùn)算性質(zhì)的加密演算法,即資料經(jīng)過同態(tài)加密之後,對(duì)密文進(jìn)行特定的計(jì)算,得到的密文計(jì)算結(jié)果在進(jìn)行對(duì)應(yīng)的同態(tài)解密後的明文等同於明文資料直接進(jìn)行相同的計(jì)算,實(shí)現(xiàn)資料的「可算不可見」。同態(tài)加密技術(shù)可以計(jì)算加密數(shù)據(jù),而且不會(huì)向操作過程洩漏底層的未加

哈趣 K2 投影儀,讓奧運(yùn)激情與夢(mèng)想觸手可及 哈趣 K2 投影儀,讓奧運(yùn)激情與夢(mèng)想觸手可及 Jul 24, 2024 pm 01:34 PM

在剛結(jié)束的歐洲盃決賽中,你是否為自己支持的球隊(duì)瘋狂打call?在馬上到來的巴黎奧運(yùn)中,你是否也期待能完美捕捉到各賽事的高光時(shí)刻?這其中,擁有一臺(tái)優(yōu)質(zhì)的觀賽設(shè)備至關(guān)重要。哈趣K2投影機(jī)以其高性價(jià)比和出色的性能,當(dāng)之無愧地成為觀賽良選。它不僅具備高亮度、清晰的畫質(zhì),還能提供沉浸式的觀影體驗(yàn),讓每一場(chǎng)比賽的精彩時(shí)刻都彷彿近在咫尺。這樣的設(shè)備,你是否已經(jīng)心動(dòng)了呢?它定能讓你在家中也能享受到奧運(yùn)賽事的熱情與夢(mèng)想。哈趣K2貼心最大的亮點(diǎn)就是它210°的超大角度調(diào)節(jié),無論是天花板還是牆壁,都可以方便觀影。

蘋果 iOS / iPadOS 18 開發(fā)者預(yù)覽版 Beta 4 發(fā)布:新增 CarPlay 桌布、梳理設(shè)定選項(xiàng)、增強(qiáng)相機(jī)控制 蘋果 iOS / iPadOS 18 開發(fā)者預(yù)覽版 Beta 4 發(fā)布:新增 CarPlay 桌布、梳理設(shè)定選項(xiàng)、增強(qiáng)相機(jī)控制 Jul 24, 2024 am 09:54 AM

感謝網(wǎng)友辣雞腿堡、軟媒新友2092483、手寫的從前、DingHao、小星_14、窩窩頭吃大口、非影Q、軟媒新友2168428、Slades、Aaron212、快樂小刺蝟、小伯爵、吃魚的小奶貓的線索投遞! 【點(diǎn)此直達(dá)升級(jí)教學(xué)】7月24日訊息,蘋果今日向iPhone和iPad用戶推送了iOS/??iPadOS18開發(fā)者預(yù)覽版Beta4更新(內(nèi)部版本號(hào):22A5316j),這次更新距離上次發(fā)布隔了15天。 Carplay壁紙?zhí)O果為CarPlay添加了壁紙,涵蓋淺色和深色兩種模式,其壁紙風(fēng)格類似於iPhon

蘋果 iOS 18 和 iPadOS 18 公測(cè)版 Beta 2 更新發(fā)布 蘋果 iOS 18 和 iPadOS 18 公測(cè)版 Beta 2 更新發(fā)布 Jul 30, 2024 pm 04:19 PM

感謝網(wǎng)友末6_、嗯嗯嗯哼哼、吃貓的鹹魚、瑤池青蓮、辣雞腿堡、思燕、蒂姆Apple的線索投遞! 7月30日消息,蘋果今日針對(duì)iPhone和iPad用戶推出了iOS18和iPadOS18公測(cè)版Beta2版本更新,距離上個(gè)公測(cè)版本過了兩週時(shí)間。該公測(cè)版的更新內(nèi)容類似開發(fā)者預(yù)覽版Beta4,新增CarPlay壁紙、梳理設(shè)定選項(xiàng)、增強(qiáng)相機(jī)控制、深色/淺色模式圖示等,具體可以看??先前詳細(xì)報(bào)道內(nèi)容。 ##如何升級(jí)iOS/iPadOS/watchOS/macOS開發(fā)版和公測(cè)版? iOS/iPadOS升級(jí)iOS/iPa

蘋果 iPhone 16 預(yù)裝 Apple Intelligence 沒戲了 蘋果 iPhone 16 預(yù)裝 Apple Intelligence 沒戲了 Jul 30, 2024 pm 01:18 PM

根據(jù)業(yè)內(nèi)人士MarkGurman的消息指出,蘋果的AppleIntelligence將會(huì)跳票至10月。也就是說將會(huì)在iOS18.1上首發(fā)推送。蘋果iPhone16預(yù)計(jì)9月發(fā)布,因此將不會(huì)預(yù)先安裝AppleIntelligence。 1.AppleIntelligenceAppleIntelligence是一套個(gè)人智慧化系統(tǒng),採用強(qiáng)大的生成式模型,旨在為iPhone、iPad和Mac提供新功能,輔助使用者溝通、工作和表達(dá)。 2.自然語言理解AppleIntelligence內(nèi)嵌的大模型具備對(duì)語言意義的深

H5頁面製作和微信小程序有什麼不同 H5頁面製作和微信小程序有什麼不同 Apr 05, 2025 pm 11:51 PM

H5更靈活,可定制性強(qiáng),但需要嫻熟的技術(shù);小程序上手快,維護(hù)便捷,但受限於微信框架。

See all articles