- From: Rouslan Solomakhin <notifications@github.com>
- Date: Mon, 05 Dec 2016 14:48:33 -0800
- To: w3c/browser-payment-api <browser-payment-api@noreply.github.com>
- Message-ID: <w3c/browser-payment-api/pull/316/c265003258@github.com>
@mattdevaney: After chatting with @ianbjacobs, we've come up with a solution that should resolve your issue: pre-query `canMakePayment()` on the merchant website before redirecting to your hosted site. As I understand your system currently is to give a merchant a link like this to embed on their website:
````html
<a class="worldpay-button"
href="https://worldpay.com/checkout?cart=item1,1,USD,5.99">Buy</a>
````
In addition to this link, you should provide a javascript snippet that looks like this:
````html
<script src="https://worldpay.com/check-payment-request.js"></script>
````
The contents of the javascript file should check whether PaymentRequest is available and update the `Checkout` links on the site.
````javascript
if (PaymentRequest in window) {
try {
var pr = new PaymentRequest(supportedMethods, shoppingCartContents);
if (pr.canMakePayment) {
pr.canMakePayment()
.then(function(result) {
if (result) {
var buttons = document.getElementsByClassName("worldpay-button");
var i;
for (i = 0; i < buttons.length; i++) {
buttons[i].href += "&use-payment-request=true";
}
}
})
.catch(function(error) {
logError(error);
});
} catch(error) {
logError(error);
}
}
}
````
There're a several ways that you can customize the `supportedMethods` in the `canMakePayment()` method.
1. Custom JS file for each merchant, .e.g., `https://worldpay.com/payment-request/mom-and-pop-shop/can-make-payment.js`.
1. Custom JS file for each combination if payment methods, .e.g, `https://worldpay.com/payment-request/can-make-payment-visa-mastercard-bobpay.js`.
1. Server-side generated JS file from a template based on URL parameters, e.g., `https://worldpay.com/check-payment-request.js?methods=visa,mastercard,bobpay`.
It'd be great to hear what you and other hosted solution organizations (Shopify?) think about this solution.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/browser-payment-api/pull/316#issuecomment-265003258
Received on Monday, 5 December 2016 22:49:47 UTC