I'm trying to use Visa Checkout on a Facebook Messenger Webview (it's just an iframe with some Messenger APIs enabled). The key thing to note here is "iframe."
I have an example page that integrates with Visa Checkout with no issues when opened independently, but fails in an iframe.
The error message that I get is: Error creating payment request DOMException: Failed to construct 'PaymentRequest': Must be in a top-level browsing context or an iframe needs to specify 'allowpaymentrequest' explicitly
I can't control how Facebook Messenger generates the Webview. I am hoping there is a way to tell Visa Checkout to fall back to using something other than W3C's "PaymentRequest".
Thanks for posting to the community forum! The issue does not appear to be caused by the VCO not functioning appropriately, but it appears to be an issue with IFrames, itself. This is not something that we can comment on directly, however, there are several pages regarding the development for Facebook applications, and messenger applications that discuss the issue and a way around the security limitations. You can find information about this issue if you do a Google search, and specifically looking for sites that specifically relate to the development for Facebook.
Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.