Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Unified Diff: third_party/WebKit/LayoutTests/external/wpt/payment-request/payment-request-response-id.html

Issue 2770193003: Implement request id in PaymentDetailsInit (Closed)
Patch Set: Rebase once more since mojom file moved Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/external/wpt/payment-request/payment-request-response-id.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-request/payment-request-response-id.html b/third_party/WebKit/LayoutTests/external/wpt/payment-request/payment-request-response-id.html
new file mode 100644
index 0000000000000000000000000000000000000000..3fd6bd1c4daac7fc9eff63189803cbd837350be2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/payment-request/payment-request-response-id.html
@@ -0,0 +1,140 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>PaymentRequest identifier manual test</title>
+</head>
+<body>
+ <div id="contents">
+ <h1>PaymentRequest identifier manual test</h1>
+ <p>Perform the following steps:</p>
+ <ul>
+ <li>Press 'Buy'</li>
+ <li>In the payment dialog make sure a payment app is selected</li>
+ <li>In the payment dialog press 'Pay'</li>
+ <li>In the launched payment app perform steps to do the payment</li>
+ <li>The response will be processed and below should display 'my_payment_id'</li>
+ </ul>
+ <p>No payment will be processed.</p>
+ <p>Price: USD <strong>$55.00</strong></p>
+ <p><button onclick="onBuyClicked()">Buy</button></p>
+ </div>
+ <pre id="msg"></pre>
+ <script>
+ /**
+ * Initializes the payment request object.
+ * @return {PaymentRequest} The payment request object.
+ */
+ function buildPaymentRequest() {
+ if (!window.PaymentRequest) {
+ return null;
+ }
+
+ const supportedInstruments = [{
+ supportedMethods: ['https://android.com/pay'],
+ data: {
+ merchantName: 'Rouslan Solomakhin',
+ merchantId: '00184145120947117657',
+ allowedCardNetworks: ['AMEX', 'MASTERCARD', 'VISA', 'DISCOVER'],
+ paymentMethodTokenizationParameters: {
+ tokenizationType: 'GATEWAY_TOKEN',
+ parameters: {
+ 'gateway': 'stripe',
+ 'stripe:publishableKey': 'pk_live_lNk21zqKM2BENZENh3rzCUgo',
+ 'stripe:version': '2016-07-06',
+ },
+ },
+ },
+ }, {
+ supportedMethods: ['basic-card'],
+ data: {
+ supportedNetworks: ['unionpay', 'visa', 'mastercard', 'amex', 'discover',
+ 'diners', 'jcb', 'mir',
+ ],
+ supportedTypes: ['prepaid', 'debit', 'credit'],
+ },
+ }];
+
+ const details = {
+ id: 'my_payment_id',
+ total: {
+ label: 'Donation',
+ amount: {
+ currency: 'USD',
+ value: '55.00',
+ },
+ },
+ displayItems: [{
+ label: 'Original donation amount',
+ amount: {
+ currency: 'USD',
+ value: '65.00',
+ },
+ }, {
+ label: 'Friends and family discount',
+ amount: {
+ currency: 'USD',
+ value: '-10.00',
+ },
+ }],
+ };
+
+ let request = null;
+
+ try {
+ request = new PaymentRequest(supportedInstruments, details);
+ if (request.canMakePayment) {
+ request.canMakePayment().then(function(result) {
+ console.log(result ? 'Can make payment' : 'Cannot make payment');
+ }).catch(function(err) {
+ console.log(err);
+ });
+ }
+ } catch (e) {
+ console.log('Developer mistake: \'' + e + '\'');
+ }
+
+ return request;
+ }
+
+ let request = buildPaymentRequest();
+
+ /**
+ * Launches payment request that does not require shipping.
+ */
+ function onBuyClicked() { // eslint-disable-line no-unused-vars
+ if (!window.PaymentRequest || !request) {
+ console.log('PaymentRequest API is not supported.');
+ return;
+ }
+
+ try {
+ request.show()
+ .then(function(instrumentResponse) {
+ window.setTimeout(function() {
+ instrumentResponse.complete('success')
+ .then(function() {
+ let element = document.createElement('pre');
+ element.innerHTML = instrumentResponse.requestId;
+ document.getElementById('msg').appendChild(element);
+ })
+ .catch(function(err) {
+ console.log(err);
+ request = buildPaymentRequest();
+ });
+ }, 2000);
+ })
+ .catch(function(err) {
+ console.log(err);
+ request = buildPaymentRequest();
+ });
+ } catch (e) {
+ console.log('Developer mistake: \'' + e + '\'');
+ request = buildPaymentRequest();
+ }
+ }
+ </script>
+</body>
+</html>
+

Powered by Google App Engine
This is Rietveld 408576698