任何人都可以向我解释 ApplePay 的工作原理吗?
我浏览了一些博客,但我仍然不清楚付款流程。
问题:
如何添加卡
交易流程如何运作。
InApp ApplePay
只是高级图表
谁是谁:
一些缩写:
PK支付结构:
PKPayment - Apple Payment Payload
token: PKPaymentToken - Apple Payment Token
paymentMethod: PKPaymentMethod
displayName: String
network: PKPaymentNetwork - Payment Network(visa, masterCard, amex...)
type: PKPaymentMethodType - (debit, credit, prepaid...)
paymentPass: PKPaymentPass
paymentData: Data
signature - deatached signature of version == EC_v1(ephemeralPublicKey, data, transactionId, applicationData), version == RSA_v1(wrappedKey, data, transactionId, applicationData) in PKCS7 to verify
data - Encrypted Payment Data(EPD)
applicationPrimaryAccountNumber - DAN
applicationExpirationDate - Card expiration date
currencyCode - Currency Code
transactionAmount - Amount
cardholderName - Cardholder Name
deviceManufacturerIdentifier
paymentDataType - "3DSecure" or "EMV"
paymentData
//paymentDataType == 3D Secure
onlinePaymentCryptogram - SE Cryptogram
eciIndicator
//paymentDataType == EMV
emvData
encryptedPINData
authenticationResponses
merchantIdentifier
authenticationData
transactionAmount
merchantTokenIdentifier - TSP token
merchantTokenMetadata
version - Apple Pay servers encrypted the payment token(data)
EC_v1 - ECC
RSA_v1 - RSA
header
transactionId - Transaction Id
applicationData - SHA–256 hash which was swnd in PKPaymentRequest.applicationData
publicKeyHash - SHA–256 hash of Merchant public key
//version == EC_v1
ephemeralPublicKey - Ephemeral public key bytes
//version == RSA_v1
wrappedKey - Symmetric Key which is decrypted by Merchant public key
billingAddress
billingContact
shippingContact
shippingAddress
shippingMethod
验证签名:
PKPayment.PKPaymentToken.Data.signature
分离 PKCS #7 签名[关于] 具有中间和最终用户链证书[关于]
恢复对称密钥:
//版本 == EC_v1
边苹果:
边商:
商家计算 共享密钥 = 商家私钥和临时公钥
KDF(共享密钥, MerchantId) => 对称密钥
通过对称密钥解密支付数据