iOS移动应用开发-支付逻辑总结:支付宝和微信 ,Step1

1.从账号和开放平台开始的旅程

当然,支付逻辑接入的最重要的也是必须的一步,就是去各个开发平台上申请开发账号了,笔者一开始被微信和支付宝各种账号搞得头很大,所以决定先从这里入手分析一下.

支付宝:

登录支付宝,首先需要的是一个支付宝账号,这个支付宝可以是个人账户也可以是公司账户,个人账户相信每个人都会有,但是支付需要各种业务的申请的大部分逻辑都是需要公司账户才可以(笔者估计、未亲自验证)。所以建议使用公司的资料去申请一个支付宝商家账号,以方便将来各种业务的开启,申请所需要的公司材料在注册界面就会有提示,这里不再赘述。

1.支付宝开放平台http://open.alipay.com/platform/home.htm
这个通往支付宝开发的第一步,接入支付宝的各种技术文档都得从这里查阅,作为一个iOS开发者,最重要的也是阅读最多的当然是‘支付宝移动支付’的文档了 ~阅读文档请戳这里,你需要仔细的阅读文档并且下载一个Demo查看一下源代码。

2.支付宝商家账户https://b.alipay.com/newIndex.htm
这是获取支付宝支付能力的最总要的一个网站,你必须在该网站签约了各种产品之后才能获取开发能力,查看接入指南请猛戳

  • 签约产品中的坑
    1.在申请签约即时到账产品的时候必填资料中会有一个申请网址,只要保证该网址可以访问,是一个电商平台就可以,笔者发现的坑有:请不要填写任何知名电商网站的网店链接填写的网址中不要有烟草类商品,笔者就是出现了上述的错误,导致申请被驳回;
    2.申请签约移动支付产品的时候,申请网址不是必填的;
    3.申请签约产品的时候,官方提示为五到七个工作日,但是一般来说3个工作日内就会通过,所以申请签约之后耐心等待吧。

签约完成之后,就是获取到PID和秘钥了。在上述的接入指南中的‘PID和秘钥管理’已经描述的很清晰,这里我在说明一下我开发中遇到的坑

    1. 关于PKCS8编码的问题,在接入指南关于RSA公私钥生成中会有这句话
      1.png

      生成的私钥文件.pem打开时候是这个样子的
      2.png

      但是如果你在Demo中将上述私钥(注意拷贝进Demo时不要带着“-----BEGIN RSA PRIVATE KEY-----”、“-----END RSA PRIVATE KEY-----”以及私钥中不能带有换行符以及空格)赋值给NSString *privateKey,你会发现支付是不能成功的。因为在iOSDemo中的RSADataSigner类中有如下方法
      - (NSString )formatPrivateKey:(NSString )privateKey {
      const char pstr = [privateKey UTF8String];
      int len = (int)[privateKey length];
      NSMutableString result = [NSMutableString string];
      [result appendString:@"-----BEGIN PRIVATE KEY-----\n"];
      int index = 0;
      int count = 0;
      while (index < len) {
      char ch = pstr[index];
      if (ch == '\r' || ch == '\n') {
      ++index;
      continue;
      }
      [result appendFormat:@"%c", ch];
      if (++count == 79)
      {
      [result appendString:@"\n"];
      count = 0;
      }
      index++;
      }
      [result appendString:@"\n-----END PRIVATE KEY-----"];
      return result;
      }
      这个方法是将privateKey装换为图2中pem文件中秘钥的格式,而[result appendString:@"-----BEGIN PRIVATE KEY-----\n"];[result appendString:@"\n-----END PRIVATE KEY-----"];这两句代码标志着PKCS8编码之后的私钥的开始和结束,所以结论就是
      在Demo中使用的私钥是需要对需要对私钥文件进行PKCS8编码的
微信:

1.微信开放平台https://open.weixin.qq.com
当然第一步是先阅读微信开发文档,里边对微信接入的各种逻辑都已比较详细的解释;
对比与支付宝,接入微信是一个比较痛苦的过程。首先你要在微信开放平台中认证开发者资质,因为没有开发者资质除了看开发文档是无法做任何事情的。认证开发者资质需要RMB300大洋,只支持微信支付,而且需要准备注册材料,什么业务资料啊,运营者信息啊等等一大堆,然后你就要开始漫长的等待(微信宣称是五到七个工作日,但实际上需要一到三个工作日,微信将这个审核业务外包给了其他公司,如果你分配到了一个不太靠谱的公司,可能需要三个工作日或更多)。终于认证通过并验证通过,兴冲冲的去创建了一个应用,结果你发现,你的应用并没有获得微信支付的能力,需要申请开通微信支付能力,,,,申请微信支付能力也需要很多资料并且验证,最后你会收到验证邮件并在微信开放平台的应用下看到

3.png

点击查看详情

4.png

点击验证之后就进入了下面这个个网站

2.微信支付商户平台https://pay.weixin.qq.com/index.php/account
这个平台主要是处理查询订单,退款,充值提现等等操作,各种敏感操作都是需要安装安全证书之后才可以进行操作;里边的具体功能这里不再赘述

其实笔者看完微信与支付宝的开发文档之后其实是一脸懵逼的,因为在没有接触过支付之前,对开发文档中的各种新名词毫无反应,什么叫签名?为什么这么多参数都是干嘛用的?notify和return有什么区别?别着急,接下来就是分析支付宝和微信的Demo了。

下一篇小弟准备分析一下支付宝和微信支付demo中的代码,今天先到这里

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,064评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,606评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,011评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,550评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,465评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,919评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,428评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,075评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,208评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,185评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,191评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,914评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,482评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,585评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,825评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,194评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,703评论 2 339

推荐阅读更多精彩内容

  • 最近因为项目需要,需要接入移动支付,下面就根据我们项目集成支付的过程做一个简单总结,包括集成支付宝和微信的大...
    雪上踏痕阅读 4,978评论 4 15
  • 目录 准备工作 微信登录和支付 支付宝登录和支付 对比 准备工作 微信 注册微信开放平台,成为开发者(开发) 注册...
    蓝灰_q阅读 28,087评论 9 56
  • 自己总结的微信支付宝支付流程和注意点: 准备工作: 需要公司的营业执照,税务信息,等老板的身份证信息等,我记得,用...
    Www刘阅读 18,541评论 2 50
  • 准备工作: 需要公司的营业执照,税务信息,等老板的身份证信息等,我记得,用这些材料,去支付宝注册一个商家账户(审核...
    Hevin_Chen阅读 6,789评论 0 9
  • 前言 其实支付很简单,下载官方的SDK,根据里面的开发者文档和Demo,配置支付,不会可以问客服。(毕竟掏钱了嘛)...
    煎饼果子郑能量阅读 1,722评论 0 6