iOS PayPal集成和使用

一、創(chuàng)建并獲取對應(yīng)的ClientID

1、登錄paypal開發(fā)者網(wǎng)站

PayPal開發(fā)者官網(wǎng)地址:https://developer.paypal.com/classic-home/

image.png

2、創(chuàng)建App

DASHBOARD -> My Apps -> Creat APP


image.png

3、獲取ClientID

Sandbox:測試環(huán)境
Live:正式環(huán)境



獲取Sandbox對應(yīng)的ClientID


image.png

二、引入sdk

1、采用CocoaPods

pod 'PayPal-iOS-SDK'

2、注冊環(huán)境

/// AppDelegate中注冊
+ (void)kj_registerPaypal{
    NSDictionary *dict = @{PayPalEnvironmentProduction:kPayPalLive,
                           PayPalEnvironmentSandbox:kPayPalSandbox,
    };
    [PayPalMobile initializeWithClientIdsForEnvironments:dict];
}

3、支付處理

備注:由于PayPal支付不需要喚起客戶端,內(nèi)部sdk有相對應(yīng)的控制器處理
/// 支付處理
+ (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{
    /// 配置支付環(huán)境
    [PayPalMobile preconnectWithEnvironment:PayPalEnvironmentSandbox];
    
    /// Paypal配置
    PayPalConfiguration *paypalConfig = [[PayPalConfiguration alloc] init];
    //是否接受信用卡
    paypalConfig.acceptCreditCards = NO;
    //商家名稱
    paypalConfig.merchantName = @"商家名";
    //paypal賬號下的地址信息
    paypalConfig.payPalShippingAddressOption = PayPalShippingAddressOptionPayPal;
    //配置語言環(huán)境
    paypalConfig.languageOrLocale = [NSLocale preferredLanguages][0];
    
    /// 配置支付相關(guān)信息
    PayPalPayment *payment = [[PayPalPayment alloc] init];
    //訂單總額
    payment.amount = [NSDecimalNumber decimalNumberWithString:info.amount];
    //貨幣類型-RMB是沒用的
    payment.currencyCode = @"USD";
    //訂單描述
    payment.shortDescription = info.shortDescription;
    //生成paypal控制器,并模態(tài)出來(push也行)
    //將之前生成的訂單信息和paypal配置傳進來,并設(shè)置訂單VC為代理
    PayPalPaymentViewController *paymentViewController = [[PayPalPaymentViewController alloc] initWithPayment:payment configuration:paypalConfig delegate:self];
    [vc presentViewController:paymentViewController animated:YES completion:nil];
}

登錄和充值展示

4、監(jiān)聽回調(diào)狀態(tài)

#pragma mark - PayPalPaymentDelegate
//訂單支付完成后回調(diào)此方法
- (void)payPalPaymentViewController:(PayPalPaymentViewController*)paymentViewController didCompletePayment:(PayPalPayment*)completedPayment {
    NSLog(@"PayPal Payment Success!");
}
//用戶取消支付回調(diào)此方法
- (void)payPalPaymentDidCancel:(PayPalPaymentViewController*)paymentViewController {
    NSLog(@"PayPal Payment Canceled");
}

5、查看訂單狀態(tài)

登錄到官網(wǎng):https://www.sandbox.paypal.com/signin

這里可以看到剛剛處理的訂單
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容