Apple Pay对接Stripe时基于账单地址计算税费的问题咨询
流程合理性说明
你当前设计的流程不可行。Apple Pay本身未提供账单地址更新时的回调接口,账单地址属于用户敏感支付信息,仅在用户完成生物特征授权(Face ID/Touch ID)、支付确认后才会返回给商户,你无法在支付授权前提取该信息计算税费。
正确实现方案
根据你的业务规则可以选择两种处理方式:
- 若税费按收货地址核算(绝大多数电商场景的通用规则):直接使用现有的收货地址更新回调即可
func applePayContext(_ context: STPApplePayContext, didSelectShippingContact contact: PKContact, handler: @escaping (PKPaymentRequestShippingContactUpdate) -> Void) {}
在该回调内拿到收货地址后计算对应税费,构造新的paymentSummaryItems通过handler返回即可更新Apple Pay面板上的应付金额。
- 若业务强制要求按账单地址核算税费:将税费计算步骤前置到唤起
PKPaymentAuthorizationController之前完成- 用户点击Apple Pay按钮后,先不唤起Apple Pay支付面板
- 弹出自定义页让用户选择/填写账单地址,计算对应税费
- 构造包含最终税费的
paymentSummaryItems,再唤起Apple Pay支付面板完成后续流程
注意:该方案下可在支付完成后,将Apple Pay返回的账单地址和用户前置填写的地址做一致性校验,避免欺诈风险。
内容的提问来源于stack exchange,提问作者wootage
相关产品推荐
相关产品推荐

