137 lines
4.5 KiB
PHP
137 lines
4.5 KiB
PHP
<?php
|
||
/**
|
||
* 支付说明模板
|
||
*/
|
||
|
||
if (!defined('ABSPATH')) {
|
||
exit;
|
||
}
|
||
?>
|
||
|
||
<div class="m2pool-eth-payment-instructions">
|
||
<h3><?php echo esc_html__('ETH 支付说明', 'm2pool-eth-payment'); ?></h3>
|
||
|
||
<div class="payment-info">
|
||
<p><strong><?php echo esc_html__('请向以下地址支付:', 'm2pool-eth-payment'); ?></strong></p>
|
||
<div class="payment-address">
|
||
<code id="payment-address-code"><?php echo esc_html($payment_address); ?></code>
|
||
<button type="button" class="button copy-address" data-address="<?php echo esc_attr($payment_address); ?>">
|
||
<?php echo esc_html__('复制地址', 'm2pool-eth-payment'); ?>
|
||
</button>
|
||
</div>
|
||
|
||
<p><strong><?php echo esc_html__('支付金额:', 'm2pool-eth-payment'); ?></strong></p>
|
||
<p class="payment-amount"><?php echo esc_html($payment_amount); ?> <?php echo esc_html($payment_symbol); ?></p>
|
||
|
||
<div class="payment-status" id="payment-status">
|
||
<p><?php echo esc_html__('等待支付中...', 'm2pool-eth-payment'); ?></p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="payment-notes">
|
||
<p><strong><?php echo esc_html__('注意事项:', 'm2pool-eth-payment'); ?></strong></p>
|
||
<ul>
|
||
<li><?php echo esc_html__('请确保支付金额准确', 'm2pool-eth-payment'); ?></li>
|
||
<li><?php echo esc_html__('支付完成后,系统会自动确认(通常需要几分钟)', 'm2pool-eth-payment'); ?></li>
|
||
<li><?php echo esc_html__('请勿向此地址发送其他代币', 'm2pool-eth-payment'); ?></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<script type="text/javascript">
|
||
jQuery(document).ready(function($) {
|
||
// 复制地址功能
|
||
$('.copy-address').on('click', function() {
|
||
var address = $(this).data('address');
|
||
var $temp = $('<input>');
|
||
$('body').append($temp);
|
||
$temp.val(address).select();
|
||
document.execCommand('copy');
|
||
$temp.remove();
|
||
|
||
$(this).text('<?php echo esc_js(__('已复制', 'm2pool-eth-payment')); ?>');
|
||
setTimeout(function() {
|
||
$('.copy-address').text('<?php echo esc_js(__('复制地址', 'm2pool-eth-payment')); ?>');
|
||
}, 2000);
|
||
});
|
||
|
||
// 定期检查支付状态
|
||
var orderId = <?php echo esc_js($order_id); ?>;
|
||
var checkInterval = setInterval(function() {
|
||
$.ajax({
|
||
url: '<?php echo esc_url(admin_url('admin-ajax.php')); ?>',
|
||
type: 'POST',
|
||
data: {
|
||
action: 'm2pool_check_payment',
|
||
order_id: orderId,
|
||
nonce: '<?php echo esc_js(wp_create_nonce('m2pool_eth_check')); ?>'
|
||
},
|
||
success: function(response) {
|
||
if (response.success && response.data.status === 'completed') {
|
||
clearInterval(checkInterval);
|
||
$('#payment-status').html('<p style="color: green;"><?php echo esc_js(__('支付成功!页面将自动刷新...', 'm2pool-eth-payment')); ?></p>');
|
||
setTimeout(function() {
|
||
location.reload();
|
||
}, 2000);
|
||
} else if (response.success && response.data.status === 'processing') {
|
||
$('#payment-status').html('<p style="color: orange;"><?php echo esc_js(__('支付确认中...', 'm2pool-eth-payment')); ?></p>');
|
||
} else if (response.success && response.data.status === 'failed') {
|
||
clearInterval(checkInterval);
|
||
$('#payment-status').html('<p style="color: red;"><?php echo esc_js(__('支付失败', 'm2pool-eth-payment')); ?></p>');
|
||
}
|
||
}
|
||
});
|
||
}, 10000); // 每10秒检查一次
|
||
|
||
// 30秒后停止检查(避免无限检查)
|
||
setTimeout(function() {
|
||
clearInterval(checkInterval);
|
||
}, 300000); // 5分钟
|
||
});
|
||
</script>
|
||
|
||
<style>
|
||
.m2pool-eth-payment-instructions {
|
||
margin: 20px 0;
|
||
padding: 20px;
|
||
border: 1px solid #ddd;
|
||
border-radius: 4px;
|
||
background: #f9f9f9;
|
||
}
|
||
|
||
.payment-address {
|
||
margin: 10px 0;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 10px;
|
||
}
|
||
|
||
.payment-address code {
|
||
flex: 1;
|
||
padding: 10px;
|
||
background: #fff;
|
||
border: 1px solid #ddd;
|
||
border-radius: 4px;
|
||
word-break: break-all;
|
||
}
|
||
|
||
.payment-amount {
|
||
font-size: 1.2em;
|
||
font-weight: bold;
|
||
color: #0073aa;
|
||
margin: 10px 0;
|
||
}
|
||
|
||
.payment-status {
|
||
margin: 15px 0;
|
||
padding: 10px;
|
||
background: #fff;
|
||
border-radius: 4px;
|
||
}
|
||
|
||
.payment-notes ul {
|
||
margin-left: 20px;
|
||
}
|
||
</style>
|
||
|