iOS-面试之你做过支付没有?

支付宝是第三方支付平台,简单来说就是协调客户,商户,银行三者关系的方便平台

使用支付宝进行一个完整的支付功能,大致有以下步骤:

a与支付宝进行签约,获得商户ID(partner)和账号ID(seller)

b下载相应的公钥私钥文件(加密签名用)

c下载支付宝SDK

d生成订单信息

e调用支付宝客户端,有支付宝客户端跟支付宝安全服务器打交道

f支付完毕后返回支付结果给客户端和服务器

支付功能的实现

有两种方式:

1支付宝的应用可以 用url直接连接到

支付宝的官网 (当然后台是要进行处理的)

2第二种就是添加支付宝的第三方了 首先 下载支付宝的demo

支付宝的demo一般的常见问题解决

1 No architecuturesto compilefor(ONLY_ACTIVE_ARCH =YES, active arch = x86_64,VALID_ARCHS = i386)

出现这样的问题一般是

将64位编译进去就能解决了(这个问题只要你下载的是最新的demo一般很少见了 )

解决方案:

targets

-> Architectures下面的Valid Architectures添加上arm64

2将支付宝的第三方添加到项目中的时候 有时 会出现openssl文件中的.h文件报错

说此文件不能被找到出现这样的问题是 的原因一般是添加的路径 不对

解决方案:

点击项目名称,点击“Build Settings”选项卡,在搜索框中,以关键字“search”搜索,对“Header Search Paths”增加头文件路径:$(SRCRCOT)/项目名称 设置一下路径 一般都能解决。

3  Cannot findinterface declarationfor"NSObject", supercalss of 'Base64'

解决方案打开报错的文件,增加头文件

#import

基本上支付宝中的demo里面的问题一般都会得到解决。然后

看着demo跟实际的项目结合一下就ok了

正式开始支付宝教程:

1将需要的文件,静态库等拖入工程中,这里有:include,libs,Utilities,libcrypto.a,libssl.a文件

2添加 库

Linked

FrameworksandLibraries中 添加

libssl.a

libcrypto.a   SystemConfiguration.framework

AlipaySDK.framework

3如果商户要在某个文件中使用给支付宝的SDK类库,需要增加引用头文件

#import"Order.h"

#import"DataSigner.h"

#import

4后面的基本上都是 按照官方demo写的

接口调用步骤:

1.封装订单模型将商品信息赋予AlixPayOrder的成员变量

Order *order =

[[Order alloc] init];

应用注册scheme,在项目的info.plist定义URL types

NSString *appScheme =@"zhifu";

生成订单描述

NSString *orderSpec =

[order description];

2.签名:获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,只需要遵循RSA签名规范,并将签名字符串base64编码和UrlEncode

idsigner

= CreateRSADataSigner(@“私钥key”);

NSString

*signedString = [signer signString:orderSpec];

传入订单描述

进行 签名

NSString

*signedString = [signer signString:orderSpec];

3.生成订单字符串

NSString *orderString= [NSString stringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",orderSpec,signedString,@"RSA"];

4.调用支付接口

[[AlipaySDK

defaultService] payOrder:orderString fromScheme:appScheme

callback:^(NSDictionary *resultDic) { }];

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

推荐阅读更多精彩内容

  • iOS支付 iOS支付分为两类,第三方支付和应用内支付(内购)。 第三方支付包括:支付宝支付、微信支付、银联支付、...
    请输入账号名阅读 6,187评论 3 22
  • 在我们应用开发中我们经常在自己的项目中使用到支付,下面我们来谈谈iOS这块的支付;iOS支付主要分为两类,第三方支...
    Hither阅读 8,266评论 9 42
  • iOS支付 iOS支付分为两类,第三方支付和应用内支付(内购)。 第三方支付包括:支付宝支付、微信支付、银联支付、...
    sillen阅读 1,361评论 0 1
  • iOS支付 iOS支付分为两类,第三方支付和应用内支付(内购)。 第三方支付包括:支付宝支付、微信支付、银联支付、...
    帅不过oneS阅读 2,871评论 2 8
  • 阳光透过树荫,照在树梢,地下留下依稀可见的树影,空气中弥留着夏天枯燥闷热的气氛,而此时在东阳市朝阳高中高三3班的...
    逝忆幻影阅读 184评论 0 1