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

package info (click to toggle)
wpewebkit 2.38.6-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 311,508 kB
  • sloc: cpp: 2,653,313; javascript: 289,013; ansic: 121,268; xml: 64,149; python: 35,534; ruby: 17,287; perl: 15,877; asm: 11,072; yacc: 2,326; sh: 1,863; lex: 1,319; java: 937; makefile: 146; pascal: 60
file content (32 lines) | stat: -rw-r--r-- 1,278 bytes parent folder | download | duplicates (16)
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>