File: apple-pay-availability-existing-object.html

package info (click to toggle)
webkit2gtk 2.42.2-1~deb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 362,432 kB
  • sloc: cpp: 2,881,947; javascript: 282,447; ansic: 134,088; python: 43,789; ruby: 18,308; perl: 15,872; asm: 14,389; xml: 4,395; yacc: 2,350; sh: 2,074; java: 1,734; lex: 1,323; makefile: 296; pascal: 60
file content (32 lines) | stat: -rw-r--r-- 1,278 bytes parent folder | download | duplicates (13)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html>
<body>
<script src="apple-pay.js"></script>
<script>
    const eventListener = async () => {
        const applePaySessionAvailable = !!window.ApplePaySession;
        const paymentRequestAvailable = !!window.PaymentRequest;
        if (!applePaySessionAvailable || !paymentRequestAvailable) {
            window.webkit.messageHandlers.testApplePay.postMessage({ applePaySessionAvailable, paymentRequestAvailable });
            return;
        }

        const supportsVersion = ApplePaySession.supportsVersion(1);
        const canMakePayments = ApplePaySession.canMakePayments();
        const canMakePaymentsWithActiveCard = await ApplePaySession.canMakePaymentsWithActiveCard('');

        window.wkPaymentRequest ??= new PaymentRequest([applePayMethod()], applePayDetails);
        const canMakePayment = await wkPaymentRequest.canMakePayment();

        window.webkit.messageHandlers.testApplePay.postMessage({
            applePaySessionAvailable,
            paymentRequestAvailable,
            supportsVersion,
            canMakePayments,
            canMakePaymentsWithActiveCard,
            canMakePayment,
        });
    };

    window.addEventListener('hashchange', eventListener);
    window.addEventListener('load', eventListener);
</script>