iOS app集成支付宝支付流程

1: 开通支付宝商户

由公司去支付宝 https://b.alipay.com/order/serviceIndex.htm 签约支付宝开通支付宝商家;

2:商户支付宝开通无线支付功能

开通商户支付宝之后,虽然可以获取到应用使用的 key和id,如果如果不开通无线支付功能的话,会在app集成的时间

提示商户未开通无线支付功能的错误;

开通商户支付宝-无线支付功能,请在商户支付宝后台,按要求提供审核材料开通;

3:在商户支付宝后台下载SDK

在商户支付宝后台,即可不同版本的SDK及文档,下载查阅使用;

4:在商户支付宝后台获取 PID,和 安全校验码 key

在商户后台,需要输入支付密码才可以看到;

5:如上图,填写自己后台生成的 公钥

按照支付宝文档后台生成支付使用的公钥,私钥

把公钥别忘记在这里上传;

注意:公钥,不能包含空格,换行,以及 生成之后开头的 ---public---这一行信息

把上面的去掉的之后:合适的公钥填在这里显示只有一行,即可;

6:查阅支付宝iOS app 集成的文档,demo

完成 iOS app的集成;

二:关于iOS 支付宝支付的订单处理

1:app自己签名订单信息

按demo要求,先配置支付宝的配置文件

填写pid,key,收款支付宝号(和上面开通支付商户的一致),公钥,私钥

注意:这里面的私钥:

这个私钥是后台在生成私钥之后,再一次的转换,生成的 PKCS8格式的私钥;

PKCS8私钥同样把 --priva---这一行删除,然后把所有空格,换行都去掉,然后复制-粘贴在这里;

然后,按照Demo上的订单生成及处理,签名就行了;

2: 关于 订单签名处理在后台服务器进行的操作

思路是:app发起支付请求---先请求服务器返回---返回支付宝调用所需要的完整签名订单----调用支付宝支付;

这种方式也是支付宝推荐的方式,所有签名加密处理都在后台服务器,前台app只负责拿这个订单和支付宝交互就行了;

            NSString *orderString = [[dataDic objectForKey:@"ReturnData"] objectForKey:@"sign_str"];

            NSString *appScheme = @"AliTEST_SC";
[AlixLibService payOrder:orderString AndScheme:appScheme seletor:@selector(paymentResult:) target:self];

关于 后台处理签名加密订单的 php 后台处理流程简介

/**
后台处理流程
//0. 参数,干净参数
$prestr = "order=123213&name=some"; //1, 加密
$sign = rsaSign($prestr,$alipay_config['private_key_path'] );
//2. 编码 加密字符串
$sign = urlencode($sign);
//echo $sign; //3. 转义form元素
$prestr = addslashes($prestr); //4. 拼接
$return_str = $prestr.'&sign=\"'.$sign.'\"&sign_type=\"RSA\"';
//$return_str = addslashes($prestr); return $return_str; */

最新文章

  1. BaseAdapter的抽取
  2. linux中的内存申请函数的区别 kmalloc, vmalloc
  3. Maven项目自动生成mybaties配置文件
  4. How to increase TX Power Signal Strength of WiFi
  5. Zabbix利用msmtp+mutt发送邮件报警(公告:这文章有问题,还没有修改,2016-08-25)
  6. [ZOJ 1002] Fire Net (简单地图搜索)
  7. 一个序列是否可能是push序列的pop序列
  8. 百度手机号码归属地查询api与返回json处理
  9. Java应用中使用ShutdownHook友好地清理现场(转)
  10. 标签(Tag)的各种设计方案
  11. windows phone8.1:Xml,Json序列化和反序列化
  12. FlashDevelop调试Air出错
  13. JSP userBean setProperty直接从request中获取参数
  14. this和super关键字在构造器中放置第一行的原因
  15. squid http,https, 代理,默认端口3128
  16. 物理服务器Linux下软RAID和UUID方式挂载方法--Megacli64
  17. L265 - 5 questions to ask yourself before you ask for a raise or promotion
  18. centos7之iptables与firewalld
  19. Sublime Text 3 配置Python3.x
  20. SpringBoot进阶用法-随笔

热门文章

  1. Codeforces Round #297 (Div. 2)E. Anya and Cubes 折半搜索
  2. 指针式压力表自动读数:Auto Read the Value of Manometer
  3. Go语言Web框架gwk介绍 (五)
  4. weblogic安装使用: Could not Create the Java Virtual Machine
  5. what is a process?
  6. waitdialogform z
  7. interlliJ idea 不识别文件类型的解决方式
  8. Ganglia开源集群监视项目
  9. Glusterfs初试
  10. Informatica 常用组件Lookup之五 转换属性