/*
* Copyright 2016 The Chromium Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/**
* Builds a payment request with URL based payment methods.
* @return {!PaymentRequest} A payment request with URL based payment methods.
* @private
*/
function buildPaymentRequest() {
return new PaymentRequest(
[
{supportedMethods: 'https://bobpay.test'},
{supportedMethods: 'https://alicepay.test'},
],
{total: {label: 'Total', amount: {currency: 'USD', value: '5.00'}}});
}
/**
* Launches the PaymentRequest UI with Bob Pay as one of multiple payment
* methods. The result or error is both printed and returned as the Java test
* reads it from the page and the C++ browser test reads the return value.
* @return {string} - the response or error string.
*/
async function buy() {
let responseString;
try {
const resp = await buildPaymentRequest().show();
await resp.complete('success');
responseString = resp.methodName + '\n' +
JSON.stringify(resp.details, undefined, 2);
} catch (error) {
responseString = error.toString();
}
print(responseString);
return responseString;
}
/**
* Queries CanMakePayment but does not show the PaymentRequest after. The result
* or error is both printed and returned as the Java test reads it from the page
* and the C++ browser test reads the return value.
* @return {string} - the result or error string.
*/
async function canMakePayment() {
try {
const result = await buildPaymentRequest().canMakePayment();
print(result);
return result.toString();
} catch (error) {
print('exception thrown<br>' + error);
return error.toString();
}
}