您的位置:首页 > 移动开发

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

2014-06-12 11:25 701 查看
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;

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: