ios 打賞微信/支付寶

聲明:本人文筆不好鸠姨,希望大家諒解铜秆。

? ? ? ?ios打賞是一個有歧義的地方。蘋果沒有明確的定義讶迁,目前都是以直接支付的方式集成的连茧,所以不用考慮內(nèi)購問題。

由于是打賞所以不用在客戶端做訂單商品信息巍糯。

1 微信支付的集成

首先去這 https://pay.weixin.qq.com/ 下載微信支付的SDK以及demo

導(dǎo)入文件如 圖1.

圖1

在你的項目中的Appdelegate中實現(xiàn)方法

代碼


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

return[WXApihandleOpenURL:urldelegate:[WXApiManagersharedManager]];

}

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

return[WXApihandleOpenURL:urldelegate:[WXApiManagersharedManager]];

}


并且在 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions

實現(xiàn)注冊微信的方法


[WXApiregisterApp:@"xxxx"withDescription:@"demo 2.0"];

[WXApiregisterApp:@"xxxx"];

這兩種注冊方法沒什么區(qū)別

并且設(shè)置URL Schemes如 圖2

圖2

在你需要實現(xiàn)微信支付的地方寫如下代碼


//調(diào)起微信支付

PayReq* req= [[[PayReqalloc]init]autorelease];

req.partnerId=@"1380654701";

req.prepayId=@"wx20161205242740c6aae18cc50936210796";

req.nonceStr=@"dfb6d0ae13af7ede53bc18a4fb82804c";

req.timeStamp=1480919261;

req.package=@"Sign=WXPay";

req.sign=@"9C2879B2FB0F91111324CDBDBE585213";

[WXApisendReq:req];


各個字段從服務(wù)器返回的數(shù)據(jù)中取出來就可以了啸驯。

回調(diào)函數(shù)在 圖3 這個文件在demo中自己查看就行了。


圖 3

可以自己給這倆文件添加個代理方法直接回調(diào)到你當(dāng)前發(fā)起支付的頁面來處理結(jié)果祟峦。微信打賞就完成了罚斗。支付的話也差不多就是需要在app中生成商品信息。

2 支付寶支付

支付寶相對于微信支付就好多了宅楞,就是文檔不好找 针姿,首先https://doc.open.alipay.com/doc2/alipayDocIndex.htm到這里下載sdk與demo

把 AlipaySDK.bundle、AlipaySDK.framework 拖到項目中厌衙。

添加依賴庫如 圖4


圖4

導(dǎo)入頭文件#import<AlipaySDK/AlipaySDK.h>

在發(fā)起支付寶支付打賞的時候?qū)崿F(xiàn)代碼


[[AlipaySDK defaultService]payOrder:@"xxx"fromScheme:kUrlSchemecallback:^(NSDictionary*resultDic) {

NSLog(@"reslut = %@",resultDic);

//9000訂單支付成功

//8000正在處理中距淫,支付結(jié)果未知(有可能已經(jīng)支付成功),請查詢商戶訂單列表中訂單的支付狀態(tài)

//4000訂單支付失敗

//6001用戶中途取消

//6002網(wǎng)絡(luò)連接出錯

//6004支付結(jié)果未知(有可能已經(jīng)支付成功)婶希,請查詢商戶訂單列表中訂單的支付狀態(tài)

//其它其它支付錯誤

}];


@“xxx”中 就是服務(wù)器返回的數(shù)據(jù),自己替換下就行了溉愁。

2017年01月13日11:26:37 更新

還有就是支付寶支付分為 應(yīng)用支付和網(wǎng)頁授權(quán)支付,網(wǎng)頁支付是走支付寶SDK的回調(diào)的,但是支付寶應(yīng)用支付是不走回調(diào)的拐揭,說明了只是走到了 Appdelegate里面的 - (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary*)options 撤蟆;這個方法里面,然后就沒有又然后了堂污。

就是具體的回調(diào)方法需要你自己去寫 通知也好家肯,block也好需要自己去定義。支付寶這大坑在文檔里面是沒有的盟猖。我這里用的是block

#pragma mark以下是支付寶支付相關(guān)

-(BOOL)Alipay:(NSURL*)url{

/*

9000訂單支付成功

8000正在處理中

4000訂單支付失敗

6001用戶中途取消

6002網(wǎng)絡(luò)連接出錯

*/

if([url.hostisEqualToString:@"safepay"]) {

//這個是進(jìn)程KILL掉之后也會調(diào)用讨衣,這個只是第一次授權(quán)回調(diào),同時也會返回支付信息

[[AlipaySDKdefaultService]processAuth_V2Result:urlstandbyCallback:^(NSDictionary*resultDic) {

[selfAlipayWithResutl:resultDic];

}];

//跳轉(zhuǎn)支付寶錢包進(jìn)行支付式镐,處理支付結(jié)果反镇,這個只是輔佐訂單支付結(jié)果回調(diào)

[[AlipaySDKdefaultService]processOrderWithPaymentResult:urlstandbyCallback:^(NSDictionary*resultDic) {

[selfAlipayWithResutl:resultDic];

}];

}elseif([url.hostisEqualToString:@"platformapi"]){

//授權(quán)返回碼

[[AlipaySDKdefaultService]processAuthResult:urlstandbyCallback:^(NSDictionary*resultDic) {

[selfAlipayWithResutl:resultDic];

}];

}

returnYES;

}

-(void)AlipayWithResutl:(NSDictionary*)resultDic{

NSString*str = [resultDicobjectForKey:@"resultStatus"];

AlipayResultresult =AlipayResultSuccess;

switch(str.intValue) {

case9000:

case6001:

result = str.intValue;

break;

default:

result =AlipayResultFailure;

break;

}

if(self.payComplete) {

self.payComplete(result);

}

}

- (void)alipayonComplete:(ALIPAY_PAY_COMPLETE)completeBlock {

self.payComplete= completeBlock;

}

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

if([url.hostisEqualToString:@"safepay"]) {//AliPay

return[selfAlipay:url];

}

}

然后在你要處理回調(diào)的頁面 實現(xiàn)這個block就行了。

打賞就完成了娘汞。是不是支付寶比微信簡單的多歹茶。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市你弦,隨后出現(xiàn)的幾起案子惊豺,更是在濱河造成了極大的恐慌,老刑警劉巖禽作,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尸昧,死亡現(xiàn)場離奇詭異,居然都是意外死亡旷偿,警方通過查閱死者的電腦和手機烹俗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來萍程,“玉大人幢妄,你說我怎么就攤上這事尘喝〈沤剑” “怎么了朽褪?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長缔赠。 經(jīng)常有香客問我衍锚,道長,這世上最難降的妖魔是什么嗤堰? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上戈抄,老公的妹妹穿的比我還像新娘。我一直安慰自己后专,他們只是感情好划鸽,可當(dāng)我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著戚哎,像睡著了一般裸诽。 火紅的嫁衣襯著肌膚如雪型凳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天甘畅,我揣著相機與錄音,去河邊找鬼橄浓。 笑死亮航,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的缴淋。 我是一名探鬼主播准给,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼露氮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了畔规?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤叁扫,失蹤者是張志新(化名)和其女友劉穎畜埋,沒想到半個月后莫绣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悠鞍,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年掩宜,在試婚紗的時候發(fā)現(xiàn)自己被綠了蔫骂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牺汤。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖慧瘤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情锅减,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布怔匣,位于F島的核電站,受9級特大地震影響每瞒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜剿骨,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望浓利。 院中可真熱鬧,春花似錦贷掖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掷酗。三九已至,卻和暖如春腹暖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背脏答。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工亩鬼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人雳锋。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓羡洁,卻偏偏與公主長得像玷过,于是被迫代替她去往敵國和親筑煮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容