apple pay支付退款applepay虚拟卡号查询怎么填?

苹果手机还原所有设置了,applepay里的卡沒了,怎么找到... 苹果手机还原所有设置了,apple pay里的卡没了,怎么找到

· TA获得超过5.1万个赞

找不到了 Applepay付款方式会还原掉 要重新添加银行卡的

你对这个回答的评价是

看看你的bai联卡是否在支持的银行du之内zhi如果在支持范围Apple Pay无法dao加银联卡

这不是手机的问题而是Apple Pay目前仅支持美國,并未在中国实行预计明年初为实施开放。不过如果将地区改为美国,绑定银行卡后再改回中国就可以成功添加了!
1.先请在主屏上點击打开“设置”应用
2.在设置列表中找到“通用”一栏,点进进入
3.在通用列表找到“语言与地区”一栏,点击进入
4.在语言与地区列表裏,点击“地区”一栏
5.在地区列表里选择美国即可

你对这个回答的评价是?

没法找回只能重新添加

你对这个回答的评价是?


还原当然沒了那干嘛叫还原出厂设置啊,再添加一下就可以了苹果的系统是封闭,安全性要比安卓好很多

你对这个回答的评价是

你对这个回答的评价是?

下载百度知道APP抢鲜体验

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

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

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 里面查看这张卡,在卡详情里面会看到一个设备applepay虚拟卡号查询这个设备applepay虚拟卡号查询就是银行卡的虛拟applepay虚拟卡号查询。这个虚拟applepay虚拟卡号查询也就是苹果下发的 PaymentToken 里面解密后可以拿到的applepay虚拟卡号查询这个applepay虚拟卡号查询最后要发给支付供應商(如国内银联)做扣款用的。

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

苹果在绑卡过程中会与不同的发卡机构通信和交互,我们在 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 里面绑定银行卡的虚拟applepay虚拟卡号查询这个是要给到支付供应商发起扣款用到的。

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

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

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

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

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

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

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

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

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

4.2 工程配置和证书使用

在苹果开发者账号网站上可以看到,每一个 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 安全的不断深入了解,会發现苹果确实很注重细节问题有很多值得借鉴和学习的思路和设计。在支付流程中如何保证安全同时给用户做到极致的简单体验,苹果确实做到了

我要回帖

更多关于 applepay虚拟卡号查询 的文章

 

随机推荐