HTXPayManager
第一步? ----? 生成訂單
//用來(lái)生成訂單的接口 + 保存好訂單號(hào)
-(void)requestPayCurriId:(NSString *)curriId useCoupon:(NSString *)useCoupon isGuarantee:(NSString *)isGuarantee myself:(NSString *)myself personName:(NSString *)personName placeDesc:(NSString *)placeDesc sumFee:(NSString *)sumFee paidAmount:(NSString *)paidAmount prodName:(NSString *)prodName lessonTime:(NSString *)lessonTime completion:(HTXPayManagerCreateOrderCompletionBlock)completion;
第二步? ----? 支付
//用來(lái)支付的接口 - 生產(chǎn)signOrderUrl調(diào)用支付寶支付 + 微信支付 PayReq 字典模型傳入
-(void)getPayRequestPayType:(PayType)payType WithOrderType:(NSString *)orderType paidAmount:(NSString *)paidAmount prodName:(NSString *)prodName completion:(HTXPayManagerCompletionBlock)completion亭枷;
第三步? ----? 支付回調(diào)
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if ([url.host isEqualToString:@"safepay"]) {
//跳轉(zhuǎn)支付寶錢(qián)包進(jìn)行支付字柠,處理支付結(jié)果
[[HTXPayManager sharedManager] alipayResultWithUrl:url];
return YES;
}else{
return? [WXApi handleOpenURL:url delegate:[HTXThirdLoginManager sharedManager]];
}
}
微信:
- (void)onResp:(BaseResp*)resp
if([resp isKindOfClass:[PayResp class]]){
NSString *payResoult = [NSString stringWithFormat: @"errcode:%d", resp.errCode];
NSString *payerrStr= [NSString stringWithFormat: @"errStr:%@", resp.errStr];
NSLog(@"? ---? onResp? -----? payResoult? :? %@? ? payerrStr? :? %@ ",payResoult,payerrStr);
//支付返回結(jié)果,實(shí)際支付結(jié)果需要去微信服務(wù)器端查詢(xún)
switch (resp.errCode) {
case 0:
{
payResoult = @"支付結(jié)果:成功!";
[[NSNotificationCenter defaultCenter] postNotificationName:@"WX_PaySuccess" object:nil];
}
break;
case -1:
payResoult = @"支付結(jié)果:失敳瓤堋框沟!";
break;
case -2:
payResoult = @"用戶(hù)已經(jīng)退出支付!";
break;
default:
payResoult = [NSString stringWithFormat:@"支付結(jié)果:失敵考獭烟阐!retcode = %d, retstr = %@", resp.errCode,resp.errStr];
break;
}
}
-(void)queryWxPayBillWithUrl:(NSString *)url;
支付寶:
-(void)alipayResultWithUrl:(NSURL *)url{
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@" standbyCallback result = %@",resultDic);
if ([resultDic[@"resultStatus"] isEqualToString:@"9000"]) {
DSLog(@"standbyCallback:支付成功");
NSString * resultDicStr = [CommonTools convertToJSONData:resultDic];
[self alipayFinishRequestWithSynPayResult:resultDicStr];//支付寶支付成功才去后臺(tái)查詢(xún)失敗不需要
if (self.payHandler) {
NSString * returnCode = @"000000";
NSString * trade_state = @"SUCCESS";
self.payHandler(returnCode,trade_state);
}
}else if ([resultDic[@"resultStatus"] isEqualToString:@"8000"]){
UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"支付結(jié)果確認(rèn)中..." message:nil delegate:nil cancelButtonTitle:@"確定" otherButtonTitles:nil];
[alter show];
}else{
if (self.payHandler) {
NSString * returnCode = @"100000";
NSString * trade_state = @"Fail";
self.payHandler(returnCode,trade_state);
}
}
}];
}
-(void)alipayFinishRequestWithSynPayResult:(NSString *)synPayResult;