⑴ ios微信支付如何判斷支付成功和怎麼調轉到指定應用
微信回調方法中有判斷,代碼如下。返回到當前應用是通過URL SChemes來判斷的。
if([resp isKindOfClass:[PayResp class]]){
//支付返回結果,實際支付結果需要去微信伺服器端查詢
strTitle = [NSString stringWithFormat:@"支付結果"];
switch (resp.errCode) {
case WXSuccess:{
strMsg = [NSString stringWithFormat:@"支付成功"];
[[NSNotificationCenter defaultCenter] postNotificationName:@"weixinPay" object:nil];
break;
}
default:
strMsg = [NSString stringWithFormat:@"支付結果:失敗!"];
break;
}
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:strTitle message:strMsg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}
⑵ 微信開放平台創建的移動應用使用微信支付時怎麼設置回調url
1各項設置應該都正抄常,因為支付襲已經ok了,在公眾號後台能看到支付成功的流水。
2調的js介面,只接到了js返回的get_brand_wcpay_request:ok,設置的回調通知地址毫無反應(用日誌調試)。
⑶ iOS app中起調h5微信支付,支付成功無法返回app,而是到safari瀏覽器
因為蘋果的IOS系統是一個閉環的系統,蘋果公司禁止任何第三方支付在其商城購買東西;
如果您需要在蘋果手機的APP或者這種H5中購買
可以用safari瀏覽器訪問該網站的網頁,在網頁中購買,此時就可以使用微信支付了;
需要注意的是,這種是PC端的購買方式,所以會出現二維碼,您需要把該二維碼保存,然後再用微信的掃一掃功能來識別
⑷ 友盟第三方登錄ios微信登錄和微信支付的回調怎麼寫
1. 首先在微信開發者頁面申請一個APPID。一定要微信審核通過才能使用!
2. 在後台【應用管理-設置-分享設置】中將申請到的微信ID錄入到【分享微信AppID】。
3. 保存後系統會編譯您的應用,編譯後升級您的應用即可。
具體操作流程:
一、申請微信ID:
1.進入微信開放平台
2. 點擊頁面左上端進行注冊或者登陸。
3. 點擊頁面左下端【移動應用開發】,進入應用接入的頁面詳情。
4. 填寫應用名稱和應用的基本信息。
其中的所需上傳的圖標的水印圖片可以從app製作者的管理後台中獲取具體路徑【應用管理】->【應用推廣】。
5. 完善資料。
6. 簽名和包名。微信android簽名:簽名直接復制上面的簽名代碼即可,一定要記住,復制時不要有多餘空格哦。包名類似:com.jh.APPXXX.news,由系統生成,XXX是一串數字,具體包名可以在【應用管理-設置-分享設置】頁面獲得。填寫完畢後,點擊【提交】就完成申請了。微信平台會有1-7個工作日的審核周期,通過後即可將appid綁定到平台中。
二、如何綁定微信APPID將按照上面申請的微信appid添加到【應用管理-設置-分享設置】頁面的分享微信AppID欄位,添加後保存即可。
注意:
申請APPID時,還需要上傳應用圖標,請提前准備,否則不能提交審核,這些圖標在【應用管理-設置-分享設置】頁面提供下載。
1)水印圖標,水印圖標出現在微信聊天界面消息氣泡底部,
28*28 png格式 灰度圖(沒有彩色的圖)2)高清圖標,高清圖標出現在聊天界面附件欄中,
108*108 png格式
⑸ 微信支付後怎麼返回指定界面 ios開發
在以下兩個方法中實現(AppDelegate)
//棄用的返回
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
NSLog(@"url1=%@",url);
return [WXApi handleOpenURL:url delegate:self]||[TencentOAuth HandleOpenURL:url];
}
//返回
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
NSLog(@"URL=%@",url);
return [WXApi handleOpenURL:url delegate:self]||[TencentOAuth HandleOpenURL:url];
}
⑹ iOS9.0+,調起微信支付後,不會自動返回上一APP,點擊左上系統自帶返回上一APP,接收不到回
我用的計時器解決的這個問題.界面跳轉到微信之前開始通過計時器.不斷向伺服器查詢微信支付狀態.
-(void)timer{
timer = [NSTimer scheledTimerWithTimeInterval:5 target:self selector:@selector(timerTap) userInfo:nil repeats:YES];
//如果計時器寫在其他方法里 需要加上這個
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
}
-(void)timerTap{
dataNameStr = @"支付狀態查詢";
address = @"xxxxxxx/orderPay/state";
[self requestData];
}
當從導航欄返回時,會返回之前跳轉微信的界面, 去伺服器查支付是否成功.如果成功做處理.
⑺ ios怎麼實現微信支付完成之後自動返回到app
認真查看參數 我我做的時候也出現,肯定是參數有問題 多半是回調參數的問題
⑻ 微信h5支付怎麼在app調起微信 ios
在瀏覽器中調起微信支付,一般情況下,是在後台接入微信支付的介面,然後當用戶需要支付的時候,在前台顯示一個支付的二維碼,用戶使用微信支付的掃一掃功能,掃描該二維碼,獲取相應的支付信息,使用手機進行支付
⑼ webview裡面微信支付的回調怎麼處理
1,微信支付的過程是商家發起支付請求——微信支付後台返回對應的二維碼——用戶掃描付款——後台確定付款成功——發起回調通知商家——商家系統返回應答;
2,當商家系統未返回應答時,系統就會多次發起回調,以免商家的系統無法獲得交易結果;
3,出現此種問題的原因是商家的系統網路信號不好,可以更換為4G網路,就不會出現這種問題了
⑽ 用urlscheme打開微信支付,回調怎麼做
微信支付的回調
首先,支付回調API的方法,這個方法中完全是按照官方文檔寫的,自己基本上不需要操作
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
{
//如果極簡開發包不可用,會跳轉支付寶錢包進行支付,需要將支付寶錢包的支付結果回傳給開發包
if ([url.host isEqualToString:@"safepay"]) {
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
//【由於在跳轉支付寶客戶端支付的過程中,商戶app在後台很可能被系統kill了,所以pay介面的callback就會失效,請商戶對standbyCallback返回的回調結果進行處理,就是在這個方法裡面處理跟callback一樣的邏輯】
}[[AlipaySDK defaultService] processAuthResult:url standbyCallback:^(NSDictionary *resultDic) {
//【由於在跳轉支付寶客戶端支付的過程中,商戶app在後台很可能被系統kill了,所以pay介面的callback就會失效,請商戶對standbyCallback返回的回調結果進行處理,就是在這個方法裡面處理跟callback一樣的邏輯】
}];
}
if ([sourceApplication isEqualToString:@"com.tencent.xin"]) {
//微信支付回調
return [WXApi handleOpenURL:url delegate:self];
}
//跳轉處理
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//調用其他SDK,例如支付寶SDK等
}
return result;
}
最後微信會調用下面這個方法,我是在這個方法中做的操作,由於這個方法是在AppDelegate中,如果在這里跳轉到自己指定的頁面,有些困難,
於是就在這個方法中發通知到調起支付的頁面,再進行頁面跳轉操作。
//回調方法
-(void) onResp:(BaseResp*)resp
{
NSString *strMsg = [NSString stringWithFormat:@"errcode:%d", resp.errCode];
NSString *strTitle;
if([resp isKindOfClass:[SendMessageToWXResp class]])
{
strTitle = @"發送媒體消息結果";
}
if([resp isKindOfClass:[PayResp class]]){
//支付返回結果,實際支付結果需要去微信伺服器端查詢
strTitle = [NSString stringWithFormat:@"支付結果"];
switch (resp.errCode) {
case WXSuccess:{
strMsg = @"恭喜您,支付成功!";
[MYNotificationCenter postNotificationName:@"weixinPaystatusSuccess" object:nil userInfo:@{@"status":@"success"}];
break;
}
case WXErrCodeUserCancel:{
strMsg = @"已取消支付!";
[MYNotificationCenter postNotificationName:@"weixinPaystatusSuccess" object:nil userInfo:@{@"status":@"cancle"}];
break;
}
default:{
strMsg = [NSString stringWithFormat:@"支付失敗 !"];
[MYNotificationCenter postNotificationName:@"weixinPaystatusSuccess" object:nil userInfo:@{@"status":@"cancle"}];
break;
}
}
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:strTitle message:strMsg delegate:self cancelButtonTitle:@"確定" otherButtonTitles:nil, nil];
[alert show];
}
}
由於我們的取消和失敗,2種狀態的處理結果都是一樣的,所以就用了相同的通知。
由於在調起支付頁面,在調起前就已經注冊了通知,現在支付完後,就可以收到支付狀態的通知了。下面就很簡單了吧
最後在說一下,
由於我們的付款性質不一樣,所以就遇到了同樣的支付成功狀態,由於不同的支付類型要跳轉的頁面也是不同的,這就要求在AppDelegate中的那個處理方法中識別出,不同的支付類型,(如充值,購物等)但是這個方法是微信api回調的方法,它只返回成功,取消,失敗等狀態。那就只能是支付前做個識別標示,但是由於支付跳到api了,脫離了應用,這個識別標示又無法直接傳過來。我想的方法就是保存一個支付標示:
[[NSUserDefaults standardUserDefaults] setObject:@"CHONGZHI" forKey:@"PAYTYPE"];
在每個類型的支付調起方法中,保存一下不同的key,然後再那個
-(void) onResp:(BaseResp*)resp