This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
tsg-tsg-diagnose/badssl.com/common/input/web-payment/index.js
2019-12-20 15:48:39 +08:00

76 lines
2.0 KiB
JavaScript

function appendLog(msg) {
console.log(msg);
let logList = document.getElementById('log');
let logEntry = document.createElement('li');
let logText = document.createTextNode(msg);
logEntry.appendChild(logText);
logList.appendChild(logEntry);
}
function clearLog() {
let logList = document.getElementById('log');
while (logList.firstChild) {
logList.removeChild(logList.firstChild);
}
}
function toggleLogVisibility() {
let logList = document.getElementById('log');
let logToggle = document.getElementById('log-toggle');
if (logList.hidden) {
logToggle.innerHTML = 'Hide log';
logList.hidden = false;
} else {
logToggle.innerHTML = 'Show log';
logList.hidden = true;
}
}
/**
* Builds PaymentRequest for credit cards, but does not show any UI yet.
* @return {PaymentRequest} The PaymentRequest object.
*/
function initPaymentRequest() {
const request = new PaymentRequest(
[{
supportedMethods: ['basic-card'],
}],
{
total: {
label: 'Total',
amount: {
currency: 'USD',
value: '1.00',
},
},
});
request.canMakePayment().then(function(result) {
appendLog('canMakePayment returned: ' + result);
}).catch(function(err) {
appendLog('canMakePayment rejected: ' + err.name + ': ' + err.message);
});
request.hasEnrolledInstrument().then(function(result) {
appendLog('hasEnrolledInstrument returned: ' + result);
}).catch(function(err) {
appendLog('hasEnrolledInstrument rejected: ' + err.name + ': ' + err.message);
});
return request;
}
let request = initPaymentRequest();
/** Invokes PaymentRequest for credit cards. */
function handleClick() {
clearLog();
request.show().then(function(instrumentResponse) {
appendLog('show returned: ' + JSON.stringify(instrumentResponse));
request = initPaymentRequest();
return instrumentResponse.complete('success');
})
.catch(function(err) {
appendLog('show rejected: ' + err.name + ': ' + err.message);
request = initPaymentRequest();
});
}