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>
|