wallet-core/articles/ui/figs/taler-contract.js
2016-03-21 16:41:40 +01:00

36 lines
1.5 KiB
JavaScript

/* Trigger Taler contract generation on the server, and pass the
contract to the extension once we got it. */
function taler_pay(form) {
var contract_request = new XMLHttpRequest();
/* Note that the URL we give here is simply an example
and not dictated by the protocol: each web shop can
have its own way of generating and transmitting the
contract, there just must be a way to get the contract
and to pass it to the wallet when the user selects 'Pay'. */
contract_request.open("GET", "generate-taler-contract", true);
contract_request.onload = function (e) {
if (contract_request.readyState == 4) {
if (contract_request.status == 200) {
/* Send contract to the extension. */
handle_contract(contract_request.responseText);
} else {
/* There was an error obtaining the contract from the merchant,
obviously this should not happen. To keep it simple, we just
alert the user to the error. */
alert("Failure to download contract " +
"(" + contract_request.status + "):\n" +
contract_request.responseText);
}
}
};
contract_request.onerror = function (e) {
/* There was an error obtaining the contract from the merchant,
obviously this should not happen. To keep it simple, we just
alert the user to the error. */
alert("Failure requesting the contract:\n" +
contract_request.statusText);
};
contract_request.send();
}