iOS 银联支付

这篇博客详细介绍了如何在iOS应用中集成银联支付功能。通过展示不同会员等级的支付选择,如普通、黄金、白金和钻石会员,分别对应不同的金额。当用户选择银联支付时,应用会调用相应的方法进行数据加载和银联支付的发起。同时,博客还涵盖了支付结果的处理,包括支付成功、取消和失败的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:导入

#import "UPPayPlugin.h"

#import "UPPayPluginDelegate.h"

#import "DMCAlertCenter.h"


pragma mark-------------------------------------------点击选择会员发起购买请求-----------------------------

//日会元

- (IBAction)putong:(id)sender {

    _RMBstr =10;

    _huiyuanNumber=4;

    UIActionSheet * tryActionSheet = [[UIActionSheet alloc] initWithTitle:@"选择支付方式" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"支付宝" otherButtonTitles:@"银联支付", @"微信支付", nil];

    tryActionSheet.tag = 101;

    [tryActionSheet showInView:self.view];

}

//黄金员

- (IBAction)huangjin:(id)sender {

    _RMBstr =100;

    _huiyuanNumber=1;

    UIActionSheet * tryActionSheet = [[UIActionSheet alloc] initWithTitle:@"选择支付方式" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"支付宝" otherButtonTitles:@"银联支付", @"微信支付", nil];

    tryActionSheet.tag = 102;

    [tryActionSheet showInView:self.view];

}

//白金会员

- (IBAction)baijin:(id)sender {

    _RMBstr =500;

    _huiyuanNumber=2;

    UIActionSheet * tryActionSheet = [[UIActionSheet alloc] initWithTitle:@"选择支付方式" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"支付宝" otherButtonTitles:@"银联支付", @"微信支付", nil];

    tryActionSheet.tag = 103;

    [tryActionSheet showInView:self.view];

}

  //砖石会员

- (IBAction)zhuanshi:(id)sender {

  

    _RMBstr =100;

    _huiyuanNumber=3;

    UIActionSheet * tryActionSheet = [[UIActionSheet alloc] initWithTitle:@"选择支付方式" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"支付宝" otherButtonTitles:@"银联支付", @"微信支付", nil];

    tryActionSheet.tag = 104;

    [tryActionSheet showInView:self.view];

}


#pragma mark----------------------------请求参数加载-------------------------------------------

//银联数据加载

- (void)loadData

{

    self.userDefault = [NSUserDefaults standardUserDefaults];

    NSDictionary * dic = @{@"loginId":[_userDefault objectForKey:@"phoneNum"],@"RMB":[NSNumber numberWithInt:_RMBstr ],@"vip":[NSNumber numberWithInt:_huiyuanNumber]};

    [_manager methodPostWithURL:vipMethod parameters:dic];

}

//微信支付加载

-(void)LoadWeiXinData

{

    self.userDefault = [NSUserDefaults standardUserDefaults];

    NSDictionary * dic = @{@"loginId":[_userDefault objectForKey:@"phoneNum"],@"RMB":[NSNumber numberWithInt:_RMBstr ],@"vip":[NSNumber numberWithInt:_huiyuanNumber]};

    [_manager methodPostWithURL:vipMethod parameters:dic];


}


#pragma mark - DataRequestManagerDelegate-----------后台返回结果-----------------------------------------

- (void)passValue:(id)value

{

    NSDictionary * dic = [NSDictionary dictionaryWithDictionary:value];

    NSLog(@"vip dic = %@", dic);

    if ([[dic objectForKey:@"errCode"]isEqualToString:@"0"]&&[[dic objectForKey:@"method"] isEqualToString:@"appPay"]) {//银联

        NSString * tn = [dic objectForKey:@"tn"];

        

        [self payUPWithTN:tn];

    }

  

    

}

#pragma mark--------------------------------------------支付方式的选择----------------------------------------------------------------------

//==================选择支付方式==============================

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex

{

    switch (actionSheet.tag) {

        case 101:

            //一天

        {

            if (buttonIndex == 0) {

                //

                NSLog(@"支付宝");

                

            }else if (buttonIndex == 1) {

                //

                NSLog(@"银联");

                [self loadData];



            }else if(buttonIndex ==2)

            {

              NSLog(@"微信");

            

            }

        }

            break;

            

        case 102:

            //一个月

        {

            if (buttonIndex == 0) {

                //

                NSLog(@"支付宝");

                

            }else if (buttonIndex == 1) {

                //

                NSLog(@"黄金银联");

                [self loadData];



            }

            else if(buttonIndex ==2)

            {

                NSLog(@"微信");

                

                

            }

        }

            

            break;

            

        case 103:

            //三个月

        {

            if (buttonIndex == 0) {

                //

                NSLog(@"支付宝");


            }else if (buttonIndex == 1) {


                NSLog(@"白金银联");

                [self loadData];


            }

            else if(buttonIndex ==2)

            {

                NSLog(@"微信");

                

            }

        }

            

            break;

            

        case 104:

            //一年

        {

            if (buttonIndex == 0) {

                //

                NSLog(@"支付宝");

                

            }else if (buttonIndex == 1) {

                //

                NSLog(@"砖石银联");

                [self loadData];


            }

            else if(buttonIndex ==2)

            {

                NSLog(@"微信");

                

            }

        }

            

            break;

            

        default:

            break;

    }

}


#pragma mark-----------------------------------微信支付判断----------------------------------------------




#pragma mark--------银联支付判断----------------------------------------------------------------

- (void)payUPWithTN:(NSString*)tn

{

    if (tn != nil && tn.length > 0)

    {

        NSLog(@"tn=%@",tn);

        [UPPayPlugin startPay:tn mode:@"01" viewController:self delegate:self];

    }

}

- (void)UPPayPluginResult:(NSString *)result

{

    NSLog(@"result=%@",result);

    if ([result isEqualToString:@"success"]) {

        NSLog(@"支付成功");

        [[DMCAlertCenter defaultCenter] postAlertWithMessage:@"支付成功"];

    }else if ([result isEqualToString:@"cancel"]) {

        NSLog(@"取消支付");

        [[DMCAlertCenter defaultCenter] postAlertWithMessage:@"取消支付"];

    }else if ([result isEqualToString:@"fail"]) {

        NSLog(@"支付失败");

        [[DMCAlertCenter defaultCenter] postAlertWithMessage:@"支付失败"];

    }

    

    [self dismissViewControllerAnimated:YES completion:^{

        

    }];

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值