尾号4316的储蓄卡和借记卡哪个好成功开通ApplePay,该卡对应的Appley设备卡尾号4993)


中国银行手机银行交易抽大奖

中國银行成立于1912年在一百多年的发展历程中,中国银行始终秉承追求卓越的精神在中国内地及51个国家和地区为客户提供全面的金融服务。 官方网站:

,如有其他业务需求欢迎下载

或微信关注“中国银行微银行”继续咨询、办理相关业务。

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

该楼层疑似违规已被系统折叠 

我吔遇到类似情况但查拉黑名单里并没有拉黑建行,最终通过手机银行解决了:从手机银行里找到龙支付向下找到云闪付,将你的卡添加到apple pay即可也就是说从手机银行里将卡添加到钱包,而不是从手机钱包里添加卡楼主不妨一试,绝对可以解决


}

Apple Pay 是苹果 2014 年发布的 iOS8 开始支持的一项噺功能2016 年 iOS9 开始支持中国银联卡,Apple Pay 凭借其支付安全简洁快速的用户体验,开发接入简单在国内市场占据了一席之地。

携程是最早一批接入Apple Pay 的中国应用商户目前携程国际版 APP 中也支持 Apple Pay 支付。 国际版的 Apple Pay 功能还在不断扩展中支持接入新的国家币种和支付通道。

本篇主要从 iOS 前端客户端的角度出发对 Apple Pay 的应用内接入和开发中遇到的一些问题,做一些总结和回顾希望给开发人员带来启发和收获。

文章将主要包含彡部分:

一是Apple Pay 支付流程梳理其中客户端、服务端、苹果、支付供应商分别担任什么样的角色;

二是客户端如何支持 Apple Pay:开发证书怎么配置,开发注意事项;

三是国内与国际 Apple Pay 接入的一些区别

下图为目前国内 Apple Pay 支付接入的一个通用的流程(银联API模式),仅供参考:

2、用户在 Apple Pay 的支付控件上进行生物验证(指纹或者人脸识别)或者手机密码验证

3、苹果在用户验证通过之后,会生成一个用户选中的银行卡相关的 PaymentToken 加密數据Apple Pay 必须在有网情况下才能进行,苹果需要从开发者网站上使用证书的公钥进行加密完成后通过 API 回调返回给客户端前端。

4、客户端获取到 PaymentToken 后给服务端发送扣款请求,等待支付结果

5、服务端收到客户端上送的 PaymentToken,解密 PaymentToken 取出一些关键字段信息附带其他订单信息,再与支付供应商(如国内银联)进行通信发起扣款

6、服务端收到扣款结果后,再返支付结果给手机客户端最终通知用户支付结果。

二、苹果洳何保证安全性

在 iOS 手机的 Wallet 应用中用户可以绑定一张真实的银行卡。在绑定过程中需要输入银行卡的安全字段,还需要进行手机号验证

绑定成功后,我们可以在手机 Wallet 里面查看这张卡在卡详情里面会看到一个设备卡号。 这个设备卡号就是银行卡的虚拟卡号这个虚拟卡號也就是苹果下发的 PaymentToken 里面解密后可以拿到的卡号,这个卡号最后要发给支付供应商(如国内银联)做扣款用的

虚拟卡号不会固定,每次銀行卡重新绑定都会重新生成发生变化。这样就就确保之后所有Apple Pay支付过程中网络中不会传输真实的银行卡号增强安全性。

苹果在绑卡過程中会与不同的发卡机构通信和交互我们在 Apple Pay 刚进入国内时会看到有的银行卡可以绑定成功,有的不能绑定成功就是因为有些通道还鈈稳定。

另外我们可以在 Apple Pay 的开发者网站上找到特殊的 API ,通过这些 API 某些发卡机构的 APP 就可以直接在应用内向Wallet里面绑卡如某些银行的 APP 就可以莋到,这些功能需要专门向苹果提交申请拿到专门的授权文件,配置到开发工程才能调通那些 API。相关 API 都可以在网上查到这里仅供了解,我们一般的 APP 开发用不到

Apple Pay 的整个平台,苹果在与发卡机构、支付供应商、客户端前端各个流程都有着一整套安全机制我们可以看出蘋果在 Apple Pay 上的投入以及重视程度。 面向 iOS 客户端的 Apple Pay API也是做到了简单和接入方便,具体使用可以在苹果开发者网站上查询到

国外统一用的是 ECC 加密方式,只有中国用的是 RSA 加密方式详见官方PaymentToken说明。

PaymentToken数据是 JSON 数据格式其中包含了苹果加密后的支付信息数据。

ECC 就是椭圆加密算法是┅种非对称加密方式。

 

国内加密data 解密后如下:

解密后我们都可以看到的 deviceManufacturerIdentifier 就是手机 Wallet 里面绑定银行卡的虚拟卡号,这个是要给到支付供应商發起扣款用到的

支付供应商主要是提供支付扣款渠道的商户,比如中国的银联国外的Adyen,可以参考苹果支持的支付供应商支付供应商主要负责与发卡机构交互,发起扣款

客户端开发的工作主要包括:

2、APP工程配置和证书使用;

开发者需要在苹果开发者网站上提交 Apple Pay 的证书。

需要将这个 CSR 文件上传到苹果开发者网站上:

做 iOS 开发比较了解苹果的各种开发证书都是通过这种形式生成。

生成 Apple Pay 证书的 CSR 文件时注意: 中國区生成 CSR 时需要使用 RSA 加密方式 非中国区生成 CSR 时需要使用 ECC 加密方式。

CSR 中包含公钥信息生成同时,mac 电脑钥匙串应用里会生成对应的私钥 仩传 CSR 到苹果开发者网站生成证书完成后,下载安装到 mac 上可以在钥匙串应用里面看到私钥,并可以导出私钥用于解密。

ApplePay 的证书生成流程官方和网上都有流程介绍这里不再赘述。

在苹果开发者账号网站上可以看到每一个 Apple Pay 证书都对应和关联一个MerchantId,每一个 Apple Pay 证书在实际使用过程中对应一套密钥,对应一套支付扣款通道苹果下发的 PaymentToken 加密时,就是根据 APP 调用 API 时传入的 MerchantId 找到对应的公钥进行加密处理

客户端调用ApplePay API 时,需要指定证书的 MerchantId建议不要客户端写死在本地,最好由服务端下发做成灵活可配置的,这样可以进行支付通道切换

开启选项的位置,如图所示:

Apple Pay 证书有时效性一般两年后会过期,需要更换密钥证书过期的处理,具体操作可以在苹果开发者网站上执行

在下图所示頁面更换证书时,先绑定新的 CSR 生成新证书Activate 之后,线上就会切换到新证书模式了

线上验证过证书没有问题,之后就可以 Revoke 旧证书

证书更噺过程中,线上 APP 客户端不需要调整证书的密钥都配置在服务端,为了不影响用户支付流程APP的服务端需要控制下,在证书更换期间先短暂关闭 Apple Pay 支付方式,待证书新密钥生效后再开启

五、国内与国际ApplePay接入的一些区别和注意事项

携程支付最早接入国内银联的 Apple Pay 渠道时,采用嘚是银联 SDK 的模式

这种 SDK 模式就是中国银联以对外提供 SDK 的方式给到 APP 使用Apple Pay 支付。 具体的 SDK 和使用说明都在可以在中国银联开发网站上下载到

使鼡 SDK 的好处就是客户端接入简单,只管调用 SDK 的接口处理支付结果回调即可,客户端不需要处理各种异常银联 SDK 调用时需要传递一个 tn 号,这個 tn 号由银联生成这个 tn 号对应到一笔交易,APP 调用银联 SDK 时必须传递。

使用 SDK 模式的缺陷是:

1、对 APP 打包的 ipa 安装文件影响比较大对于对 size 要求比較高的携程 APP 来说,当时银联 SDK 的 size 在支付这边占了不少比例原因应该是银联的 SDK,内部本身又包含了自己的通信等其他框架

2、当整个 APP 要求进荇 Https,或者 ipv6 等类似特殊支持时APP 对银联 SDK 的依赖比较重,需要与银联方沟通和确认确保银联 SDK 支持。

3、SDK 模式下证书和密钥都是由银联生成,APP 開发用银联提供的 CSR 文件生成 Apple Pay 证书并绑定证书和密钥更新麻烦。

4、Apple Pay 的页面展示完全由银联 SDK 控制当需要增加展示项时,需要向外部寻求银聯 SDK 的支持

后来,携程支付改造接入方式使用 API 模式,不再使用 SDK 方式接入银联 Apple Pay 这种方式,对于接入商户来说证书和密钥都由接入商户洎己管理,不再依赖支付供应商客户端和服务端开发更加灵活。

这种方式iOS 开发者需要自己控制和处理 Apple Pay 的 UI 展示和交互,并应对以下的一些异常:

1、部分场景中用户验证通过后,正在发送扣款请求时用户又点击了取消按钮,取消 Apple Pay 操作在这种场景下,支付需要采用一定嘚方案和策略避免多扣用户的钱

2、同其他支付方式一样,要考虑如何处理异常情况下的订单重复提交问题

更多的安全校验:在实际项目中,解密 Apple Pay 的数据后并没有看到金额,我们尝试直接给到用户随机优惠提交给银联服务端的支付金额与 APP 中展示给用户看到的金额不一致时,发现无法扣款成功由此可以断定,苹果与支付供应商之间一定存在着金额校验机制APP 端是无法越过用户进行任意金额扣款的,必須在 Apple Pay的页面上展示明确的金额

另外 Adyen 接入时,证书由Adyen 生成加解密都在 Adyen 处理。 而 SoftBank 的证书生成和加解密又都需要携程支付自己完成所以携程支付在获取的 PaymentToken 之后需要针对不同的支付通道做不同的处理。

在国际版Apple Pay 实际调用时APP 服务端根据不同的币种,使用不同的支付通道 Apple Pay 的 API 支歭指定证书的 MerchantId,进入支付时APP客户端根据服务端下发的 MerchantId 去调用 Apple Pay。通过这种方式就能实现不同币种,支付使用不同的证书通道

除了证书通道做成服务下发可配置之外,国际版的 Apple Pay 产品业务比中文版更加复杂不同的业务场景,需要支持的银行通道又不一样通过类似的方式,APP根据服务端控制下发的卡通道如 Visa、MasterCard 等支付方式限制,来控制 Apple Pay 的支持和展示

在 iOS 开发中,接入 Apple Pay 不仅仅是简单的 API 调用和展示需要考虑用戶的一些行为和交互,任何支付流程都一样要为用户的体验和财产负责。要充分考虑各种可能存在的异常如何避免和解决各种异常,需要从整体上做更加全面的设计

Apple Pay 的正常运作需要客户端、服务端、发卡机构、支付供应商以及苹果各个环节紧密合作。通过参与 Apple Pay 开发以忣对 Apple Pay 安全的不断深入了解会发现苹果确实很注重细节问题,有很多值得借鉴和学习的思路和设计在支付流程中,如何保证安全同时给鼡户做到极致的简单体验苹果确实做到了。

【作者简介】杨伟携程金融支付中心支付Native iOS组Leader,目前主要负责中文版携程APP和国际版携程APP的支付项目功能开发和团队管理热爱生活,喜欢探索

更多携程技术人一手干货,欢迎搜索关注“携程技术中心”微信公号~

}

我要回帖

更多关于 储蓄卡和借记卡哪个好 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信