iOS PayPal集成和使用

一、创建并获取对应的ClientID

1、登录paypal开发者网站

PayPal开发者官网地址:https://developer.paypal.com/classic-home/
image.png

2、创建App

DASHBOARD -> My Apps -> Creat APP
image.png

3、获取ClientID

Sandbox:测试环境
Live:正式环境

获取Sandbox对应的ClientID
image.png

二、引入sdk

1、采用CocoaPods

pod ‘PayPal-iOS-SDK’

2、注册环境
/// AppDelegate中注册
+ (void)kj_registerPaypal{
    NSDictionary *dict = @{PayPalEnvironmentProduction:kPayPalLive,
                           PayPalEnvironmentSandbox:kPayPalSandbox,
    };
    [PayPalMobile initializeWithClientIdsForEnvironments:dict];
}
3、支付处理
备注:由于PayPal支付不需要唤起客户端,内部sdk有相对应的控制器处理
/// 支付处理
+ (void)kj_paypalWithViewController:(UIViewController*)vc PaypalInfo:(KJPaypalInfo*)info SuccessBlock:(void(^)(bool success,NSDictionary *dict))block{
    KJPaypalTool *tool = [[KJPaypalTool alloc]init];
    [tool kj_paypalWithViewController:vc PaypalInfo:info SuccessBlock:block];
}
- (void)kj_paypalWithViewController:(UIViewController*)vc PaypalInfo:(KJPaypalInfo*)info SuccessBlock:(void(^)(bool success,NSDictionary *dict))block{
    /// 配置支付环境
    [PayPalMobile preconnectWithEnvironment:PayPalEnvironmentSandbox];
    
    /// Paypal配置
    PayPalConfiguration *paypalConfig = [[PayPalConfiguration alloc] init];
    //是否接受信用卡
    paypalConfig.acceptCreditCards = NO;
    //商家名称
    paypalConfig.merchantName = @"商家名";
    //paypal账号下的地址信息
    paypalConfig.payPalShippingAddressOption = PayPalShippingAddressOptionPayPal;
    //配置语言环境
    paypalConfig.languageOrLocale = [NSLocale preferredLanguages][0];
    
    /// 配置支付相关信息
    PayPalPayment *payment = [[PayPalPayment alloc] init];
    //订单总额
    payment.amount = [NSDecimalNumber decimalNumberWithString:info.amount];
    //货币类型-RMB是没用的
    payment.currencyCode = @"USD";
    //订单描述
    payment.shortDescription = info.shortDescription;
    //生成paypal控制器,并模态出来(push也行)
    //将之前生成的订单信息和paypal配置传进来,并设置订单VC为代理
    PayPalPaymentViewController *paymentViewController = [[PayPalPaymentViewController alloc] initWithPayment:payment configuration:paypalConfig delegate:self];
    [vc presentViewController:paymentViewController animated:YES completion:nil];
}

登录和充值展示

4、监听回调状态
#pragma mark - PayPalPaymentDelegate
//订单支付完成后回调此方法
- (void)payPalPaymentViewController:(PayPalPaymentViewController*)paymentViewController didCompletePayment:(PayPalPayment*)completedPayment {
    NSLog(@"PayPal Payment Success!");
}
//用户取消支付回调此方法
- (void)payPalPaymentDidCancel:(PayPalPaymentViewController*)paymentViewController {
    NSLog(@"PayPal Payment Canceled");
}
5、查看订单状态

登录到官网:https://www.sandbox.paypal.com/signin

这里可以看到刚刚处理的订单
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值