This payment handler is for "basic-card". The code is correct except for one bug: the icon in the web app manifest cannot be downloaded. This causes Chrome to identify this payment handler only by its name and origin. Chrome will print a warning message in developer tools console at the time of install.
Checking whether the payment handler is installed...
View the source code: