// // ViewController.m // Demo // // Created by BensonZhang on 15/11/13. // Copyright © 2015年 xunlian. All rights reserved. // #import "ViewController.h" #import "AllPayRequest.h" #import "PayOrder.h" #import "DateUtil.h" #import "SignUtil.h" #import "AllPaySDK.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // [self.view setBackgroundColor:[UIColor yellowColor]]; UIButton * btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; btn1.tag = 1; btn1.frame = CGRectMake(80, 60, 200, 50); [btn1 setTitle:@"微信支付" forState:UIControlStateNormal]; [btn1 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btn1]; UIButton * btn2 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; btn2.tag = 2; btn2.frame = CGRectMake(80, 120, 200, 50); [btn2 setTitle:@"支付宝支付" forState:UIControlStateNormal]; [btn2 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btn2]; UIButton * btn3 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; btn3.tag = 3; btn3.frame = CGRectMake(80, 180, 200, 50); [btn3 setTitle:@"银联支付" forState:UIControlStateNormal]; [btn3 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btn3]; UIButton * btn4 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; btn4.tag = 4; btn4.frame = CGRectMake(80, 240, 200, 50); [btn4 setTitle:@"apple pay 支付" forState:UIControlStateNormal]; [btn4 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btn4]; } -(void)btnClick:(UIButton *)btn { NSMutableDictionary * paramDic=[[NSMutableDictionary alloc]init]; [paramDic setObject:@"VER000000005" forKey:@"version"]; [paramDic setObject:@"UTF-8" forKey:@"charSet"]; [paramDic setObject:@"PURC" forKey:@"transType"]; [paramDic setObject:[DateUtil getDate:@"YYYYMMddHHmmss"] forKey:@"orderNum"]; [paramDic setObject:@"0.1" forKey:@"orderAmount"]; [paramDic setObject:@"CNY" forKey:@"orderCurrency"]; [paramDic setObject:@"nil" forKey:@"frontURL"]; [paramDic setObject:@"https://testapi.allpayx.com/test" forKey:@"backURL"]; [paramDic setObject:@"nil" forKey:@"merReserve"]; [paramDic setObject:@"test商品" forKey:@"goodsInfo"]; [paramDic setObject:@"600039253112226" forKey:@"merID"]; [paramDic setObject:@"99020344" forKey:@"acqID"]; [paramDic setObject:[DateUtil getDate:@"YYYYMMddHHmmss"] forKey:@"transTime"]; [paramDic setObject:@"MD5" forKey:@"signType"]; NSString *detailInfo = @"IFt7Imdvb2RzX25hbWUiOiLkuIDkuKrlj4jlpKflj4jlnIbnmoToi7nmnpwiLCJxdWFudGl0eSI6IjEifSx7Imdvb2RzX25hbWUiOiLljY7kuLpQMjAgcGx1cyIsInF1YW50aXR5IjoiNCJ9XQ=="; [paramDic setObject:detailInfo forKey:@"detailInfo"]; [paramDic setObject:@"APP" forKey:@"tradeFrom"]; if (btn.tag == 1)//微信 { [paramDic setObject:@"WX" forKey:@"paymentSchema"]; } if (btn.tag == 2)//支付宝 { [paramDic setObject:@"AP" forKey:@"paymentSchema"]; } if (btn.tag == 3)//银联 { [paramDic setObject:@"UP" forKey:@"paymentSchema"]; } if (btn.tag == 4)//银联 { [paramDic setObject:@"APP" forKey:@"paymentSchema"]; } [self startPay:paramDic]; } -(void)startPay:(NSMutableDictionary*)paramDic { [paramDic setObject:[SignUtil getSign:paramDic] forKey:@"signature"]; NSString *url = @"https://testapi.allpayx.com/api/unifiedorder"; // NSString *url = @"https://api.allpayx.com/api/unifiedorder"; [AllPayRequest postRequestWithURL:url paramters:paramDic succeed:^(id finResponseData) { NSError *error; NSDictionary * diction = [NSJSONSerialization JSONObjectWithData:finResponseData options:NSJSONReadingMutableContainers error:&error]; if(!error){ NSLog(@"-----输出数据---%@",diction); [AllPaySDK pay:[diction objectForKey:@"tn"] mode:NO scheme:@"com.xxx.xxx" ViewController:self onResult: ^(NSDictionary *resultDic) { NSData *jsonData = [NSJSONSerialization dataWithJSONObject:resultDic options:NSJSONWritingPrettyPrinted error:nil]; NSString *message =[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"支付结果" message:message delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; }]; }else{ NSString * dataString = [[NSString alloc]initWithData:finResponseData encoding:NSUTF8StringEncoding]; NSLog(@"参数出错===\n %@",dataString); } } failed:^(id faiResponseData) { }]; } - (NSString *)getCurrentLanguage { NSArray *languages = [NSLocale preferredLanguages]; NSString *currentLanguage = [languages objectAtIndex:0]; NSLog( @"%@" , currentLanguage); return currentLanguage; } @end