iframe.phtml 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. // @codingStandardsIgnoreFile
  7. /** @var \Magento\Payment\Block\Transparent\Iframe $block */
  8. $params = $block->getParams();
  9. ?>
  10. <html>
  11. <head>
  12. <script>
  13. <?php if (isset($params['redirect'])): ?>
  14. window.location="<?= $block->escapeUrl($params['redirect']) ?>";
  15. <?php elseif (isset($params['redirect_parent'])): ?>
  16. var require = window.top.require;
  17. require(
  18. [
  19. 'jquery'
  20. ],
  21. function($) {
  22. var parent = window.top;
  23. $(parent).trigger('clearTimeout');
  24. parent.location="<?= $block->escapeUrl($params['redirect_parent']) ?>";
  25. }
  26. );
  27. <?php elseif (isset($params['error_msg'])): ?>
  28. var require = window.top.require;
  29. require(
  30. [
  31. 'jquery',
  32. 'Magento_Ui/js/model/messageList',
  33. 'mage/translate',
  34. 'Magento_Checkout/js/model/full-screen-loader'
  35. ],
  36. function($, globalMessageList, $t, fullScreenLoader) {
  37. var parent = window.top;
  38. $(parent).trigger('clearTimeout');
  39. fullScreenLoader.stopLoader();
  40. globalMessageList.addErrorMessage({
  41. message: $t(<?= /* @escapeNotVerified */ json_encode($params['error_msg'])?>)
  42. });
  43. }
  44. );
  45. <?php elseif (isset($params['multishipping'])): ?>
  46. var require = window.top.require;
  47. require(
  48. [
  49. 'jquery'
  50. ],
  51. function($) {
  52. var parent = window.top;
  53. $(parent).trigger('clearTimeout');
  54. $(parent.document).find('#multishipping-billing-form').submit();
  55. }
  56. );
  57. <?php elseif (isset($params['order_success'])): ?>
  58. window.top.location = "<?= $block->escapeUrl($params['order_success']) ?>";
  59. <?php else: ?>
  60. var require = window.top.require;
  61. require(
  62. [
  63. 'jquery',
  64. 'Magento_Checkout/js/model/quote',
  65. 'Magento_Checkout/js/action/place-order',
  66. 'Magento_Checkout/js/action/redirect-on-success',
  67. 'Magento_Checkout/js/model/full-screen-loader'
  68. ],
  69. function($, quote, placeOrderAction, redirectOnSuccessAction, fullScreenLoader) {
  70. var parent = window.top;
  71. $(parent).trigger('clearTimeout');
  72. $.when(
  73. placeOrderAction({'method': quote.paymentMethod().method})
  74. ).done(
  75. function () {
  76. redirectOnSuccessAction.execute();
  77. }
  78. ).fail(
  79. function () {
  80. var parent = window.top;
  81. $(parent).trigger('clearTimeout');
  82. fullScreenLoader.stopLoader();
  83. }
  84. );
  85. }
  86. );
  87. <?php endif; ?>
  88. </script>
  89. </head>
  90. <body></body>
  91. </html>