IOS关于支付宝的集成与支付
来源:互联网 发布:json传值到controller 编辑:程序博客网 时间:2024/04/29 06:52
以下是阿里云支付集成步骤,如有错误请多指正
1、建立.pch文件 (这个是解决支付宝SDK中很多文件找不到Foundation.h文件问题,同时解决AliSDK.h中AlertViewDelegate协议文件找 不到问题)
导入#import<Foundation/Foundation.h> 解决rsa1.h文件找不到问题
导入#import<UIKit/UIKit.h> 解决AlertViewDelegate Cannot find问题
2、配置.pch文件 build setting -> prefix header ->工程名/文件名.pch
$(EXECUTABLE_NAME)/PrefixHeader.pch
3、导入开发需要的八个文件
AlipaySDK.bundle
AlipaySDK.framework
libcrypto.a
libssl.a
openssl文件夹、
Order.h
Order.m
Util文件夹
4、导入framework
SystemConfiguration.framework
QuartzCode.framework
CoreText.framework
CoreTelephony.framework
Foundation.framework
CreGraphics.framework
UIKit.framework
libz.dylib
5、如果出现错误 (’openssl/ash1.h’ file not found)
解决办法:build setting-> Header Search paths ->
添加$(SRCROOT)/$(EXECUTABLE_NAME)/(如果你是放在根目录下面的就不要继续添加了否则继续添加你自己的创建的文件夹名字作为路径)
如果我们创建了一个文件夹AliPaySDK里面包含了刚才导入的八个文件那么我们的路径为: $(SRCROOT)/$(EXECUTABLE_NAME)/AliPaySDK
6、以下是支付步骤
6.1、target->info->URL Scheme 添加一个scheme:例如 在URL Schmes里面写 testalipay
6.2、创建订单信息及签名
Order *order = [[Orderalloc]init];
order.partner =PartnerID;//合作身份ID
order.seller =SellerID;//支付宝账号
order.tradeNO = 31312312321;//订单ID(由商家自行制定)
order.productName = @"金币";//订单标题(由商家自行制定)
order.productDescription = @"这是一单充值";//订单描述 (由商家自行制定)
order.amount = 1 ;//商品价格 1分钱为单位
order.notifyURL = callback;//支付成功后要回调的地址
order.service =@"mobile.securitypay.pay";
order.paymentType =@"1";
order.inputCharset =@"utf-8";
order.itBPay =@"30m";
//应用注册scheme,
NSString *appScheme =@"testalipay";//我们刚才给的URL schemes
//将商品信息拼接成字符串
NSString *orderSpec = [orderdescription];
//获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,
只需要遵循RSA签名规范,并将签名字符串base64编码和UrlEncode
id<DataSigner> signer =CreateRSADataSigner(PartnerPrivKey);
NSString *signedString = [signersignString:orderSpec];
6.3、发起支付
NSString *orderString =nil;
if (signedString !=nil) {
orderString = [NSStringstringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",orderSpec, signedString,@"RSA"];
[[AlipaySDKdefaultService]payOrder:orderStringfromScheme:appSchemecallback:^(NSDictionary *resultDic) {
//如果没有安装支付宝客户端会回调到这里
NSString *string=[resultDic objectForKey:@"resultStatus"];
if ([stringisEqualToString:@"9000"]) {//表示支付成功
}
}];
}
6.4、AppDelegate方法 如果有安装支付宝客户端 会回到这里
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
__block NSDictionary *dic;
//如果极简SDK不可用,会跳转支付宝钱包进行支付,需要将支付宝钱包的支付结果回传给SDK
if ([url.hostisEqualToString:@"safepay"]) {
[[AlipaySDKdefaultService]processOrderWithPaymentResult:urlstandbyCallback:^(NSDictionary *resultDic) {
dic = resultDic;
}];
}
if ([url.hostisEqualToString:@"platformapi"]){//支付宝钱包快登授权返回authCode
[[AlipaySDKdefaultService]processAuthResult:urlstandbyCallback:^(NSDictionary *resultDic) {
dic = resultDic;
}];
}
//支付成功调用统计
if ([[dicobjectForKey:@"resultStatus"]intValue] ==9000) {
}
}
自己的一点点支付经验 欢迎板砖
0 0
- IOS关于支付宝的集成与支付
- iOS - 关于支付宝的集成
- iOS 集成支付宝支付
- iOS集成支付宝支付
- iOS 集成支付宝支付
- iOS集成支付宝支付
- 集成iOS支付宝支付
- iOS支付宝支付集成
- 支付宝支付与微信支付的集成
- 关于ios 集成支付宝功能的大概
- iOS集成支付宝
- iOS集成支付宝
- iOS集成支付宝
- iOS集成支付宝
- iOS集成支付宝
- iOS支付宝集成
- iOS集成支付宝
- iOS集成支付宝
- 黑马程序员——this
- Java并发编程:深入剖析ThreadLocal
- maltab line函数用法
- Structs+Spring+Hibernate快速入门
- Linux启动oracle
- IOS关于支付宝的集成与支付
- POJ 百炼 保研机试 1003:Hangover
- LeetCode Reverse Integer
- 从老师教了半年oc,到自学了1年多ios的我
- 多态机制原理解析--从内存角度分析
- session_unset()和session_destroy()用法分析
- jQuery 实现多页面换肤
- 黑马程序员——interface
- 回调使用记录