form.phtml 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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\Form $block */
  8. $code = $block->escapeHtml($block->getMethodCode());
  9. $ccType = $block->getInfoData('cc_type');
  10. $ccExpYear = $block->getInfoData('cc_exp_year');
  11. $ccExpMonth = $block->getInfoData('cc_exp_month');
  12. ?>
  13. <!-- IFRAME for request to Payment Gateway -->
  14. <iframe id="<?= /* @noEscape */ $code ?>-transparent-iframe"
  15. data-container="<?= /* @noEscape */ $code ?>-transparent-iframe"
  16. allowtransparency="true"
  17. frameborder="0"
  18. name="iframeTransparent"
  19. style="display: none; width: 100%; background-color: transparent;"
  20. src="<?= $block->escapeUrl($block->getViewFileUrl('blank.html')) ?>"></iframe>
  21. <fieldset
  22. id="payment_form_<?= /* @noEscape */ $code ?>"
  23. class="admin__fieldset"
  24. data-mage-init='{
  25. "transparent":{
  26. "controller":"<?= $block->escapeHtml($block->getRequest()->getControllerName()) ?>",
  27. "gateway":"<?= /* @noEscape */ $code ?>",
  28. "dateDelim":"<?= $block->escapeHtml($block->getDateDelim()) ?>",
  29. "cardFieldsMap":<?= $block->escapeHtml($block->getCardFieldsMap()) ?>,
  30. "orderSaveUrl":"<?= $block->escapeUrl($block->getOrderUrl()) ?>",
  31. "cgiUrl":"<?= $block->escapeUrl($block->getCgiUrl()) ?>",
  32. "expireYearLength":"<?= $block->escapeHtml($block->getMethodConfigData('cc_year_length')) ?>",
  33. "nativeAction":"<?= $block->escapeUrl($block->getUrl('*/*/save', ['_secure' => $block->getRequest()->isSecure()])) ?>"
  34. }, "validation":[]}'
  35. style="display: none;">
  36. <div class="admin__field _required">
  37. <label for="<?= /* @noEscape */ $code ?>_cc_type" class="admin__field-label">
  38. <span><?= $block->escapeHtml(__('Credit Card Type')) ?></span>
  39. </label>
  40. <div class="admin__field-control">
  41. <select id="<?= /* @noEscape */ $code ?>_cc_type"
  42. data-container="<?= /* @noEscape */ $code ?>-cc-type"
  43. name="payment[cc_type]"
  44. data-validate='{required:true, "validate-cc-type-select":"#<?= /* @noEscape */ $code ?>_cc_number"}'
  45. class="admin__control-select">
  46. <option value=""><?= $block->escapeHtml(__('Please Select')) ?></option>
  47. <?php foreach ($block->getCcAvailableTypes() as $typeCode => $typeName): ?>
  48. <option
  49. value="<?= $block->escapeHtml($typeCode) ?>"<?php if ($typeCode == $ccType): ?> selected="selected"<?php endif ?>>
  50. <?= $block->escapeHtml($typeName) ?>
  51. </option>
  52. <?php endforeach ?>
  53. </select>
  54. </div>
  55. </div>
  56. <div class="admin__field _required field-number">
  57. <label for="<?= /* @noEscape */ $code ?>_cc_number" class="admin__field-label">
  58. <span><?= $block->escapeHtml(__('Credit Card Number')) ?></span>
  59. </label>
  60. <div class="admin__field-control">
  61. <input type="text" id="<?= /* @noEscape */ $code ?>_cc_number"
  62. data-container="<?= /* @noEscape */ $code ?>-cc-number"
  63. name="payment[cc_number]" title="<?= $block->escapeHtml(__('Credit Card Number')) ?>"
  64. class="admin__control-text"
  65. value=""
  66. data-validate='{
  67. "required-number":true,
  68. "validate-cc-number":"#<?= /* @noEscape */ $code ?>_cc_type",
  69. "validate-cc-type":"#<?= /* @noEscape */ $code ?>_cc_type"
  70. }'
  71. autocomplete="off"/>
  72. </div>
  73. </div>
  74. <div class="admin__field _required field-date" id="<?= /* @noEscape */ $code ?>_cc_type_exp_div">
  75. <label for="<?= /* @noEscape */ $code ?>_expiration" class="admin__field-label">
  76. <span><?= $block->escapeHtml(__('Expiration Date')) ?></span>
  77. </label>
  78. <div class="admin__field-control">
  79. <select id="<?= /* @noEscape */ $code ?>_expiration" name="payment[cc_exp_month]"
  80. data-container="<?= /* @noEscape */ $code ?>-cc-month"
  81. class="admin__control-select admin__control-select-month"
  82. data-validate='{required:true, "validate-cc-exp":"#<?= /* @noEscape */ $code ?>_expiration_yr"}'>
  83. <?php foreach ($block->getCcMonths() as $k => $v): ?>
  84. <option
  85. value="<?= /* @noEscape */ $k ? $block->escapeHtml($k) : '' ?>"
  86. <?php if ($k == $ccExpMonth): ?> selected="selected"<?php endif; ?>>
  87. <?= $block->escapeHtml($v) ?>
  88. </option>
  89. <?php endforeach ?>
  90. </select>
  91. <select id="<?= /* @noEscape */ $code ?>_expiration_yr" name="payment[cc_exp_year]"
  92. class="admin__control-select admin__control-select-year"
  93. data-container="<?= /* @noEscape */ $code ?>-cc-year" data-validate='{required:true}'>
  94. <?php foreach ($block->getCcYears() as $k => $v): ?>
  95. <option
  96. value="<?= /* @noEscape */ $k ? $block->escapeHtml($k) : '' ?>"
  97. <?php if ($k == $ccExpYear): ?> selected="selected"<?php endif ?>>
  98. <?= $block->escapeHtml($v) ?>
  99. </option>
  100. <?php endforeach ?>
  101. </select>
  102. </div>
  103. </div>
  104. <?php if ($block->hasVerification()): ?>
  105. <div class="admin__field _required field-cvv" id="<?= /* @noEscape */ $code ?>_cc_type_cvv_div">
  106. <label for="<?= /* @noEscape */ $code ?>_cc_cid" class="admin__field-label">
  107. <span><?= $block->escapeHtml(__('Card Verification Number')) ?></span>
  108. </label>
  109. <div class="admin__field-control">
  110. <input type="text" title="<?= $block->escapeHtml(__('Card Verification Number')) ?>"
  111. data-container="<?= /* @noEscape */ $code ?>-cc-cvv"
  112. class="admin__control-text cvv"
  113. id="<?= /* @noEscape */ $code ?>_cc_cid" name="payment[cc_cid]"
  114. value=""
  115. data-validate='{"required-number":true, "validate-cc-cvn":"#<?= /* @noEscape */ $code ?>_cc_type"}'
  116. autocomplete="off"/>
  117. </div>
  118. </div>
  119. <?php endif; ?>
  120. <?= $block->getChildHtml() ?>
  121. </fieldset>
  122. <script>
  123. /**
  124. * Disable card server validation in admin
  125. */
  126. require(["Magento_Sales/order/create/form"], function () {
  127. order.addExcludedPaymentMethod('<?= /* @noEscape */ $code ?>');
  128. });
  129. </script>