为欧洲经济区的强客户认证交易做好准备

从 2020 年 12 月 31 日开始,欧盟立法要求对欧洲经济区 (EEA) 内的用户实施强客户认证 (SCA),这可能会影响他们完成在线购买流程。App StoreApple Pay 将支持强客户认证,同时您也需要验证您 app 中的 StoreKit 和 Apple Pay,确保能正确处理购买流程。

新的变化

欧盟支付服务修订法案第二版 (PSD2 (英文)) 要求,某些在线购买须进行强客户认证 (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 文档 (英文)