强客户认证交易

从 2022 年 3 月 14 日开始,英国金融行为监管局 (FCA) 将要求英国用户进行强客户认证 (SCA),这可能会影响这些用户完成在线购物的方式。相关要求从 2020 年 12 月 31 日开始,已针对欧洲经济区 (EEA) 的用户实施。App StoreApple Pay 皆支持 SCA,但同时你亦需要验证你 App 中的 StoreKit 和 Apple Pay,确保能正确处理购买流程。

新的变化

英国和欧盟的法规要求对某些在线购物进行 SCA,以防止欺诈。当在网站、App 或 App Store 中通过信用卡或借记卡发起某些交易时,必须由银行或付款服务提供商进行身份验证,然后才能完成交易。

使用 StoreKit 处理交易

对于需要进行 SCA 的 App 内购买项目,系统会提示用户验证其信用卡或借记卡。用户将从购买流程中退出,进入银行或付款服务提供商的网站或 App 进行身份验证,然后重定向到 App Store,此时他们会看到一条信息,告知其购买已完成。这一中断交易的处理方式,类似于需要家庭组织者进行批准的“购买前询问”购买,或需要用户先同意更新的 App Store 条款和条件才能完成的购买。

为确保你的 App 正确处理中断的交易,你可以初始化交易观察器来响应新的交易,并将待处理的交易同步至 Apple。该观察器将帮助 App 处理 SCA 交易,在用户退出 App 时将付款队列更新为“失败”或“延迟”状态。当用户完成身份验证后被重定向到 App Store 时,会有一个状态为“已购买”的新交易立即传送到观察器,同时还可能包含一个新的 transactionIdentifier 属性值。你可以在沙盒中针对特定的沙盒 Apple ID 测试中断购买的情况。

资源

使用 Apple Pay 处理交易

Apple Pay 包含内建身份验证,不需要银行进行额外的身份验证。但是,为避免在 App 和网站上使用 Apple Pay 付款时出现问题,请确保在付款请求中使用正确的国家或地区代码,并在付款单上显示最终金额。

PKPaymentRequest (适用于 App) 和 ApplePayPaymentRequest (适用于网站) 上的 countryCode 值应设置为处理资金所在国家或地区的正确二位字母代码。当商家的 countryCode 和用户的发卡机构都位于 EEA 之内时,正确设置该值可确保密码符合 PSD2 的要求。

在付款单上显示最终金额,而不是待处理金额。这有助于在形成动态链接时将交易金额和商家标识符都包含在密码中,用以证明交易的来源和真实性。

查看 Apple Pay 文档