IOS-支付宝

IOS-支付宝

 
一、使用支付宝进行一个完整的支付功能,大致有以下步骤:
与支付宝签约,获得商户ID(partner)和账号ID(seller)
下载相应的公钥私钥文件(加密签名用)
下载支付宝SDK
生成订单信息
调用支付宝客户端,由支付宝客户端跟支付宝安全服务器打交道
支付完毕后返回支付结果给商户客户端和服务器
 
注意:我们主要负责下单,和处理支付结果
 
 
二、调用接口步骤

1.封装订单模型

AlixPayOrder *order = [[AlixPayOrder alloc] init];

// 生成订单描述

NSString *orderSpec = [order description];

 

2.签名

id<DataSigner> signer = CreateRSADataSigner(@“私钥key”);

// 传入订单描述 进行 签名

NSString *signedString = [signer signString:orderSpec];

 

3.生成订单字符串

NSString *orderString = [NSString stringWithFormat:@”%@&sign=\”%@\”&sign_type=\”%@\””,

                         orderSpec, signedString, @”RSA”];

 

4.调用支付接口

AlixPay * alixpay = [AlixPay shared];

// appScheme:商户自己的协议头

int ret = [alixpay pay:orderString applicationScheme:appScheme];

 
 
代码:
 1 - (IBAction)buy {
 2     // 1.生成订单信息
 3     AlixPayOrder *order = [[AlixPayOrder alloc] init];
 4     order.partner = PartnerID; // 商户ID
 5     order.seller = SellerID; // 帐号ID
 6     
 7     order.tradeNO = @"2014082717183778587475"; // 订单ID(由商家自行制定)
 8     order.productName = self.deal.title; // 商品标题
 9     order.productDescription = self.deal.desc; // 商品描述
10     order.amount = [NSString stringWithFormat:@"%.2f", [self.deal.current_price floatValue]]; //商品价格
11     order.notifyURL =  @"http%3A%2F%2Fwwww.xxx.com"; // 回调URL
12     
13     // 2.签名加密
14     id<DataSigner> signer = CreateRSADataSigner(PartnerPrivKey);
15     NSString *signedString = [signer signString:[order description]];
16     
17     // 3.利用订单信息、签名信息、签名类型生成一个订单字符串
18     NSString *orderString = [NSString stringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",
19                              [order description], signedString, @"RSA"];
20     
21     // 4.打开支付宝,传递订单信息
22     [AlixLibService payOrder:orderString AndScheme:@"heituan" seletor:@selector(paymentResultDelegate:) target:self];
23 }

 

 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109098.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月13日 下午4:00
下一篇 2021年9月13日 下午4:00


相关推荐

  • intelj 2021 激活码(注册激活)[通俗易懂]

    (intelj 2021 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWN…

    2022年3月21日
    57
  • Yourphp  使用说明

    Yourphp  使用说明

    2021年10月9日
    51
  • 本地部署的N8n工作流引用怎么发布?

    本地部署的N8n工作流引用怎么发布?

    2026年3月15日
    2
  • Altium Designer2018下载安装及基本使用[通俗易懂]

    Altium Designer2018下载安装及基本使用[通俗易懂]一、AltiumDesigner2018下载下载链接:https://pan.baidu.com/s/1gVJre-0tW_T2_oRqclYWAQ提取码:fnr9安装步骤请点我!2、用AD画基本的电路图1.首先新建一个PCB工程。如下所示:2.新建一个原理图如下所示:3.导入基本的元件库4.查找所需元件(这里以查找电阻为例)以下给出了一些常用元件的查找字母(…

    2022年7月13日
    44
  • Nginx面试题总结

    Nginx面试题总结为什么要用 Nginx 为什么 Nginx 性能这么高 Nginx 怎么处理请求的 什么是正向代理和反向代理

    2026年3月16日
    1
  • 解决大流量网站访问量问题

    解决大流量网站访问量问题当一个网站发展为知名网站的时候 如新浪 腾讯 网易 雅虎 网站的访问量通常都会非常大 如果使用虚拟主机的话 网站就会因为访问量过大而引起服务器性能问题 这是很多人的烦恼 有人使用取消 RSS 等错误的方法来解决问题 显然是下错药 那么对于大流量的网站 需要采用什么样的方法来解决访问量问题 解决方法参考如下 首先 确认服务器硬件是否足够支持当前的流量 普通的 P4 服务器一般最多

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号