iOS集成支付宝

1. 申请签约   商家服务

2. 生成公钥与私钥  参考博客       支付宝集成获取私钥与公钥

3.  支付宝的支付流程


iOS集成支付宝_第1张图片

                1. 商户APP客户端根据demo创建Order 对象, 设置相关属性并用私钥签名加密(RSA算法,RSA算法原理,支付宝都给写好了,调用一下) 

                2. 调用一下发送一下行了,详见demo(放一个github网站)


// 需要主要的点 :1.  为了避免商户也使用SBJSON造成的重定义错误,SDK将SBJSON的实现挪移

到了商户程序客户端,因此如果提示未定义请自助添加DEMO中\AlipaySdkDemo\alipay\json目录下SBJSON的实现。

                        2. 添加白名单 http://www.mamicode.com/info-detail-1049462.html


集成

集成  demo中把  AlipaySDK.bundle , AlipaySDK.framework 拉进去导入的库  CoreMotion.framework  CFNetwork.framework  Foundation.frameworkUIKit.framework  CoreGraphics.framework  CoreText.framework  QuartzCore.framework  CoreTelephony.framework  SystemConfiguration.framework

xcode7之后添加这两个  libz.tbd  libc++.tbd

xcode7之前添加这两个  libc++.dylib  libz.dylib

添加白名单

LSApplicationQueriesSchemes    Array 

item0                String  alipay

item1                String  alipayshare

https

App Transport Security Settings    Dictionary    Allow Arbitrary LoadsBoolean    YES常见错误找不到

解决方法如下:

在你的Xcode里的header search paths 里添加支付宝SDK(openssl的路径);格式如下  $(PROJECT_DIR)/文件夹名        (这里说一下,直接点击openssl,然后showinfinder,然后command + i  查看路径,把得到路径的工程名字以后的部分加在文件夹名这OK了)



#warning 结果

/*

在支付过程结束后,会通过callbackBlock同步返回支付结果。

返回结果需要通过resultStatus以及result字段的值来综合判断并确定支付结果。在resultStatus=9000,并且success=“true”以及sign=“xxx”校验通过的情况下,证明支付成功。其它情况归为失败。较低安全级别的场合,也可以只通过检查resultStatus以及success=“true”来判定支付结果。以下为订单支付成功的完成信息示例:

ResultStatus={9000};memo={};result={partner="2088101568358171"&seller_id="[email protected]"&out_trade_no="0819145412-6177"&subject="测试"&body="测试测试"&total_fee="0.01"¬ify_url="http://notify.msp.hk/notify.htm"&service="mobile.securitypay.pay"&payment_type="1"&_input_charset="utf-8"&it_b_pay="30m"&success="true"&sign_type="RSA"&sign="hkFZr+zE9499nuqDNLZEF7W75RFFPsly876QuRSeN8WMaUgcdR00IKy5ZyBJ4eldhoJ/2zghqrD4E2G2mNjs3aE+HCLiBXrPDNdLKCZgSOIqmv46TfPTEqopYfhs+o5fZzXxt34fwdrzN4mX6S13cr3UwmEV4L3Ffir/02RBVtU="}

注意:

支付结果的提取,必须通过CompletionBlock获取,禁止开发者私自解析支付结果返回的URL。获取值的Key对应resultStatus、memo与result(result中的值,开发者可以自行解析);

为了保障已有商户的正常使用,返回参数ResultStatus首字母为大写。在新的SDK中已经用统一的工具类实现了ResultStatus到resultStatus的转换,商户从CompletionBlock中获取resultStatus即可

*/

你可能感兴趣的:(iOS集成支付宝)