首页 > 代码库 > iOS app集成支付宝支付流程及后台php订单签名处理

iOS app集成支付宝支付流程及后台php订单签名处理

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;
 
 */