<?php
// This include Mercado Pago library SDK
require_once dirname( __FILE__ ) . '/sdk/lib/mercadopago.php';
/**
* Summary: Extending from WooCommerce Payment Gateway class.
* Description: This class implements Mercado Pago Basic checkout.
* @since 3.0.0
*/
class WC_WooMercadoPago_BasicGateway extends WC_Payment_Gateway {
public function __construct() {
// Mercao Pago instance.
$this->site_data = WC_Woo_Mercado_Pago_Module::get_site_data( false );
$this->mp = new MP(
WC_Woo_Mercado_Pago_Module::get_module_version(),
get_option( '_mp_client_id' ),
get_option( '_mp_client_secret' )
);
$email = ( wp_get_current_user()->ID != 0 ) ? wp_get_current_user()->user_email : null;
$this->mp->set_email( $email );
$locale = get_locale();
$locale = ( strpos( $locale, '_' ) !== false && strlen( $locale ) == 5 ) ? explode( '_', $locale ) : array('','');
$this->mp->set_locale( $locale[1] );
// WooCommerce fields.
$this->id = 'woo-mercado-pago-basic';
$this->supports = array( 'products', 'refunds' );
$this->icon = apply_filters(
'woocommerce_mercadopago_icon',
plugins_url( 'assets/images/mercadopago.png', plugin_dir_path( __FILE__ ) )
);
$this->method_title = __( 'Mercado Pago - Basic Checkout', 'woocommerce-mercadopago' );
$this->method_description = '<img width="200" height="52" src="' .
plugins_url( 'assets/images/mplogo.png', plugin_dir_path( __FILE__ ) ) .
'"><br><br><strong>' .
__( 'Receive payments in a matter of minutes. We make it easy for you: just tell us what you want to collect and we’ll take care of the rest.', 'woocommerce-mercadopago' ) .
'</strong>';
// TODO: Verify sandbox availability.
$this->sandbox = false;
//$this->sandbox = get_option( '_mp_sandbox_mode', false );
$this->mp->sandbox_mode( $this->sandbox );
// How checkout is shown.
$this->title = $this->get_option( 'title', __( 'Mercado Pago - Basic Checkout', 'woocommerce-mercadopago' ) );
$this->description = $this->get_option( 'description' );
$this->method = $this->get_option( 'method', 'iframe' );
$this->iframe_width = $this->get_option( 'iframe_width', '640' );
$this->iframe_height = $this->get_option( 'iframe_height', '800' );
// How checkout redirections will behave.
$this->auto_return = $this->get_option( 'auto_return', 'yes' );
$this->success_url = $this->get_option( 'success_url', '' );
$this->failure_url = $this->get_option( 'failure_url', '' );
$this->pending_url = $this->get_option( 'pending_url', '' );
// How checkout payment behaves.
$this->installments = $this->get_option( 'installments', '24' );
$this->ex_payments = $this->get_option( 'ex_payments', 'n/d' );
$this->gateway_discount = $this->get_option( 'gateway_discount', 0 );
$this->two_cards_mode = 'inactive';
// Logging and debug.
$_mp_debug_mode = get_option( '_mp_debug_mode', '' );
if ( ! empty ( $_mp_debug_mode ) ) {
if ( class_exists( 'WC_Logger' ) ) {
$this->log = new WC_Logger();
} else {
$this->log = WC_Woo_Mercado_Pago_Module::woocommerce_instance()->logger();
}
}
// Render our configuration page and init/load fields.
$this->init_form_fields();
$this->init_settings();
// Used by IPN to receive IPN incomings.
add_action(
'woocommerce_api_wc_woomercadopago_basicgateway',
array( $this, 'check_ipn_response' )
);
// Used by IPN to process valid incomings.
add_action(
'valid_mercadopago_basic_ipn_request',
array( $this, 'successful_request' )
);
// Process the cancel order meta box order action.
add_action(
'woocommerce_order_action_cancel_order',
array( $this, 'process_cancel_order_meta_box_actions' )
);
// Used by WordPress to render the custom checkout page.
add_action(
'woocommerce_receipt_' . $this->id,
function( $order ) {
echo $this->render_order_form( $order );
}
);
// Used to fix CSS in some older WordPress/WooCommerce versions.
add_action(
'wp_head',
function() {
if ( defined( 'WC_VERSION' ) && version_compare( WC_VERSION, '2.1', '>=' ) ) {
$page_id = wc_get_page_id( 'checkout' );
} else {
$page_id = woocommerce_get_page_id( 'checkout' );
}
if ( is_page( $page_id ) ) {
echo '<style type="text/css">#MP-Checkout-dialog { z-index: 9999 !important; }</style>' . PHP_EOL;
}
}
);
// Used in settings page to hook "save settings" action.
add_action(
'woocommerce_update_options_payment_gateways_' . $this->id,
array( $this, 'custom_process_admin_options' )
);
// Scripts for order configuration.
add_action(
'woocommerce_after_checkout_form',
array( $this, 'add_checkout_script' )
);
// Display discount in payment method title.
add_filter(
'woocommerce_gateway_title',
array( $this, 'get_payment_method_title_basic' ), 10, 2
);
// Checkout updates.
add_action(
'woocommerce_thankyou',
array( $this, 'update_checkout_status' )
);
}
/**
* Summary: Initialise Gateway Settings Form Fields.
* Description: Initialise Gateway settings form fields with a customized page.
*/
public function init_form_fields() {
// Show message if credentials are not properly configured.
$_site_id_v0 = get_option( '_site_id_v0', '' );
if ( empty( $_site_id_v0 ) ) {
$this->form_fields = array(
'no_credentials_title' => array(
'title' => sprintf(
__( 'It appears that your credentials are not properly configured.<br/>Please, go to %s and configure it.', 'woocommerce-mercadopago' ),
'<a href="' . esc_url( admin_url( 'admin.php?page=mercado-pago-settings' ) ) . '">' .
__( 'Mercado Pago Settings', 'woocommerce-mercadopago' ) .
'</a>'
),
'type' => 'title'
),
);
return;
}
// If module is disabled, we do not need to load and process the settings page.
if ( empty( $this->settings['enabled'] ) || 'no' == $this->settings['enabled'] ) {
$this->form_fields = array(
'enabled' => array(
'title' => __( 'Enable/Disable', 'woocommerce-mercadopago' ),
'type' => 'checkbox',
'label' => __( 'Enable Basic Checkout', 'woocommerce-mercadopago' ),
'default' => 'no'
)
);
return;
}
$this->two_cards_mode = $this->mp->check_two_cards();
// Validate back URL.
if ( ! empty( $this->success_url ) && filter_var( $this->success_url, FILTER_VALIDATE_URL ) === FALSE ) {
$success_back_url_message = '<img width="14" height="14" src="' . plugins_url( 'assets/images/warning.png', plugin_dir_path( __FILE__ ) ) . '"> ' .
__( 'This appears to be an invalid URL.', 'woocommerce-mercadopago' ) . ' ';
} else {
$success_back_url_message = __( 'Where customers should be redirected after a successful purchase. Let blank to redirect to the default store order resume page.', 'woocommerce-mercadopago' );
}
if ( ! empty( $this->failure_url ) && filter_var( $this->failure_url, FILTER_VALIDATE_URL ) === FALSE ) {
$fail_back_url_message = '<img width="14" height="14" src="' . plugins_url( 'assets/images/warning.png', plugin_dir_path( __FILE__ ) ) . '"> ' .
__( 'This appears to be an invalid URL.', 'woocommerce-mercadopago' ) . ' ';
} else {
$fail_back_url_message = __( 'Where customers should be redirected after a failed purchase. Let blank to redirect to the default store order resume page.', 'woocommerce-mercadopago' );
}
if ( ! empty( $this->pending_url ) && filter_var( $this->pending_url, FILTER_VALIDATE_URL ) === FALSE ) {
$pending_back_url_message = '<img width="14" height="14" src="' . plugins_url( 'assets/images/warning.png', plugin_dir_path( __FILE__ ) ) . '"> ' .
__( 'This appears to be an invalid URL.', 'woocommerce-mercadopago' ) . ' ';
} else {
$pending_back_url_message = __( 'Where customers should be redirected after a pending purchase. Let blank to redirect to the default store order resume page.', 'woocommerce-mercadopago' );
}
// This array draws
没有合适的资源?快使用搜索试试~ 我知道了~
【WordPress插件】2022年最新版完整功能demo+插件v0.2.zip
共443个文件
php:286个
png:48个
json:24个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 127 浏览量
2022-04-07
02:26:24
上传
评论
收藏 2.3MB ZIP 举报
温馨提示
"【WordPress插件】2022年最新版完整功能demo+插件v0.2 Mercado Pago Marketplace WooCommerce 市场市场Woocommerce Marketplace" ---------- 泰森云每天更新发布最新WordPress主题、HTML主题、WordPress插件、shopify主题、opencart主题、PHP项目源码、安卓项目源码、ios项目源码,更有超10000个资源可供选择,如有需要请站内联系。
资源推荐
资源详情
资源评论
收起资源包目录
【WordPress插件】2022年最新版完整功能demo+插件v0.2.zip (443个子文件)
custom_checkout_mercadopago.css 6KB
wanderlust-meli-admin.css 803B
phpunit.xml.dist 823B
phpunit.xml.dist 821B
phpunit.xml.dist 631B
standard_mlc.gif 10KB
loading.gif 4KB
loading.gif 2KB
woocommerce-altas.html 22KB
index.html 44B
php.ini 123B
settings.ini 105B
settings.ini 105B
desconto_MLB.jpg 16KB
standard_mlm.jpg 9KB
standard_mla.jpg 9KB
CUPOM_MLM.jpg 9KB
standard_mlb.jpg 8KB
CUPOM_MLA.jpg 8KB
CUPOM_MLB.jpg 8KB
CUPOM_MCO.jpg 8KB
CUPOM_MLC.jpg 7KB
standard_mco.jpg 7KB
CUPOM_MLV.jpg 7KB
standard_mlv.jpg 7KB
cupom2.jpg 6KB
cupom1.jpg 6KB
cupom3.jpg 6KB
mercadopago_lqip.jpg 619B
credit-card.js 33KB
ticket.js 20KB
wanderlust-meli-admin.js 4KB
installed.json 14KB
payment.json 2KB
payment.json 2KB
composer.json 1KB
composer.json 1KB
composer.json 999B
composer.json 976B
composer.json 970B
composer.json 962B
composer.json 914B
composer.json 738B
customer_search.json 575B
customer_search.json 575B
dummies.json 485B
composer.json 351B
composer.json 351B
dummy.json 312B
dummy.json 312B
settings.json 123B
settings.json 123B
settings_broken.json 122B
settings_broken.json 122B
composer.json 65B
authorization.json 38B
LICENSE 1KB
LICENSE 1KB
LICENSE 1KB
LICENSE 1KB
LICENSE 1KB
LICENSE 1KB
LICENSE 1KB
LICENSE 1KB
composer.lock 16KB
composer.lock 16KB
composer.lock 16KB
woocommerce-mercadopago-pt_BR.mo 38KB
woocommerce-mercadopago-es_MX.mo 37KB
woocommerce-mercadopago-es_PE.mo 37KB
woocommerce-mercadopago-es_VE.mo 37KB
woocommerce-mercadopago-es_CO.mo 37KB
woocommerce-mercadopago-es_ES.mo 37KB
woocommerce-mercadopago-es_CL.mo 37KB
woocommerce-mercadopago-es_AR.mo 37KB
woocommerce-mercadopago-es_UY.mo 37KB
woo-facturante-es_ES.mo 2KB
mercadopago.png.orig 1KB
cacert.pem 213KB
cacert.pem 213KB
phpunit.phar 2.59MB
phpunit.phar 2.59MB
WC_WooMercadoPago_BasicGateway.php 62KB
payment-form.php 50KB
woocommerce-mercadopago.php 46KB
DocParser.php 37KB
ProxyGenerator.php 31KB
mercadopago.php 30KB
Inflector.php 17KB
CacheTest.php 16KB
mp_main_settings.php 14KB
ConfigTest.php 13KB
AbstractClassMetadataFactory.php 13KB
Manager.php 13KB
AnnotationReader.php 12KB
class-wanderlust-meli-admin.php 12KB
Manager.php 12KB
Entity.php 12KB
ClassLoader.php 11KB
InflectorTest.php 10KB
共 443 条
- 1
- 2
- 3
- 4
- 5
资源评论
Lee达森
- 粉丝: 965
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功