Apple Pay编程指南(5) - 处理付款结果

文章目录

Apple Pay 系列文章是苹果官方文档的中文翻译,这将是最详尽最规范的说明。
原文链接:
苹果开发文档

Apple Pay编程指南(1) - 简介
Apple Pay编程指南(2) - 环境配置
Apple Pay编程指南(3) - 创建支付请求
Apple Pay编程指南(4) - 支付授权
Apple Pay编程指南(5) - 处理付款结果
Apple Pay编程指南(6) -沙盒测试

处理付款结果分为以下几个步骤:

  1. 将支付信息连同处理订单所需的其他信息发送到服务器
  2. 验证支付数据的散列和签名
  3. 解密加密的支付数据
  4. 向支付处理网络提交支付数据
  5. 提交订单到您的订单跟踪系统

您有两个处理支付的选项:您可以利用支付平台来处理支付,或者您可以自己实现支付处理。支付处理平台通常处理上面列出的大部分步骤。

读取、验证和处理支付信息需要理解密码学的几个领域,比如计算SHA-1散列、读取和验证PKCS #7签名以及执行椭圆曲线diffee - hellman**交换。如果您没有密码学背景,可以考虑使用为您执行这些操作的支付平台。有关支持Apple Pay的支付平台的信息,请参见https://developer.apple.com/apple-pay/

用于处理支付的信息具有嵌套的数据结构,如图5-1所示。支付token是PKPaymentToken类的一个实例。它的paymentData属性的值是一个JSON字典,其中有一个头,其中包含用于验证的信息和加密的支付数据。加密数据包括金额、持卡人姓名等用于特定支付处理协议的信息。

图5-1
Apple Pay编程指南(5) - 处理付款结果

数据结构的具体说明请参考:
Payment Token Format Reference

示例:
LGApplePayDemo