『壹』 寰淇℃敮浠樼粺涓涓嬪崟锛堝井淇″皬绋嬪簭鍜孉pp锛
1.app瀹㈡埛绔浼犲弬鏁帮紝鍙闇瑕佷紶璐涔版椂闂达紝鐢ㄦ埛鐨刼penid銆
寰淇″皬绋嬪簭闇瑕佷紶code(code涔熸槸鐢ㄦ潵鑾峰彇openid)鍜屾椂闂淬
2.鍥炶皟鍦板潃闇瑕佸湪寰淇″晢鎴峰悗鍙伴厤缃锛屽惁鍒欐棤娉曟帴鏀舵敮浠樻垚鍔熺殑娑堟伅
3.鍥炶皟鎺ユ敹鏀浠樻垚鍔熶箣鍚庨渶瑕佽繑鍥炵浉搴旂殑xml缁欏井淇★紝鍚﹀垯寰淇′細涓鐩村悜鍥炶皟鍦板潃鍙戦佸洖璋冧俊鎭銆
4.openid鐨勮幏鍙栭渶瑕佹敞鎰忓悗鍙扮殑鍟嗘埛id涓讳綋鏄鍚︿竴鑷达紝鍚屾牱鏄寰淇$櫥褰曪紝pc鑾峰彇鐨刼penid涓庡井淇″皬绋嬪簭鍜宎pp涓婂井淇¤幏鍙栫殑openid鏄涓嶄竴鏍风殑锛屼絾鏄浠栦滑鐨剈nionid鏄涓鑷寸殑锛屾湁鍏磋叮鐨勫悓瀛﹀彲浠ョ櫨搴︿竴涓嬪井淇$殑openid鍜寀nionid銆
5.绛惧悕鏃讹紝鍚勫弬鏁伴『搴忕粷瀵逛笉鑳戒贡锛屽惁鍒欑惧悕澶辫触銆
『贰』 微信扫码支付模式二回调怎么处理
微信支付系统通过发送异步消息推送支付结果 到公众号->微信支付-> 扫描支付,的回调url里,url由你自己定义,需回复接收情况,通知微信后台系统不再发送该单的支付通知。
『叁』 用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
『肆』 thinkphp微信支付回调是什么意思
支付回调就是 支付后微信系统发送结果的地址
『伍』 微信支付回调
1,微信支付的过程是商家发起支付请求——微信支付后台返回对应的二维码内——用户扫描付款容——后台确定付款成功——发起回调通知商家——商家系统返回应答;
2,当商家系统未返回应答时,系统就会多次发起回调,以免商家的系统无法获得交易结果;
3,出现此种问题的原因是商家的系统网络信号不好,可以更换为4G网络,就不会出现这种问题了
『陆』 mui寰淇℃敮浠樹笉鑳借皟璧峰井淇℃敮浠樼晫闈锛岀洿鎺ュ弽鍥-100.琛ㄧず鐢ㄦ埛宸插彇娑堬紝姹傝В锛屽畾鍗曟槸鎴愬姛鍙嶅洖鐨勶紝璋冪敤
1锛屽井淇℃敮浠樼殑杩囩▼鏄鍟嗗跺彂璧锋敮浠樿锋眰鈥斺斿井淇℃敮浠樺悗鍙拌繑鍥炲瑰簲鐨勪簩缁寸爜鈥斺旂敤鎴锋壂鎻忎粯娆锯斺斿悗鍙扮‘瀹氫粯娆炬垚鍔熲斺斿彂璧峰洖璋冮氱煡鍟嗗垛斺斿晢瀹剁郴缁熻繑鍥炲簲绛旓紱
2锛屽綋鍟嗗剁郴缁熸湭杩斿洖搴旂瓟鏃讹紝绯荤粺灏变細澶氭″彂璧峰洖璋冿紝浠ュ厤鍟嗗剁殑绯荤粺鏃犳硶鑾峰緱浜ゆ槗缁撴灉锛
3锛屽嚭鐜版ょ嶉棶棰樼殑鍘熷洜鏄鍟嗗剁殑绯荤粺缃戠粶淇″彿涓嶅ソ锛屽彲浠ユ洿鎹涓4G缃戠粶锛屽氨涓嶄細鍑虹幇杩欑嶉棶棰樹簡