如何使用 JavaScript 从 Apple Pay 获取与 Apple Pay 帐户关联的用户电子邮件地址

How to fetch user's email address associated with Apple Pay Account from Apple Pay using JavaScript

我想知道 Apple 是否有 API 我们可以用它来获取与 Apple Pay 帐户关联的用户电子邮件地址。

仅供参考,我正在使用 apple pay js (ApplePaySession) 进行 apple pay。 或者还有另一种方法可以从 JavaScript.

中的 Apple pay 获取用户的电子邮件地址

谢谢!

一旦用户授权交易,您将获得 shippingContact 对象,如下所示:-

{
"locality": “India",
"country": "India",
"postalCode": "95014-2083",
"administrativeArea": "CA",
"emailAddress": “sachin@example.com”,
"familyName": “Tendulkar",
"addressLines": [
"1 Infinite Loop"
],
"givenName": “Sachin",
"countryCode": "INDIA",
"phoneNumber": "(408) 555-5555"
}

您可以从此对象访问电子邮件 ID。

电子邮件地址在您的 ApplePaySession 的 onpaymentauthorized 回调中提供。

注意:它是一个继承的属性,所以在你的开发者控制台中可能有点难以找到(在Chrome你有深入了解事件的 __proto__ 属性).

您必须通过在付款请求中包含 requiredShippingContactFields 属性 来明确要求提供电子邮件地址:

    requiredShippingContactFields: [
        'phone',
        'email'                 
    ]

并且电子邮件地址将像这样可用:

var session = new ApplePaySession(2, myPaymentRequest);

session.onpaymentauthorized = function(event){
    console.log(event.payment.shippingContact.shippingAddress);
};