银联支付实现(简述)

Apple Pay 支付的实现方式

银联支付实现(简述)_第1张图片

Apple Pay 支付的实现方式

1-2. 商户生成订单,通过商户 SERVER 端将订单信息发送给银联支付网关;

3-4. 银联支付网关记录订单信息,返回用来标识订单的 TN 号,经由商户 SERVER 返回至给 商户 APP;

5.商户 APP 调用银联 SDK,将 TN 号传递给银联 SDK

6.银联 SDK 向 Apple 公司的 PASSKIT FRAMEWORK 发起支付请求;

7.接口返回加密的支付 Token 信息;

8-9.银联 SDK 将支付 Token 传递给银联支付网关,完成交易认证;

10-12.银联将支付结果返回给商户 APP,商户 SERVER,商户 APP 负责提示用户交易结果。

作者:展菲

链接:https://www.jianshu.com/p/7ea225928726

來源:

著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。



连连支付 支付时序图

当用户授权支付后,Apple Pay 会加密支付信息以防止非授权第三方访问该信息。在设备上,Apple Pay 将支付请求会送至安全模块 (Secure element)处理。安全模块是位于用户设备上的一个专用芯片。它使用 你的商家信息、支付数据以及所使用的银行卡进行计算,生成一个加密支付令牌。随后,安全模块会将该令牌发送至 Apple 的服务器。此服务器会使用你的商家 ID 对应的 证书重新加密支付令牌。最后,服务器将它发送至应用处理。

支付令牌不会被存储于 Apple 的服务器上,服务器只是简单地使用你的证书重新加密你的支付令牌。这样一个支付过程使得无需将商家 ID 对应的证书随着应用一起发布,同时可以保证应用程序可以安全地加密用户的支付信息。

关于 Apple Pay 的安全性的更多内容请参考 《iOS 安全性指南》



银联支付实现(简述)_第2张图片


支付框架将支付请求发送至安全模块。只有安全模块会访问令牌化后的设备相关的支付卡号。

安全模块将特定卡的支付数据和商家信息一起加密(加密后的数据只有 Apple 可以访问),然后将加密后的数据发送至支付框架。支付框架再将这些数据发送至 Apple 的服务器。

Apple 服务器使用商家标识证书将这些支付数据重新加密。这些令牌只能由你以及那些与你共享商户标识证书的人读取。随后服务器生成支付令牌再将其发送至设备。

支付框架调用 paymentAuthorizationViewController:didAuthorizePayment:completion: 方法将令牌发送至你的委托。你在委托方法中再将其发送至你的服务器。

你可能感兴趣的:(银联支付实现(简述))