Ping++ SDK范嘱,引入iOS配置說(shuō)明

一、下載需要的SDK平臺(tái)普碎,這里我們以iOS為例
下載地址是:Ping++_ios下載地址

解壓下載好的SDK

ping++sdk目錄

我們新建工程吼肥,引入lib,我們吧解壓好的lib拷貝到我們新建的工程的根目錄麻车,進(jìn)行下面操作


右鍵工程出現(xiàn)這個(gè)

引入完成后目錄結(jié)構(gòu)如圖

下面這個(gè)是我們需要修改一個(gè)設(shè)備支持缀皱,因?yàn)閷?dǎo)入了apple pay 支持到iOS8 以后,不用需要?jiǎng)h除對(duì)應(yīng)lib/channels下的SDK

導(dǎo)入完成的目錄結(jié)構(gòu)

支持Ping++需要引入的系統(tǒng)類(lèi)庫(kù)

1.  CFNetwork.framework
2.  SystemConfiguration.framework
3.  Security.framework
4.  libc++.tbd   (ios9 之前是:libc++.dylib)
5.  libsqlite3.0.tbd

百度錢(qián)包需要的庫(kù)

*  libstdc++.tbd
*  CoreTelephony.framework
*  AddressBook.framework
*  AddressBookUI.framework
*  AudioToolbox.framework
*  CoreAudio.framework
*  CoreGrapics.framework
*  ImageIO.framework
*  MapKit.framework
*  MessageUI.framework
*  MobileCoreServices.framework
*  QuartzCore.framework

Apple Pay 如果用到導(dǎo)入动猬,不用則不導(dǎo)入

    PassKit.framework

如果不需要某些支付渠道啤斗,則可以直接刪除lib/Channels 下的目錄即可

添加 URL Schemes:在 Xcode 中,選擇你的工程設(shè)置項(xiàng)枣察,選中 TARGETS 一欄争占,
在 Info 標(biāo)簽欄的 URL Types 添加 URL Schemes,如果使用微信序目,填
入微信平臺(tái)上注冊(cè)的應(yīng)用程序 id(為 wx 開(kāi)頭的字符串)臂痕,如果不使
用微信,則自定義猿涨,建議起名稍復(fù)雜一些握童,盡量避免與其他程序沖突。
允許英文字母和數(shù)字叛赚,首字母必須是英文字母澡绩,不允許特殊字符。

添加 Other Linker Flags: 在Build Setting 搜索 Other Linker Flags 其后添加 -ObjC

2.1.0 及以上版本俺附,可打開(kāi) Debug 模式肥卡,打印出 log,方便調(diào)試事镣。開(kāi)啟方法:[Pingpp setDebugMode:YES];

注意:微信支付必需有微信客戶(hù)端才可以使用步鉴,百度錢(qián)包只能在真機(jī)使用

iOS9 之后info。plist 配置如圖所示:
URL scheme配置


info 文件配置


支付成功后的回調(diào)
在工程入口寫(xiě):

回調(diào)方式

使用C的庫(kù)支持


使用的時(shí)候?qū)隒的庫(kù)

工程中得支付代碼

//
//  ViewController.m
//  PingppUse
//
//  Created by plee on 15/10/14.
//  Copyright ? 2015年 franklee. All rights reserved.
//

#import "ViewController.h"
#include <sys/socket.h>
#include <sys/sysctl.h>
#include <net/if.h>
#include <net/if_dl.h>
#import "Pingpp.h"

#define KBtn_width        200
#define KBtn_height       40
#define KXOffSet          (self.view.frame.size.width - KBtn_width) / 2
#define KYOffSet          20

#define kWaiting          @"正在獲取支付憑據(jù),請(qǐng)稍后..."
#define kNote             @"提示"
#define kConfirm          @"確定"
#define kErrorNet         @"網(wǎng)絡(luò)錯(cuò)誤"
#define kResult           @"支付結(jié)果:%@"

#define kPlaceHolder      @"支付金額"
#define kMaxAmount        9999999

#define kUrlScheme      @"testdemo" // 這個(gè)是你定義的 URL Scheme璃哟,支付寶氛琢、微信支付和測(cè)試模式需要。
#define kUrl            @"http://218.244.151.190/demo/charge" // 你的服務(wù)端創(chuàng)建并返回 charge 的 URL 地址随闪,此地址僅供測(cè)試用阳似。
@interface ViewController ()
@property (strong,nonatomic) NSString * channel;

@end

@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}
- (void)sendChargeOrder:(NSInteger )tag{
    if (tag == 1) {
        self.channel = @"wx";

    } else if (tag == 2) {
        self.channel = @"alipay";
    } else if (tag == 3) {
        self.channel = @"upacp";
    } else if (tag == 4) {
        self.channel = @"bfb";
    } else {
        return;
    }
    //充值數(shù)額
    NSString *  amount;
    
   
    NSString *amountStr = [NSString stringWithFormat:@"%@", amount];
    NSURL* url = [NSURL URLWithString:kUrl];
    NSMutableURLRequest * postRequest=[NSMutableURLRequest requestWithURL:url];
    
    NSDictionary* dict = @{
                           @"channel" : self.channel,
                           @"amount"  : amountStr
                           };
    NSData* data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];
    NSString *bodyData = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    
    [postRequest setHTTPBody:[NSData dataWithBytes:[bodyData UTF8String] length:strlen([bodyData UTF8String])]];
    [postRequest setHTTPMethod:@"POST"];
    [postRequest setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    
    ViewController * __weak weakSelf = self;
    NSOperationQueue *queue = [[NSOperationQueue alloc] init];

    [NSURLConnection sendAsynchronousRequest:postRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;

        if (httpResponse.statusCode != 200) {

            return;
        }
        if (connectionError != nil) {
            NSLog(@"error = %@", connectionError);

            return;
        }
        NSString* charge = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"charge = %@", charge);
        dispatch_async(dispatch_get_main_queue(), ^{
            [Pingpp createPayment:charge viewController:weakSelf appURLScheme:kUrlScheme withCompletion:^(NSString *result, PingppError *error) {
                NSLog(@"completion block: %@", result);
                if (error == nil) {
                    NSLog(@"PingppError is nil");
                } else {
                    NSLog(@"PingppError: code=%lu msg=%@", (unsigned  long)error.code, [error getMsg]);
                }

            }];
        });
    }];

}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

到此處就可以正常使用了
info文件添加方式(ios9 之后加入適配HTTP,還有一些支付白名單)

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>weichat</string>
        <string>weixin</string>
        <string>alipay</string>
    </array>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末铐伴,一起剝皮案震驚了整個(gè)濱河市撮奏,隨后出現(xiàn)的幾起案子俏讹,更是在濱河造成了極大的恐慌,老刑警劉巖挽荡,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件藐石,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡定拟,警方通過(guò)查閱死者的電腦和手機(jī)于微,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)青自,“玉大人株依,你說(shuō)我怎么就攤上這事⊙哟埽” “怎么了恋腕?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)逆瑞。 經(jīng)常有香客問(wèn)我荠藤,道長(zhǎng),這世上最難降的妖魔是什么获高? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任哈肖,我火速辦了婚禮,結(jié)果婚禮上念秧,老公的妹妹穿的比我還像新娘淤井。我一直安慰自己,他們只是感情好摊趾,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布币狠。 她就那樣靜靜地躺著,像睡著了一般砾层。 火紅的嫁衣襯著肌膚如雪漩绵。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天肛炮,我揣著相機(jī)與錄音止吐,去河邊找鬼。 笑死铸董,一個(gè)胖子當(dāng)著我的面吹牛祟印,可吹牛的內(nèi)容都是我干的肴沫。 我是一名探鬼主播粟害,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼颤芬!你這毒婦竟也來(lái)了悲幅?” 一聲冷哼從身側(cè)響起套鹅,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎汰具,沒(méi)想到半個(gè)月后卓鹿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡留荔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年吟孙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片聚蝶。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡杰妓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碘勉,到底是詐尸還是另有隱情巷挥,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布验靡,位于F島的核電站倍宾,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏胜嗓。R本人自食惡果不足惜高职,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望兼蕊。 院中可真熱鬧初厚,春花似錦、人聲如沸孙技。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)牵啦。三九已至亚情,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間哈雏,已是汗流浹背楞件。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留裳瘪,地道東北人土浸。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像彭羹,于是被迫代替她去往敵國(guó)和親黄伊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容