iOS支付宝支付

前言

  • 申请支付功能及公钥密钥
  • 运行apliSDKDemo(官方提供)
  • 在自己的demo上完成支付

准备

  • 默认你已在支付宝开发平台注册移动app
  • 默认你已开通移动支付功能(不需要保护费,这比tx好)
  • 记录下你的PID:partner_id
  • 记录下你的APPID:app_id
  • 生成RSA公钥及私钥
  • 上传RSA公钥

运行demo

  • 下载alipayDemo
  • demo需要填写三个参数,partnerID、seller(公司的支付宝账号)、privateKey.
  • 在填写privateKey时遇到了坑,google了两种解决方法:
  • 第一
    1)在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-----"];
  • 第二
    将RSA私钥转换成PKCS8格式,命令执行 openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

coding

  • 添加依赖库
iOS支付宝支付_第1张图片
来自支付宝官方文档.png
  • 添加AlipaySDK.framework、libcrypto.a、libssl.a以及官方demo的openssl、Utill文件夹
  • 理论上这样就可以了,但是测试时错误不断,一下一条一条的解决
    Cannot find interface declaration for 'NSObject', superclass of 'Base64'
    这个错误是缺少头文件,建议添加.pch,并添加
    #import
    #import
  • 点击项目名称,点击“Info”选项卡,在“URL Types”选项中,点击“+”,在“URL Schemes”中输入“alisdkdemo”。“alisdkdemo”来自于文件“APViewController.m”的NSString *appScheme = @“alisdkdemo”;。
    注意:这里的URL Schemes中输入的alisdkdemo,为测试demo。
    实际商户的app中要填写独立的scheme,建议跟商户的app有一定
    的标示度,要做到和其他的商户app不重复,否则可能会导致支付
    宝返回的结果无法正确跳回商户app。
    ------等待更新----------------------------------

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