移动开发支付宝

实现支付宝支付的所需
1. 填写个人/公司的信息,与支付宝签约,签约完成, 支付宝会提供一些数据给我们(商户ID - partner id seller id, 收款人账号 - 支付宝账号) 注: 签约时 公司需提供营业执照 个人需提供有效身份证件
2. 获取支付相关 私钥 和 密钥 用来加密 实现数据安全
3. 下载支付SDK,拖进工程

下载SDK的地址  https://b.alipay.com/newIndex.htm
1. 找到 移动支付 按钮 点击进入 2 如图

2. 点击 技术集成 对应切换到 3 如图

3. 点击 请点此下载集成开发包
4. 下载完成 后 产生一个 WS_MOBILE_PAY_SDK_BASE的ZIP压缩包
5. 解压完成, 进入文件目录 找到对应的 支付宝钱包支付接口开发包2.0标准版 目录
6. 找到对应的 Demo 目录
7. 打开对应目录 找到Demo文件 并打开工程
8. 集成SDK到你的工程中时, 需将下图中对应的文件拖入你的工程

9. 如下图依次倒入系统框架 到 Linked Frameworks and Libraries
 

10. 创建预编译文件 .pch
注: Xcode 6以后 将pch文件取消, 因此需手动添加 添加步骤如图
最后一步 需双击Prefix Header  并输入 $(SRCROOT)/支付宝SDK/AlipaySDK-Prefix.pch

11. 将支付宝官方Demo的pch文件中的代码 复制到 自己生成的pch文件中

12. 有些文件找寻不到需给其路径, 因此需在Header Search Paths 中添加搜索路径


13. Command + B 编译通过


14. 核心代码

NSString *partner = @" partner 商户 ID:支付宝给申请支付集成人的身份 " ;
NSString *seller = @" seller 账号 ID:商户的支付宝帐号 ";
NSString *privateKey = @“私钥" ;
/*
 * 生成订单信息及签名
 */  
// 将商品信息赋予 AlixPayOrder 的成员变量
Order *order = [[ Order alloc ] init ];  
order. partner = partner;
order.seller = seller;
order. tradeNO = [ self generateTradeNO ]; // 订单 ID (由商家自行制定)
order.productName = product.subject; // 商品标题
order. productDescription = product. body ; // 商品描述
order.amount = [NSString stringWithFormat:@"%.2f",product.price]; // 商品价格  
order. notifyURL @"http://www.xxx.com" ; // 服务器回调的url
order.service = @"mobile.securitypay.pay";
order. paymentType = @"1" ;
order. inputCharset = @"utf-8" ;
order. itBPay = @"30m" ;
order. showUrl = @"m.alipay.com" ;
// 应用注册 scheme, AlixPayDemo-Info.plist 定义 URL types
// appScheme 应用的加调地址: 支付完成,跳回原应用时使用
NSString *appScheme = @"alisdkdemo" ; 
// 将商品信息拼接成字符串
NSString *orderSpec = [order description ];
NSLog(@"orderSpec = %@",orderSpec);
// 获取私钥并将商户信息签名 , 外部商户可以根据情况存放私钥和签名 , 只需要遵循 RSA 签名规范 , 并将签名字符串 base64 编码和 UrlEncode
id < DataSigner > signer = CreateRSADataSigner (privateKey);
//防止字符串被修改
NSString *signedString = [signer signString:orderSpec];
// 将签名成功字符串格式化为订单字符串 , 请严格按照该格式
NSString *orderString = nil ;
if (signedString != nil) {
orderString = [ NSString stringWithFormat : @"%@&sign=\"%@\"&sign_type=\"%@\"" ,
                       orderSpec, signedString, @"RSA"];
       [[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
            NSLog ( @"reslut = %@" ,resultDic);
        }];
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值