淘先锋技术网

首页 1 2 3 4 5 6 7
    1. 首先需要支付宝商家服务平台上进行我们的产品签约,并通过审核,然后根据步骤得到PID key等信息
    2. 在项目中集成支付宝SDK
    3. 商户客户端:构造订单数据并签名,然后向 《支付SDK客户端》发送请求数据
    4. 支付SDK客户端:构造业务数据并发送给《支付SDK服务端》
    5. 支付SDK服务端:完成支付并返回《支付SDK客户端》支付结果,然后异步发送支付通知给《商户服务端》,《商户服务端》给《支付SDK服务端》发送响应数据
    6. 支付SDK客户端:同步并返回《商户客户端》支付结果
    7. 商户客户端:对响应的数据进行处理
    8. 支付的时候主要用到的方法是
      • -(void)payOrder:(NSString *)orderStr fromScheme:(NSString *)schemeStr callback:(CompletionBlock)completionBlock;
      • 这个方法的作用就是请求支付并通过回调返回结果,在用的时候我们需要传入orderStr等参数,而orferStr需要我们自己去拼接成文档中要求的格式,我们可以直接复制demo中的这部分即可
  1. 在桌面上创建一个空文件夹,把用到的文件全部拷贝到里面
    • FC643E63-29FE-4EC7-81AD-140B9B3D4FC4
  2. 在这里,我们可以使用demo中的Order,这样我们能很方便的创建订单(需要的时候可以写一个Order的子类)
  3. 一定不要忘了libcrypto.a和libssl.a这两个.a文件
  4. 接下来找到TARGETS—>build Settings—>Search Paths—>Header Search Parhs下:把我们刚才拖到项目中的文件夹选中,然后show in Finder把文件拖到Header Search Paths中,然后编译看看是否有错误,不过可能会遇到这个错误,这个错误是Header Search Path是设置的错误,按照上述方法重新设置
    • 7B830A93-5DC5-452E-B3CB-F1A936C81679
  5. 创建我们自己的订单,我们可以看到,deno中我们发送请求的时候,有很多参数需要我们设置
    • C9069045-0DA7-4811-BE79-7CAD2401AFF8
  6. 其中有三个参数需要我们先设置:partner、seller、privateKey。这三个参数分别代表了PID(16位数字)、收款方的PID、和合作伙伴密钥RSA加密后的密钥(生成密钥的方法可以参考:http://www.itgcq.com.cn/?p=67)当我们设置好这些参数,就剩下order的参数了,即订单信息。然后我们运行的时候发现控制台打印了以下信息

    7BE981F8-92D2-4E60-BB83-8E2BCAA847CB


    这个问题是设置的密钥的格式的问题,通过以下方法可以解决
      • 在RSADataSigner.m文件中 搜索代码 [result appendString:@”—–BEGIN PRIVATE KEY—–\n”]; 将其改成 [result appendString:@”—–BEGIN RSA PRIVATE KEY—–\n”];2. 在RSADataSigner.m文件中 搜索代码 [result appendString:@”\n—–END PRIVATE KEY—–“]; 将其改成 [result appendString:@”\n—–END RSA PRIVATE KEY—–“];
    到此,我们基本上把官方demo集成到我们的项目当中了,剩下的要做的是就是我们这边生成订单的基本信息,比如价格等,还有一个参数:order.notifyURL这个参数是服务器异步通知页面路径,这个需要我们服务器给我们,当我们这边发送请求支付信息之后,支付宝服务器会返回支付结果到客户端,同时也会返回支付信息到我们的服务端,这时候通过这个路径,我们的服务端就可以记录我们前端的请求信息。完成了这些步骤,基本的集成也就结束了,我们就能正常的发送支付请求并且支付成功了!