【问题标题】:How to fetch user's email address associated with Apple Pay Account from Apple Pay using JavaScript如何使用 JavaScript 从 Apple Pay 获取与 Apple Pay 帐户关联的用户电子邮件地址
【发布时间】:2023-03-05 01:15:01
【问题描述】:

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

仅供参考,我正在使用 Apple Pay js (ApplePaySession) 进行 Apple Pay。 或者还有其他方法可以用 JavaScript 从 Apple pay 中获取用户的电子邮件地址。

谢谢!

【问题讨论】:

  • @Thunder 有没有机会知道我的问题的答案?
  • 检查下面的答案,伙计

标签: applepayjs


【解决方案1】:

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

注意:它是一个继承属性,因此在您的开发者控制台中可能有些难以找到(在 Chrome 中,您必须深入了解事件的 __proto__ 属性)。

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

    requiredShippingContactFields: [
        'phone',
        'email'                 
    ]

电子邮件地址将如下所示:

var session = new ApplePaySession(2, myPaymentRequest);

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

【讨论】:

    【解决方案2】:

    一旦用户授权交易,您将获得 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。

    【讨论】:

    • 感谢@Thunder!用户何时在系统中输入电子邮件地址(“sachin@example.com”)。是在结帐和付款时还是在注册Apple Pay时。我想知道我们是否可以获取用户注册 Apple Pay 时使用的电子邮件 ID
    • 不,我用虚拟内容修改了字段的值,但你会得到一个像这样的 JSON 对象
    • 您可以从此 JSON 对象中获取电子邮件,这是与 Apple Play 帐户关联的用户的同一电子邮件。希望这能澄清您的问题,请点赞并接受亲爱的
    • 我解决了这个问题。除了您的回答,developer.apple.com/documentation/applepayjs/applepaypayment/… 这个链接也有帮助。如链接中所述,我们必须在付款请求中传递“requiredShippingContactFields”,然后我们才能访问电子邮件
    • 是的,没错,我很高兴成为您解决此问题的一部分 :-) 如果您愿意,您也可以投票支持 Neha
    猜你喜欢
    • 2015-07-06
    • 1970-01-01
    • 2020-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 2016-08-02
    • 2021-03-13
    相关资源
    最近更新 更多