info.phtml 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. // @codingStandardsIgnoreFile
  7. /**
  8. * @var \Magento\Authorizenet\Block\Transparent\Iframe $block
  9. * @see \Magento\Authorizenet\Block\Transparent\Iframe
  10. */
  11. $code = $block->escapeHtml($block->getMethodCode());
  12. $method = $block->getMethod();
  13. $controller = $block->escapeHtml($block->getRequest()->getControllerName());
  14. $orderUrl = $block->escapeUrl($this->helper('Magento\Authorizenet\Helper\Backend\Data')->getPlaceOrderAdminUrl());
  15. $ccType = $block->getInfoData('cc_type');
  16. $ccExpMonth = $block->getInfoData('cc_exp_month');
  17. $ccExpYear = $block->getInfoData('cc_exp_year');
  18. ?>
  19. <!-- IFRAME for request to our server -->
  20. <iframe id="order-directpost-iframe" allowtransparency="true" frameborder="0" name="iframeSubmitOrder"
  21. style="display:none;width:100%;background-color:transparent"
  22. src="<?= $block->escapeUrl($block->getViewFileUrl('blank.html')) ?>">
  23. </iframe>
  24. <!-- IFRAME for request to Authorize.net -->
  25. <iframe id="directpost-iframe" allowtransparency="true" frameborder="0" name="iframeDirectPost"
  26. style="display:none;width:100%;background-color:transparent"
  27. src="<?= $block->escapeUrl($block->getViewFileUrl('blank.html')) ?>">
  28. </iframe>
  29. <fieldset class="admin__fieldset payment-method" id="payment_form_<?= /* @noEscape */ $code ?>"
  30. style="display:none;">
  31. <div class="admin__field _required">
  32. <label for="<?= /* @noEscape */ $code ?>_cc_type" class="admin__field-label">
  33. <span><?= $block->escapeHtml(__('Credit Card Type')) ?></span>
  34. </label>
  35. <div class="admin__field-control">
  36. <select id="<?= /* @noEscape */ $code ?>_cc_type" name="payment[cc_type]"
  37. class="admin__control-select"
  38. data-validate="{
  39. 'required':true,
  40. 'validate-cc-type-select':'#<?= /* @noEscape */ $code ?>_cc_number'
  41. }">
  42. <option value=""><?= $block->escapeHtml(__('Please Select')) ?></option>
  43. <?php foreach ($block->getCcAvailableTypes() as $typeCode => $typeName): ?>
  44. <option value="<?= $block->escapeHtml($typeCode) ?>"
  45. <?php if ($typeCode == $ccType): ?>selected="selected"<?php endif; ?>>
  46. <?= $block->escapeHtml($typeName) ?>
  47. </option>
  48. <?php endforeach; ?>
  49. </select>
  50. </div>
  51. </div>
  52. <div class="admin__field _required">
  53. <label for="<?= /* @noEscape */ $code ?>_cc_number" class="admin__field-label">
  54. <span><?= $block->escapeHtml(__('Credit Card Number')) ?></span>
  55. </label>
  56. <div class="admin__field-control">
  57. <input type="text" id="<?= /* @noEscape */ $code ?>_cc_number"
  58. name="payment[cc_number]"
  59. data-validate="{
  60. 'required-number':true,
  61. 'validate-cc-number':'#<?= /* @noEscape */ $code ?>_cc_type',
  62. 'validate-cc-type':'#<?= /* @noEscape */ $code ?>_cc_type'
  63. }"
  64. class="admin__control-text"
  65. value="<?= /* @noEscape */ $block->getInfoData('cc_number') ?>"/>
  66. </div>
  67. </div>
  68. <div class="admin__field _required field-date" id="<?= /* @noEscape */ $code ?>_cc_type_exp_div">
  69. <label for="<?= /* @noEscape */ $code ?>_expiration" class="admin__field-label">
  70. <span><?= $block->escapeHtml(__('Expiration Date')) ?></span>
  71. </label>
  72. <div class="admin__field-control">
  73. <select id="<?= /* @noEscape */ $code ?>_expiration"
  74. name="payment[cc_exp_month]"
  75. class="admin__control-select admin__control-select-month"
  76. data-validate="{
  77. 'required':true,
  78. 'validate-cc-exp':'#<?= /* @noEscape */ $code ?>_expiration_yr'
  79. }">
  80. <?php foreach ($block->getCcMonths() as $k => $v): ?>
  81. <option value="<?= $block->escapeHtml($k) ?>"
  82. <?php if ($k == $ccExpMonth): ?>selected="selected"<?php endif; ?>>
  83. <?= $block->escapeHtml($v) ?>
  84. </option>
  85. <?php endforeach; ?>
  86. </select>
  87. <select id="<?= /* @noEscape */ $code ?>_expiration_yr"
  88. name="payment[cc_exp_year]"
  89. class="admin__control-select admin__control-select-year"
  90. data-container="<?= /* @noEscape */ $code ?>-cc-year"
  91. data-validate="{required:true}">
  92. <?php foreach ($block->getCcYears() as $k => $v): ?>
  93. <option value="<?= /* @noEscape */ $k ? $block->escapeHtml($k) : '' ?>"
  94. <?php if ($k == $ccExpYear): ?>selected="selected"<?php endif; ?>>
  95. <?= $block->escapeHtml($v) ?>
  96. </option>
  97. <?php endforeach; ?>
  98. </select>
  99. </div>
  100. </div>
  101. <?php if ($block->hasVerification()): ?>
  102. <div class="admin__field _required field-cvv">
  103. <label class="admin__field-label"
  104. for="<?= /* @noEscape */ $code ?>_cc_cid"
  105. id="<?= /* @noEscape */ $code ?>_cc_type_cvv_div">
  106. <span><?= $block->escapeHtml(__('Card Verification Number')) ?></span>
  107. </label>
  108. <div class="admin__field-control">
  109. <input type="text"
  110. data-container="<?= /* @noEscape */ $code ?>-cc-cvv"
  111. title="<?= $block->escapeHtml(__('Card Verification Number')) ?>"
  112. class="admin__control-text cvv"
  113. id="<?= /* @noEscape */ $code ?>_cc_cid" name="payment[cc_cid]"
  114. value="<?= /* @noEscape */ $block->getInfoData('cc_cid') ?>"
  115. data-validate="{
  116. 'required-number':true,
  117. 'validate-cc-cvn':'#<?= /* @noEscape */ $code ?>_cc_type'
  118. }"
  119. autocomplete="off"/>
  120. </div>
  121. </div>
  122. <?php endif; ?>
  123. </fieldset>
  124. <script>
  125. require([
  126. 'prototype',
  127. 'Magento_Sales/order/create/scripts',
  128. 'Magento_Sales/order/create/form',
  129. 'Magento_Authorizenet/js/direct-post'
  130. ], function(){
  131. /**
  132. * Disable card server validation in admin
  133. */
  134. order.addExcludedPaymentMethod('<?= /* @noEscape */ $code ?>');
  135. directPostModel = new directPost(
  136. '<?= /* @noEscape */ $code ?>',
  137. 'directpost-iframe',
  138. '<?= /* @noEscape */ $controller ?>',
  139. '<?= /* @noEscape */ $orderUrl ?>',
  140. '<?= $block->escapeUrl($method->getCgiUrl()) ?>',
  141. '<?= $block->escapeUrl($block->getUrl('*/*/save', [
  142. '_secure' => $block->getRequest()->isSecure()
  143. ]));?>');
  144. });
  145. </script>