pro_enabled = apply_filters( 'better_payment/pro_enabled', false );
}
public function get_name() {
return 'better-payment';
}
public function get_title() {
return esc_html__( 'Payment Form', 'better-payment' );
}
public function get_icon() {
return 'bp-icon bp-payment-form';
}
public function get_categories() {
return ['better-payment'];
}
public function get_keywords() {
return [
'payment', 'better-payment', 'paypal', 'stripe', 'sell', 'donate', 'transaction', 'online-transaction', 'paystack', 'better payment'
];
}
public function get_custom_help_url()
{
return 'https://betterpayment.co/docs/';
}
public function get_style_depends() {
return apply_filters( 'better_payment/elementor/editor/get_style_depends', [ 'better-payment-el', 'bp-icon-front', 'better-payment-style', 'better-payment-common-style', 'better-payment-admin-style' ] );
}
public function get_script_depends() {
return apply_filters( 'better_payment/elementor/editor/get_script_depends', [ 'better-payment-common-script', 'better-payment' ] );
}
protected function register_controls() {
$this->better_payment_global_settings = DB::get_settings();
$is_edit_mode = Plugin::instance()->editor->is_edit_mode();
if ( $is_edit_mode && ( ! current_user_can('manage_options') ) ) {
$this->better_payment_global_settings = [];
}
$this->start_controls_section(
'better_payment_form_setting',
[
'label' => esc_html__( 'Payment Settings', 'better-payment' ),
]
);
do_action('better_payment/elementor/editor/layouts_payment_settings_section', $this);
$this->add_control(
'better_payment_form_layout',
[
'label' => esc_html__( 'Form Layout', 'better-payment' ),
'type' => Controls_Manager::SELECT,
'default' => 'layout-1',
'options' => $this->better_payment_free_layouts(),
]
);
$this->add_control(
'better_payment_form_payment_type',
[
'label' => esc_html__( 'Payment Type', 'better-payment' ),
'description' => esc_html__( 'Recurring and Split Payment is available for Stripe only at the moment!', 'better-payment' ),
'type' => Controls_Manager::SELECT,
'default' => 'one-time',
'options' => [
'one-time' => 'One Time',
'recurring' => 'Recurring',
'mixed' => 'One Time + Recurring (Both)',
'split-payment' => 'Split Payment',
],
'condition' => [
'better_payment_form_layout!' => ['layout-1', 'layout-2', 'layout-3', 'layout-6-pro'],
],
]
);
$this->add_control(
'better_payment_form_recurring_price_id',
[
'label' => esc_html__( 'Default Price ID', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'description' => sprintf(
__( '
Create a product from Stripe dashboard and get the (default) price id.
', 'better-payment' ),
esc_url('//betterpayment.co/docs/retrieve-price-id-for-recurring-payments/'),
),
'placeholder' => 'price_G0FvDp6vZvdwRZ',
'label_block' => true,
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_form_payment_type' => [ 'recurring', 'split-payment' ],
'better_payment_form_layout!' => ['layout-1', 'layout-2', 'layout-3', 'layout-6-pro'],
],
'separator' => 'before',
]
);
$repeater_split_payment = new Repeater();
$repeater_split_payment->add_control(
'better_payment_split_installment_name',
[
'label' => esc_html__( 'Installment Name', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'placeholder' => 'Installment Name',
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$repeater_split_payment->add_control(
'better_payment_split_installment_price_id',
[
'label' => esc_html__( 'Price ID', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'placeholder' => 'price_G0FvDp6vZvdwRZ',
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$repeater_split_payment->add_control(
'better_payment_split_installment_iteration',
[
'label' => esc_html__( 'Iterations', 'better-payment' ),
'type' => Controls_Manager::NUMBER,
'min' => 1,
'max' => 36,
]
);
$this->add_control(
'better_payment_split_installment_price_ids_note',
[
'type' => Controls_Manager::RAW_HTML,
'raw' => sprintf(
__( 'Now add more prices to the product from Stripe dashboard and get the price id for each installment.
', 'better-payment' ),
esc_url('//betterpayment.co/docs/configure-split-payment-into-subscriptions/'),
),
'content_classes' => 'elementor-control-alert elementor-panel-alert elementor-panel-alert-info',
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_form_payment_type' => 'split-payment',
'better_payment_form_layout!' => ['layout-1', 'layout-2', 'layout-3', 'layout-6-pro'],
],
]
);
$this->add_control(
'better_payment_split_installment_price_ids',
[
'label' => esc_html__( 'Installments', 'better-payment' ),
'type' => Controls_Manager::REPEATER,
'separator' => 'after',
'default' => [
[
'better_payment_split_installment_name' => '3 Months',
'better_payment_split_installment_price_id' => '',
'better_payment_split_installment_iteration' => 3,
],
[
'better_payment_split_installment_name' => '6 Months',
'better_payment_split_installment_price_id' => '',
'better_payment_split_installment_iteration' => 6,
],
[
'better_payment_split_installment_name' => '9 Months',
'better_payment_split_installment_price_id' => '',
'better_payment_split_installment_iteration' => 9,
],
[
'better_payment_split_installment_name' => '12 Months',
'better_payment_split_installment_price_id' => '',
'better_payment_split_installment_iteration' => 12,
],
],
'fields' => $repeater_split_payment->get_controls(),
'title_field' => ' {{{ better_payment_split_installment_name }}}',
'condition' => [
'better_payment_form_payment_type' => 'split-payment',
'better_payment_form_layout!' => ['layout-1', 'layout-2', 'layout-3', 'layout-6-pro'],
],
]
);
$repeater_recurring_payment = new Repeater();
$repeater_recurring_payment->add_control(
'better_payment_recurring_name',
[
'label' => esc_html__( 'Interval Name', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'placeholder' => 'Interval Name',
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$repeater_recurring_payment->add_control(
'better_payment_recurring_price_id',
[
'label' => esc_html__( 'Price ID', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'placeholder' => 'price_G0FvDp6vZvdwRZ',
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_recurring_price_ids',
[
'label' => esc_html__( 'Intervals', 'better-payment' ),
'type' => Controls_Manager::REPEATER,
'separator' => 'after',
'default' => [
[
'better_payment_recurring_name' => 'Monthly',
'better_payment_recurring_price_id' => '',
],
[
'better_payment_recurring_name' => 'Yearly',
'better_payment_recurring_price_id' => '',
],
],
'fields' => $repeater_recurring_payment->get_controls(),
'title_field' => ' {{{ better_payment_recurring_name }}}',
'condition' => [
'better_payment_form_payment_type' => 'recurring',
'better_payment_form_layout' => 'layout-5-pro',
],
]
);
$this->add_control(
'better_payment_one_time_recurring_product_id',
[
'label' => esc_html__( 'Product ID', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'placeholder' => 'prod_G0FvDp6vZvdwRZ',
'label_block' => true,
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_form_payment_type' => 'mixed',
'better_payment_form_layout' => ['layout-4-pro', 'layout-5-pro'],
]
]
);
$repeater_mixed_payment = new Repeater();
$repeater_mixed_payment->add_control(
'better_payment_mixed_interval_type',
[
'label' => esc_html__( 'Interval Type', 'better-payment' ),
'type' => Controls_Manager::SELECT,
'default' => 'day',
'options' => [
'day' => 'Day',
'week' => 'Week',
'month' => 'Month',
'year' => 'Year',
],
]
);
$repeater_mixed_payment->add_control(
'better_payment_mixed_name',
[
'label' => esc_html__( 'Interval Name', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'placeholder' => 'Interval Name',
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$repeater_mixed_payment->add_control(
'better_payment_mixed_interval_day',
[
'label' => esc_html__( 'Interval', 'better-payment' ),
'type' => Controls_Manager::NUMBER,
'min' => 1,
'max' => 1095,
'condition' => [
'better_payment_mixed_interval_type' => ['day'],
],
]
);
$repeater_mixed_payment->add_control(
'better_payment_mixed_interval_month',
[
'label' => esc_html__( 'Interval', 'better-payment' ),
'type' => Controls_Manager::NUMBER,
'min' => 1,
'max' => 36,
'condition' => [
'better_payment_mixed_interval_type' => ['month'],
],
]
);
$repeater_mixed_payment->add_control(
'better_payment_mixed_interval_week',
[
'label' => esc_html__( 'Interval', 'better-payment' ),
'type' => Controls_Manager::NUMBER,
'min' => 1,
'max' => 156,
'condition' => [
'better_payment_mixed_interval_type' => ['week'],
],
]
);
$repeater_mixed_payment->add_control(
'better_payment_mixed_interval_year',
[
'label' => esc_html__( 'Interval', 'better-payment' ),
'type' => Controls_Manager::NUMBER,
'min' => 1,
'max' => 3,
'condition' => [
'better_payment_mixed_interval_type' => ['year'],
],
]
);
$repeater_mixed_payment->add_control(
'better_payment_mixed_installment_options_note1',
[
'type' => Controls_Manager::RAW_HTML,
'raw' => sprintf(
__( 'Maximum interval: 3 years or equivalent.
', 'better-payment' ),
),
'content_classes' => 'elementor-control-alert elementor-panel-alert elementor-panel-alert-info',
]
);
$this->add_control(
'better_payment_mixed_installment_options',
[
'label' => esc_html__( 'Mixed Intervals', 'better-payment' ),
'type' => Controls_Manager::REPEATER,
'separator' => 'after',
'default' => [
[
'better_payment_mixed_name' => 'Monthly',
'better_payment_mixed_interval_month' => 1,
'better_payment_mixed_interval_type' => 'month',
],
[
'better_payment_mixed_name' => 'Daily',
'better_payment_mixed_interval_day' => 1,
'better_payment_mixed_interval_type' => 'day',
],
[
'better_payment_mixed_name' => 'Weekly',
'better_payment_mixed_interval_week' => 1,
'better_payment_mixed_interval_type' => 'week',
],
[
'better_payment_mixed_name' => 'Yearly',
'better_payment_mixed_interval_year' => 1,
'better_payment_mixed_interval_type' => 'year',
],
[
'better_payment_mixed_name' => 'Every 3 Months',
'better_payment_mixed_interval_month' => 3,
'better_payment_mixed_interval_type' => 'month',
],
[
'better_payment_mixed_name' => 'Every 6 Months',
'better_payment_mixed_interval_month' => 6,
'better_payment_mixed_interval_type' => 'month',
],
],
'fields' => $repeater_mixed_payment->get_controls(),
'title_field' => ' {{{ better_payment_mixed_name }}}',
'condition' => [
'better_payment_form_payment_type' => 'mixed',
'better_payment_form_layout' => ['layout-4-pro', 'layout-5-pro'],
],
]
);
$this->add_control(
'better_payment_form_recurring_webhook_stripe_secret',
[
'label' => esc_html__( 'Webhook Secret', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'description' => sprintf(
__( 'Create a webhook endpoint from Stripe dashboard and get the webhook secret.
', 'better-payment' ),
esc_url('//betterpayment.co/docs/add-webhook-endpoint-recurring-better-payment/'),
),
'placeholder' => 'whsec_...',
'label_block' => true,
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_form_payment_type' => [ 'recurring', 'split-payment' ],
'better_payment_form_layout!' => ['layout-1', 'layout-2', 'layout-3', 'layout-6-pro'],
],
]
);
$this->add_control(
'better_payment_form_recurring_webhook_stripe',
[
'type' => Controls_Manager::RAW_HTML,
'raw' => sprintf(
__( 'Your webhook endpoint url »
%2$s
', 'better-payment' ),
esc_url('//wpdeveloper.com/docs-category/better-payment/'),
esc_url_raw( get_permalink( get_the_ID() ) . '?webhook-stripe=1' )
),
'content_classes' => 'elementor-control-alert elementor-panel-alert elementor-panel-alert-info',
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_form_payment_type' => [ 'recurring', 'split-payment' ],
'better_payment_form_layout!' => ['layout-1', 'layout-2', 'layout-3', 'layout-6-pro'],
],
]
);
$this->add_control(
'better_payment_form_payment_source',
[
'label' => esc_html__( 'Payment Source', 'better-payment' ),
'type' => Controls_Manager::SELECT,
'default' => 'manual',
'options' => [
'manual' => 'Manual',
'woocommerce' => 'WooCommerce',
'fluentcart' => 'FluentCart',
'stripe' => 'Stripe Product',
],
'condition' => [
'better_payment_form_layout!' => ['layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_control( 'better_payment_form_payment_source_stripe_price_id', [
'label' => __( 'Default Price ID', 'better-payment' ),
'description' => sprintf(
__( 'Create a product from Stripe dashboard and get the (default) price id.
For coupons, make sure they are global or product independent.
', 'better-payment' ),
esc_url('//betterpayment.co/docs/retrieve-price-id-for-recurring-payments/'),
esc_url('//docs.stripe.com/api/coupons/')
),
'type' => Controls_Manager::TEXT,
'placeholder' => 'price_G0FvDp6vZvdwRZ',
'label_block' => true,
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_form_payment_source' => 'stripe',
'better_payment_form_layout!' => ['layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
] );
$this->add_control( 'better_payment_form_payment_source_notice', [
'type' => Controls_Manager::RAW_HTML,
'raw' => sprintf( __( 'WooCommerce is not installed/activated on your site. Please install and activate WooCommerce first.', 'better-payment' ), esc_url('plugin-install.php?s=woocommerce&tab=search&type=term') ),
'content_classes' => 'better-payment-warning',
'conditions' => [
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_layout',
'operator' => '!=',
'value' => 'layout-4-pro',
],
[
'name' => 'better_payment_form_layout',
'operator' => '!=',
'value' => 'layout-5-pro',
],
[
'relation' => 'or',
'terms' => [
[
'name' => 'better_payment_form_payment_source',
'value' => 'woocommerce' . ( ! class_exists('woocommerce') ? '' : 'exist' ),
],
[
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_layout',
'value' => 'layout-6-pro' . ( ! class_exists('woocommerce') ? '' : 'exist' ),
],
[
'relation' => 'or',
'terms' => [
[
'name' => 'better_payment_form_layout_6_ecommerce_platform',
'value' => '',
],
[
'name' => 'better_payment_form_layout_6_ecommerce_platform',
'value' => 'woocommerce',
],
],
],
],
],
],
],
],
],
] );
$this->add_control(
'better_payment_form_woocommerce_product_section',
[
'label' => __( 'Product', 'better-payment' ),
'type' => Controls_Manager::HIDDEN,
'condition' => [
'better_payment_form_payment_source' => 'woocommerce',
],
]
);
$this->add_control( "better_payment_form_woocommerce_product_id", [
'label' => __( 'Choose a Product', 'better-payment' ),
'description' => __( 'Enter Product IDs separated by a comma', 'better-payment' ),
'type' => 'better-payment-select2',
'label_block' => true,
'multiple' => false,
'source_name' => 'post_type',
'source_type' => 'product',
'placeholder' => __( 'Search By', 'better-payment' ),
'conditions' => $this->payment_source_woo_conditions(),
'separator' => 'after',
'dynamic' => [
'active' => false,
],
'condition' => [
'better_payment_form_layout' => ['layout-1', 'layout-2', 'layout-3'],
],
] );
$this->add_control(
'better_payment_form_layout_6_ecommerce_platform',
[
'label' => esc_html__( 'eCommerce Platform', 'better-payment' ),
'type' => Controls_Manager::SELECT,
'default' => 'woocommerce',
'options' => [
'woocommerce' => 'WooCommerce',
'fluentcart' => 'FluentCart',
],
'condition' => [
'better_payment_form_layout' => ['layout-6-pro'],
],
]
);
$this->add_control('better_payment_form_woocommerce_product_ids', [
'label' => esc_html__('Select Products', 'better-payment'),
'type' => 'better-payment-select2',
'label_block' => true,
'multiple' => true,
'source_name' => 'post_type',
'source_type' => 'product',
'placeholder' => __( ' ', 'better-payment' ),
'condition' => [
'better_payment_form_layout' => ['layout-6-pro'],
'better_payment_form_layout_6_ecommerce_platform' => 'woocommerce',
],
]);
$this->add_control('better_payment_form_fluentcart_product_ids', [
'label' => esc_html__('Select Products', 'better-payment'),
'type' => 'better-payment-select2',
'label_block' => true,
'multiple' => true,
'source_name' => 'post_type',
'source_type' => 'fluent-products',
'placeholder' => __( ' ', 'better-payment' ),
'condition' => [
'better_payment_form_layout' => ['layout-6-pro'],
'better_payment_form_layout_6_ecommerce_platform' => 'fluentcart',
],
]);
$this->add_control( 'better_payment_form_payment_source_fluentcart_notice', [
'type' => Controls_Manager::RAW_HTML,
'raw' => sprintf( __( 'FluentCart is not installed/activated on your site. Please install and activate FluentCart first.', 'better-payment' ), esc_url('plugin-install.php?s=fluentcart&tab=search&type=term') ),
'content_classes' => 'better-payment-warning',
'conditions' => [
'relation' => 'and',
'terms' => [
[
'relation' => 'or',
'terms' => [
[
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_layout',
'operator' => '!=',
'value' => 'layout-4-pro',
],
[
'name' => 'better_payment_form_layout',
'operator' => '!=',
'value' => 'layout-5-pro',
],
[
'name' => 'better_payment_form_layout',
'operator' => '!=',
'value' => 'layout-6-pro',
],
[
'name' => 'better_payment_form_payment_source',
'value' => 'fluentcart' . ( ! function_exists('fluentCart') ? '' : 'exist' ),
],
],
],
[
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_layout',
'value' => 'layout-6-pro',
],
[
'name' => 'better_payment_form_layout_6_ecommerce_platform',
'value' => 'fluentcart' . ( ! function_exists('fluentCart') ? '' : 'exist' ),
],
],
],
],
],
],
],
] );
$this->add_control( "better_payment_form_fluentcart_product_id", [
'label' => __( 'Choose a FluentCart Product', 'better-payment' ),
'type' => 'better-payment-select2',
'label_block' => true,
'multiple' => false,
'source_name' => 'post_type',
'source_type' => 'fluent-products',
'conditions' => $this->payment_source_fluentcart_conditions(),
'separator' => 'after',
'dynamic' => [
'active' => false,
],
'condition' => [
'better_payment_form_layout' => ['layout-1', 'layout-2', 'layout-3'],
],
] );
$this->add_control(
'better_payment_form_paypal_enable',
[
'label' => __( 'Enable PayPal', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => esc_html($this->better_payment_global_settings['better_payment_settings_general_general_paypal']), //yes or no
'separator' => 'before',
'condition' => [
'better_payment_form_payment_type!' => [ 'recurring', 'split-payment' ],
],
]
);
$this->add_control( 'better_payment_form_paypal_enable_notice', [
'type' => Controls_Manager::RAW_HTML,
'raw' => sprintf( __( 'Whoops! It seems like you haven\'t configured PayPal (Business Email) Settings. Make sure to configure these settings before you publish the form.', 'better-payment' ) ),
'content_classes' => 'better-payment-warning',
'condition' => [
'better_payment_form_paypal_enable' => 'yes',
'better_payment_paypal_business_email' => '',
],
] );
$this->add_control(
'better_payment_form_stripe_enable',
[
'label' => __( 'Enable Stripe', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => esc_html($this->better_payment_global_settings['better_payment_settings_general_general_stripe']), //yes or no
]
);
$this->add_control( 'better_payment_form_stripe_enable_notice', [
'type' => Controls_Manager::RAW_HTML,
'raw' => sprintf( __( 'Whoops! It seems like you haven\'t configured Stripe (Public and Secret Key) Settings. Make sure to configure these settings before you publish the form.', 'better-payment' ) ),
'content_classes' => 'better-payment-warning',
'conditions' => [
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_stripe_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_stripe_live_mode',
'operator' => '!==',
'value' => 'yes',
],
[
'relation' => 'or',
'terms' => [
[
'name' => 'better_payment_stripe_public_key',
'value' => '',
],
[
'name' => 'better_payment_stripe_secret_key',
'value' => '',
],
],
],
],
],
] );
$this->add_control( 'better_payment_form_stripe_enable_notice_live', [
'type' => Controls_Manager::RAW_HTML,
'raw' => sprintf( __( 'Whoops! It seems like you haven\'t configured Stripe (Public and Secret Key) Settings. Make sure to configure these settings before you publish the form.', 'better-payment' ) ),
'content_classes' => 'better-payment-warning',
'conditions' => [
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_stripe_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_stripe_live_mode',
'value' => 'yes',
],
[
'relation' => 'or',
'terms' => [
[
'name' => 'better_payment_stripe_public_key_live',
'value' => '',
],
[
'name' => 'better_payment_stripe_secret_key_live',
'value' => '',
],
],
],
],
],
] );
$this->add_control(
'better_payment_form_paystack_enable',
[
'label' => __( 'Enable Paystack', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => ! empty( $this->better_payment_global_settings['better_payment_settings_general_general_paystack'] ) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_general_paystack']) : 'no', //yes or no
'condition' => [
'better_payment_form_payment_type!' => [ 'recurring', 'split-payment' ],
],
]
);
$this->add_control( 'better_payment_form_paystack_enable_notice', [
'type' => Controls_Manager::RAW_HTML,
'raw' => sprintf( __( 'Whoops! It seems like you haven\'t configured Paystack (Public and Secret Key) Settings. Make sure to configure these settings before you publish the form.', 'better-payment' ) ),
'content_classes' => 'better-payment-warning',
'conditions' => [
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_paystack_enable',
'value' => 'yes',
],
[
'relation' => 'or',
'terms' => [
[
'name' => 'better_payment_paystack_public_key',
'value' => '',
],
[
'name' => 'better_payment_paystack_secret_key',
'value' => '',
],
],
],
],
],
] );
$this->add_control(
'better_payment_form_email_enable',
[
'label' => __( 'Enable Email Notification', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => esc_html($this->better_payment_global_settings['better_payment_settings_general_general_email']), //yes or no
]
);
$this->add_control(
'better_payment_form_sidebar_show',
[
'label' => __( 'Show Sidebar', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => 'yes',
]
);
$better_payment_helper = new ClassesHelper();
$better_payment_general_currency = $this->better_payment_global_settings['better_payment_settings_general_general_currency'];
$better_payment_general_currency_woocommerce = $better_payment_general_currency;
if( class_exists('woocommerce') ) {
$better_payment_general_currency_woocommerce = get_woocommerce_currency() ? get_woocommerce_currency() : $better_payment_general_currency_woocommerce;
}
$this->add_control(
'better_payment_form_currency_use_woocommerce',
[
'label' => esc_html__( 'Use WooCommerce Currency?', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => '',
'conditions' => $this->payment_source_woo_conditions(),
]
);
$this->add_control(
'better_payment_form_currency',
[
'label' => esc_html__( 'Currency', 'better-payment' ),
'type' => Controls_Manager::SELECT,
'default' => esc_html($better_payment_general_currency), //USD
'options' => $better_payment_helper->get_currency_list(),
'conditions' => [
'relation' => 'or',
'terms' => [
[
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_paypal_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_form_payment_source',
'value' => 'manual',
],
],
],
[
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_stripe_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_form_payment_source',
'value' => 'manual',
],
],
],
[
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_paystack_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_form_payment_source',
'value' => 'manual',
],
],
],
[
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_paypal_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_form_currency_use_woocommerce',
'value' => '',
],
],
],
[
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_stripe_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_form_currency_use_woocommerce',
'value' => '',
],
],
],
[
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_paystack_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_form_currency_use_woocommerce',
'value' => '',
],
],
],
],
],
]
);
$this->add_control(
'better_payment_form_currency_woocommerce',
[
'label' => esc_html__( 'WooCommerce Currency', 'better-payment' ),
'type' => Controls_Manager::SELECT,
'default' => $better_payment_general_currency_woocommerce,
'options' => [
$better_payment_general_currency_woocommerce => $better_payment_general_currency_woocommerce,
],
'condition' => [
'better_payment_form_payment_source' => 'woocommerce',
'better_payment_form_currency_use_woocommerce' => 'yes',
]
]
);
$this->add_control(
'better_payment_form_currency_notice',
[
'type' => Controls_Manager::RAW_HTML,
'raw' => sprintf( __( 'Supported by %1$sStripe%2$s (and/or %1$sPaystack%2$s) only', 'better-payment' ), '', '' ),
'content_classes' => 'better-payment-warning',
'conditions' => [
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_paypal_enable',
'value' => 'yes',
],
[
'relation' => 'or',
'terms' => $this->get_paypal_unsupported_currencies_conditions(),
]
],
]
]
);
$this->add_control(
'better_payment_form_currency_alignment',
[
'label' => esc_html__( 'Currency Alignment', 'better-payment' ),
'type' => Controls_Manager::CHOOSE,
'options' => [
'left' => [
'title' => esc_html__( 'Left', 'better-payment' ),
'icon' => 'eicon-text-align-left',
],
'right' => [
'title' => esc_html__( 'Right', 'better-payment' ),
'icon' => 'eicon-text-align-right',
],
],
]
);
$this->end_controls_section();
$this->form_element_settings();
$this->paypal_form_setting();
$this->stripe_form_setting();
$this->paystack_form_setting();
$this->email_element_settings();
$this->success_message_setting();
$this->error_message_setting();
$this->form_style();
}
public function payment_source_woo_conditions(){
$conditions = [
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_payment_source',
'value' => 'woocommerce',
],
[
'name' => 'better_payment_form_layout',
'operator' => '!=',
'value' => 'layout-4-pro',
],
[
'name' => 'better_payment_form_layout',
'operator' => '!=',
'value' => 'layout-5-pro',
],
// [
// 'name' => 'better_payment_form_layout',
// 'operator' => '!=',
// 'value' => 'layout-6-pro',
// ],
],
];
return $conditions;
}
public function payment_source_fluentcart_conditions(){
$conditions = [
'relation' => 'and',
'terms' => [
[
'name' => 'better_payment_form_payment_source',
'value' => 'fluentcart',
],
[
'name' => 'better_payment_form_layout',
'operator' => '!=',
'value' => 'layout-4-pro',
],
[
'name' => 'better_payment_form_layout',
'operator' => '!=',
'value' => 'layout-5-pro',
],
[
'name' => 'better_payment_form_layout',
'operator' => '!=',
'value' => 'layout-6-pro',
],
],
];
return $conditions;
}
public function form_element_settings() {
$this->start_controls_section(
'better_payment_form_element',
[
'label' => esc_html__( 'Form Settings', 'better-payment' ),
'conditions' => [
'relation' => 'or',
'terms' => [
[
'name' => 'better_payment_form_paypal_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_form_stripe_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_form_paystack_enable',
'value' => 'yes',
],
]
]
]
);
$this->add_control(
'better_payment_form_title',
[
'label' => __( 'Form Name', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'dynamic' => [
'active' => true,
],
'default' => __( 'Better Payment', 'better-payment' ),
'ai' => [
'active' => false,
],
]
);
do_action('better_payment/elementor/editor/layouts_form_settings_section', $this);
$form_fields_repeater = new Repeater();
$form_fields_repeater->add_control(
'better_payment_field_name_heading',
[
'label' => __( 'Field Name', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Field Name', 'better-payment' ),
'label_block' => false,
'ai' => [
'active' => false,
],
]
);
$form_fields_repeater->add_control(
'better_payment_field_name_placeholder',
[
'label' => __( 'Placeholder Text', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Field Name', 'better-payment' ),
'label_block' => false,
'ai' => [
'active' => false,
],
]
);
$form_fields_repeater->add_control(
'better_payment_field_type',
[
'label' => __( 'Field Type', 'better-payment' ),
'type' => Controls_Manager::SELECT,
'default' => 'text',
'options' => [
'text' => __( 'Text', 'better-payment' ),
'email' => __( 'Email', 'better-payment' ),
'number' => __( 'Number', 'better-payment' ),
// 'password' => __( 'Password', 'better-payment' ),
// 'textarea' => __( 'Textarea', 'better-payment' ),
// 'select' => __( 'Select', 'better-payment' ),
// 'checkbox' => __( 'Checkbox', 'better-payment' ),
// 'radio' => __( 'Radio', 'better-payment' ),
// 'date' => __( 'Date', 'better-payment' ),
// 'time' => __( 'Time', 'better-payment' ),
// 'datetime' => __( 'Date Time', 'better-payment' ),
// 'file' => __( 'File', 'better-payment' ),
// 'hidden' => __( 'Hidden', 'better-payment' ),
],
'label_block' => false,
]
);
$form_fields_repeater->add_control(
'better_payment_primary_field_type',
[
'label' => __( 'Primary Field Type', 'better-payment' ),
'description' => __( 'If this is a primary field (first name, last name, email etc), then please select one.', 'better-payment' ),
'type' => Controls_Manager::SELECT,
'default' => 'primary_none',
'options' => [
'primary_first_name' => __( 'First Name', 'better-payment' ),
'primary_last_name' => __( 'Last Name', 'better-payment' ),
'primary_email' => __( 'Email', 'better-payment' ),
'primary_payment_amount' => __( 'Payment Amount', 'better-payment' ),
'primary_coupon_code' => __( 'Coupon Code', 'better-payment' ),
'primary_reference_number' => __( 'Reference Number', 'better-payment' ),
'primary_none' => __( 'None', 'better-payment' ),
],
'label_block' => false,
]
);
$form_fields_repeater->add_control(
'better_payment_field_icon',
[
'label' => esc_html__( 'Icon', 'better-payment' ),
'description' => esc_html__( 'Select an icon for this field (not applicable for primary field - Payment Amount and layout 4, 5, 6).', 'better-payment' ),
'type' => Controls_Manager::ICONS,
]
);
$form_fields_repeater->add_control(
'better_payment_field_name_show',
[
'label' => __( 'Show', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => 'yes',
]
);
$form_fields_repeater->add_control(
'better_payment_field_name_show_notice',
[
'type' => Controls_Manager::RAW_HTML,
'raw' => sprintf(
esc_html__( 'Field is hidden if payment source is WooCommerce or payment type is recurring/split payment or field dynamic value is enabled.', 'better-payment' ),
),
'content_classes' => 'elementor-descriptor',
'condition' => [
'better_payment_primary_field_type' => 'primary_payment_amount'
],
]
);
$form_fields_repeater->add_control(
'better_payment_field_name_required',
[
'label' => __( 'Required', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => 'no',
'condition' => [
'better_payment_field_name_show' => 'yes'
],
]
);
$form_fields_repeater->add_control(
'better_payment_field_name_min',
[
'label' => __( 'Min. Value', 'better-payment' ),
'type' => Controls_Manager::NUMBER,
'condition' => [
'better_payment_primary_field_type' => 'primary_payment_amount'
],
]
);
$form_fields_repeater->add_control(
'better_payment_field_name_max',
[
'label' => __( 'Max. Value', 'better-payment' ),
'type' => Controls_Manager::NUMBER,
'condition' => [
'better_payment_primary_field_type' => 'primary_payment_amount'
],
]
);
$form_fields_repeater->add_control(
'better_payment_field_name_default',
[
'label' => __( 'Default Value', 'better-payment' ),
'type' => Controls_Manager::NUMBER,
'condition' => [
'better_payment_primary_field_type' => 'primary_payment_amount'
],
]
);
$form_fields_repeater->add_control(
'better_payment_field_name_default_dynamic_enable',
[
'label' => __( 'Dynamic Value', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'description' => __( 'It will override default value!', 'better-payment' ),
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'condition' => [
'better_payment_primary_field_type' => 'primary_payment_amount'
],
]
);
$form_fields_repeater->add_control(
'better_payment_field_name_default_dynamic',
[
'type' => Controls_Manager::RAW_HTML,
'raw' => sprintf(
__( 'Sample url »
%1$s
', 'better-payment' ),
esc_url_raw( get_permalink( get_the_ID() ) . '?payment_amount=100' )
),
'content_classes' => 'elementor-control-alert elementor-panel-alert elementor-panel-alert-info',
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_primary_field_type' => 'primary_payment_amount',
'better_payment_field_name_default_dynamic_enable' => 'yes'
],
]
);
$form_fields_repeater->add_control(
'better_payment_field_name_default_fixed',
[
'label' => __( 'Readonly', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'condition' => [
'better_payment_primary_field_type' => 'primary_payment_amount'
],
]
);
$form_fields_repeater->add_control(
'better_payment_field_name_display_inline',
[
'label' => __( 'Display Inline?', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'inline-block',
'default' => 'block',
'condition' => [
'better_payment_field_name_show' => 'yes'
],
'selectors' => [
'{{WRAPPER}} .better-payment-form-layout form {{CURRENT_ITEM}}.bp-form__group' => 'display: {{VALUE}};',
'{{WRAPPER}} .better-payment-form {{CURRENT_ITEM}}.better-payment-field-advanced-layout' => 'display: {{VALUE}};',
]
]
);
$form_fields_repeater->add_control(
'better_payment_field_name_display_inline_width',
[
'label' => __( 'Column Width', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'size_units' => [ '%', 'px', 'em' ],
'range' => [
'%' => [
'min' => 1,
'max' => 100,
],
'px' => [
'min' => 10,
'max' => 1500,
],
'em' => [
'min' => 1,
'max' => 80,
],
],
'condition' => [
'better_payment_field_name_show' => 'yes',
'better_payment_field_name_display_inline' => 'inline-block'
],
'selectors' => [
'{{WRAPPER}} .better-payment-form-layout form {{CURRENT_ITEM}}.bp-form__group' => 'width: {{SIZE}}{{UNIT}};',
'{{WRAPPER}} .better-payment-form {{CURRENT_ITEM}}.better-payment-field-advanced-layout' => 'width: {{SIZE}}{{UNIT}};',
],
'description' => __( 'Set the width of the column. Use less than 50% to make fields inline', 'better-payment' ),
]
);
$form_fields_first_name = [
'better_payment_field_name_heading' => esc_html__( 'First Name', 'better-payment' ),
'better_payment_field_name_placeholder' => esc_html__( 'First Name', 'better-payment' ),
'better_payment_field_type' => 'text',
'better_payment_primary_field_type' => 'primary_first_name',
'better_payment_field_name_show' => 'yes',
'better_payment_field_name_required' => 'no',
];
$form_fields_last_name = [
'better_payment_field_name_heading' => esc_html__( 'Last Name', 'better-payment' ),
'better_payment_field_name_placeholder' => esc_html__( 'Last Name', 'better-payment' ),
'better_payment_field_type' => 'text',
'better_payment_primary_field_type' => 'primary_last_name',
'better_payment_field_name_show' => 'yes',
'better_payment_field_name_required' => 'no',
];
$form_field_email = [
'better_payment_field_name_heading' => esc_html__( 'Email Address', 'better-payment' ),
'better_payment_field_name_placeholder' => esc_html__( 'Email Address', 'better-payment' ),
'better_payment_field_type' => 'email',
'better_payment_primary_field_type' => 'primary_email',
'better_payment_field_name_show' => 'yes',
'better_payment_field_name_required' => 'yes',
];
$form_field_payment_amount = [
'better_payment_field_name_heading' => esc_html__( 'Payment Amount', 'better-payment' ),
'better_payment_field_name_placeholder' => esc_html__( 'Payment Amount', 'better-payment' ),
'better_payment_field_type' => 'number',
'better_payment_primary_field_type' => 'primary_payment_amount',
'better_payment_field_name_show' => 'yes',
'better_payment_field_name_required' => 'yes',
];
$form_fields_first_name_layout_4_5_6 = [
'better_payment_field_name_heading' => esc_html__( 'First name', 'better-payment' ),
'better_payment_field_name_placeholder' => esc_html__( 'First name', 'better-payment' ),
'better_payment_field_type' => 'text',
'better_payment_primary_field_type' => 'primary_first_name',
'better_payment_field_name_show' => 'yes',
'better_payment_field_name_required' => 'no',
'better_payment_field_name_display_inline' => 'inline-block',
'better_payment_field_name_display_inline_width' => [
'size' => '48',
'unit' => '%',
],
];
$form_fields_last_name_layout_4_5_6 = [
'better_payment_field_name_heading' => esc_html__( 'Last name', 'better-payment' ),
'better_payment_field_name_placeholder' => esc_html__( 'Last name', 'better-payment' ),
'better_payment_field_type' => 'text',
'better_payment_primary_field_type' => 'primary_last_name',
'better_payment_field_name_show' => 'yes',
'better_payment_field_name_required' => 'no',
'better_payment_field_name_display_inline' => 'inline-block',
'better_payment_field_name_display_inline_width' => [
'size' => '48',
'unit' => '%',
],
];
$form_field_email_layout_4_5_6 = [
'better_payment_field_name_heading' => esc_html__( 'Email', 'better-payment' ),
'better_payment_field_name_placeholder' => esc_html__( 'Enter your email', 'better-payment' ),
'better_payment_field_type' => 'email',
'better_payment_primary_field_type' => 'primary_email',
'better_payment_field_name_show' => 'yes',
'better_payment_field_name_required' => 'yes',
];
$form_field_payment_amount_layout_4_5_6 = [
'better_payment_field_name_heading' => esc_html__( 'Amount', 'better-payment' ),
'better_payment_field_name_placeholder' => esc_html__( 'Other amount', 'better-payment' ),
'better_payment_field_type' => 'number',
'better_payment_primary_field_type' => 'primary_payment_amount',
'better_payment_field_name_show' => 'yes',
'better_payment_field_name_required' => 'yes',
];
$form_field_payment_amount_layout_4_5_6_desc = [
'better_payment_field_name_heading' => esc_html__( 'Amount to pay', 'better-payment' ),
'better_payment_field_name_placeholder' => esc_html__( 'Other amount', 'better-payment' ),
'better_payment_field_type' => 'number',
'better_payment_primary_field_type' => 'primary_payment_amount',
'better_payment_field_name_show' => 'yes',
'better_payment_field_name_required' => 'yes',
];
$form_fields_defaults = [
$form_fields_first_name,
$form_fields_last_name,
$form_field_email,
$form_field_payment_amount,
];
$form_fields_defaults_layout_4_5_6 = [
$form_fields_first_name_layout_4_5_6,
$form_fields_last_name_layout_4_5_6,
$form_field_email_layout_4_5_6,
$form_field_payment_amount_layout_4_5_6,
];
$form_fields_defaults_layout_4_5_6_desc = [
$form_field_payment_amount_layout_4_5_6_desc,
$form_fields_first_name_layout_4_5_6,
$form_fields_last_name_layout_4_5_6,
$form_field_email_layout_4_5_6,
];
$form_fields_defaults_layout_4_5_6_woo = [
$form_fields_first_name_layout_4_5_6,
$form_fields_last_name_layout_4_5_6,
$form_field_email_layout_4_5_6,
];
$this->add_control(
'better_payment_form_fields',
[
'label' => esc_html__( 'Form Fields', 'better-payment' ),
'type' => \Elementor\Controls_Manager::REPEATER,
'fields' => $form_fields_repeater->get_controls(),
'default' => $form_fields_defaults,
'title_field' => '{{{ better_payment_field_name_heading }}}',
'condition' => [
'better_payment_form_layout!' => ['layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_control(
'better_payment_form_fields_layout_4_5_6',
[
'label' => esc_html__( 'Form Fields', 'better-payment' ),
'type' => \Elementor\Controls_Manager::REPEATER,
'fields' => $form_fields_repeater->get_controls(),
'default' => $form_fields_defaults_layout_4_5_6,
'title_field' => '{{{ better_payment_field_name_heading }}}',
'condition' => [
'better_payment_form_layout' => ['layout-4-pro'],
],
]
);
$this->add_control(
'better_payment_form_fields_layout_4_5_6_desc',
[
'label' => esc_html__( 'Form Fields', 'better-payment' ),
'type' => \Elementor\Controls_Manager::REPEATER,
'fields' => $form_fields_repeater->get_controls(),
'default' => $form_fields_defaults_layout_4_5_6_desc,
'title_field' => '{{{ better_payment_field_name_heading }}}',
'condition' => [
'better_payment_form_layout' => ['layout-5-pro'],
],
]
);
$this->add_control(
'better_payment_form_fields_layout_4_5_6_woo',
[
'label' => esc_html__( 'Form Fields', 'better-payment' ),
'type' => \Elementor\Controls_Manager::REPEATER,
'fields' => $form_fields_repeater->get_controls(),
'default' => $form_fields_defaults_layout_4_5_6_woo,
'title_field' => '{{{ better_payment_field_name_heading }}}',
'condition' => [
'better_payment_form_layout' => ['layout-6-pro'],
],
]
);
$repeater = new Repeater();
$repeater->add_control(
'better_payment_amount_val',
[
'label' => esc_html__( 'Payment Amount', 'better-payment' ),
'type' => Controls_Manager::NUMBER,
'min' => 1,
]
);
$this->add_control(
'better_payment_show_amount_list',
[
'label' => __( 'Show Amount List', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => 'no',
'condition' => [
'better_payment_form_payment_source!' => ['woocommerce', 'fluentcart'],
'better_payment_form_layout!' => ['layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_control(
'better_payment_show_amount_list_layout_4_5_6',
[
'label' => __( 'Show Amount List', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => 'yes',
'condition' => [
'better_payment_form_layout' => ['layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
'better_payment_form_payment_type!' => [ 'recurring', 'split-payment' ],
],
]
);
$this->add_control(
'better_payment_amount',
[
'label' => esc_html__( 'Amount List', 'better-payment' ),
'type' => Controls_Manager::REPEATER,
'default' => [
[
'better_payment_amount_val' => 5
],
[
'better_payment_amount_val' => 10
],
[
'better_payment_amount_val' => 15
],
[
'better_payment_amount_val' => 20
],
],
'fields' => $repeater->get_controls(),
'title_field' => ' {{{ better_payment_amount_val }}}',
'condition' => [
'better_payment_show_amount_list' => 'yes',
'better_payment_form_payment_source!' => ['woocommerce', 'fluentcart'],
'better_payment_form_payment_type!' => [ 'recurring', 'split-payment' ],
'better_payment_form_layout!' => ['layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_control(
'better_payment_amount_layout_4_5_6',
[
'label' => esc_html__( 'Amount List', 'better-payment' ),
'type' => Controls_Manager::REPEATER,
'default' => [
[
'better_payment_amount_val' => 10
],
[
'better_payment_amount_val' => 30
],
[
'better_payment_amount_val' => 50
],
[
'better_payment_amount_val' => 100
],
[
'better_payment_amount_val' => 500
],
],
'fields' => $repeater->get_controls(),
'title_field' => ' {{{ better_payment_amount_val }}}',
'condition' => [
'better_payment_show_amount_list_layout_4_5_6' => 'yes',
'better_payment_form_payment_type!' => [ 'recurring', 'split-payment' ],
'better_payment_form_layout' => ['layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
do_action('better_payment/elementor/editor/layouts_form_settings_amount_list_section', $this);
$this->add_control(
'better_payment_form_transaction_details_section',
[
'label' => esc_html__( 'Transaction Details', 'better-payment' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
]
);
$this->add_control(
'better_payment_form_transaction_details_heading',
[
'label' => esc_html__( 'Heading Text', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Transaction Details', 'better-payment' ),
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_transaction_details_sub_heading',
[
'label' => esc_html__( 'Sub Heading Text', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Total payment of your product in the following:', 'better-payment' ),
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_transaction_details_product_title',
[
'label' => esc_html__( 'Product Title Text', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Title:', 'better-payment' ),
'condition' => [
'better_payment_form_payment_source' => 'woocommerce',
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_transaction_details_amount_text',
[
'label' => esc_html__( 'Amount Text', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Amount:', 'better-payment' ),
'label_block' => true,
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_form_layout!' => ['layout-4-pro', 'layout-6-pro'],
],
]
);
do_action('better_payment/elementor/editor/layouts_form_settings_transaction_details_section', $this);
$this->add_control(
'better_payment_form_form_buttons_section',
[
'label' => esc_html__( 'Form Custom Text', 'better-payment' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
]
);
$this->add_control(
'better_payment_form_form_title_text',
[
'label' => esc_html__( 'Form Title', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'label_block' => true,
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_form_layout' => ['layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_control(
'better_payment_form_form_sub_title_text',
[
'label' => esc_html__( 'Form Sub-Title', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'label_block' => true,
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_form_layout' => ['layout-5-pro'],
],
]
);
$this->add_control(
'better_payment_form_form_buttons_paypal_button_text',
[
'label' => esc_html__( 'PayPal Button Text', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_form_buttons_stripe_button_text',
[
'label' => esc_html__( 'Stripe Button Text', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_form_buttons_paystack_button_text',
[
'label' => esc_html__( 'Paystack Button Text', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->end_controls_section();
}
public function paypal_form_setting() {
$this->start_controls_section(
'better_payment_form_paypal_settings',
[
'label' => esc_html__( 'PayPal Settings', 'better-payment' ),
'condition' => [
'better_payment_form_paypal_enable' => 'yes'
]
]
);
$this->add_control(
'better_payment_paypal_business_email',
[
'label' => __( 'Business Email', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'dynamic' => [
'active' => true,
],
'label_block' => true,
'default' => esc_html($this->better_payment_global_settings['better_payment_settings_payment_paypal_email']),
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_paypal_button_type',
[
'label' => esc_html__( 'Button Type', 'better-payment' ),
'type' => Controls_Manager::HIDDEN,
'default' => '_xclick',
'options' => [
'_xclick' => 'XCLICK',
'_cart' => 'CART',
'_donations' => 'DONATIONS'
]
]
);
$this->add_control(
'better_payment_paypal_live_mode',
[
'label' => __( 'Live Mode', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => esc_html($this->better_payment_global_settings['better_payment_settings_payment_paypal_live_mode']), //yes or no
]
);
$this->end_controls_section();
}
public function stripe_form_setting() {
$this->start_controls_section(
'better_payment_form_stripe_settings',
[
'label' => esc_html__( 'Stripe Settings', 'better-payment' ),
'condition' => [
'better_payment_form_stripe_enable' => 'yes'
]
]
);
$this->add_control(
'better_payment_stripe_public_key',
[
'label' => __( 'Test Public Key', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'dynamic' => [
'active' => true,
],
'label_block' => true,
'default' => esc_html( $this->better_payment_global_settings['better_payment_settings_payment_stripe_test_public'] ),
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_stripe_live_mode!' => 'yes',
],
]
);
$this->add_control(
'better_payment_stripe_secret_key',
[
'label' => __( 'Test Secret Key', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'input_type' => 'password',
'dynamic' => [
'active' => true,
],
'label_block' => true,
'default' => esc_html( $this->better_payment_global_settings['better_payment_settings_payment_stripe_test_secret'] ),
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_stripe_live_mode!' => 'yes',
],
]
);
$this->add_control(
'better_payment_stripe_public_key_live',
[
'label' => __( 'Live Public Key', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'dynamic' => [
'active' => true,
],
'label_block' => true,
'default' => esc_html( $this->better_payment_global_settings['better_payment_settings_payment_stripe_live_public'] ),
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_stripe_live_mode' => 'yes',
],
]
);
$this->add_control(
'better_payment_stripe_secret_key_live',
[
'label' => __( 'Live Secret Key', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'input_type' => 'password',
'dynamic' => [
'active' => true,
],
'label_block' => true,
'default' => esc_html( $this->better_payment_global_settings['better_payment_settings_payment_stripe_live_secret'] ),
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_stripe_live_mode' => 'yes',
],
]
);
$this->add_control(
'better_payment_stripe_live_mode',
[
'label' => __( 'Live Mode', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => esc_html( $this->better_payment_global_settings['better_payment_settings_payment_stripe_live_mode'] ), //yes or no
]
);
$this->end_controls_section();
}
public function paystack_form_setting() {
$this->start_controls_section(
'better_payment_form_paystack_settings',
[
'label' => esc_html__( 'Paystack Settings', 'better-payment' ),
'condition' => [
'better_payment_form_paystack_enable' => 'yes'
]
]
);
$better_payment_is_paystack_live = ! empty( $this->better_payment_global_settings['better_payment_settings_payment_paystack_live_mode'] ) && $this->better_payment_global_settings['better_payment_settings_payment_paystack_live_mode'] == 'yes' ? 1 : 0;
$bp_settings_paystack_live_public = ! empty( $this->better_payment_global_settings['better_payment_settings_payment_paystack_live_public'] ) ? $this->better_payment_global_settings['better_payment_settings_payment_paystack_live_public'] : '';
$bp_settings_paystack_test_public = ! empty( $this->better_payment_global_settings['better_payment_settings_payment_paystack_test_public'] ) ? $this->better_payment_global_settings['better_payment_settings_payment_paystack_test_public'] : '';
$this->add_control(
'better_payment_paystack_public_key',
[
'label' => __( 'Public Key', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'dynamic' => [
'active' => true,
],
'label_block' => true,
'default' => $better_payment_is_paystack_live ? esc_html( $bp_settings_paystack_live_public ) : esc_html( $bp_settings_paystack_test_public ),
'ai' => [
'active' => false,
],
]
);
$bp_settings_paystack_live_secret = ! empty( $this->better_payment_global_settings['better_payment_settings_payment_paystack_live_secret'] ) ? $this->better_payment_global_settings['better_payment_settings_payment_paystack_live_secret'] : '';
$bp_settings_paystack_test_secret = ! empty( $this->better_payment_global_settings['better_payment_settings_payment_paystack_test_secret'] ) ? $this->better_payment_global_settings['better_payment_settings_payment_paystack_test_secret'] : '';
$this->add_control(
'better_payment_paystack_secret_key',
[
'label' => __( 'Secret Key', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'input_type' => 'password',
'dynamic' => [
'active' => true,
],
'label_block' => true,
'default' => $better_payment_is_paystack_live ? esc_html( $bp_settings_paystack_live_secret ) : esc_html( $bp_settings_paystack_test_secret ),
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_paystack_live_mode',
[
'label' => __( 'Live Mode', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => ! empty( $this->better_payment_global_settings['better_payment_settings_payment_paystack_live_mode'] ) ? esc_html($this->better_payment_global_settings['better_payment_settings_payment_paystack_live_mode']) : 'no', //yes or no
]
);
$this->end_controls_section();
}
public function email_element_settings() {
$this->start_controls_section(
'better_payment_email_element',
[
'label' => esc_html__( 'Email Settings', 'better-payment' ),
'condition' => [
'better_payment_form_email_enable' => 'yes'
]
]
);
$this->add_control(
'better_payment_form_email_logo',
[
'label' => __('Choose Logo', 'better-payment'),
'type' => Controls_Manager::MEDIA,
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->start_controls_tabs( 'better_payment_email_tabs' );
//Admin Email Notification
$this->start_controls_tab( 'better_payment_email_admin_tab', [
'label' => __( 'Admin', 'better-payment' ),
] );
$this->add_control('better_payment_email_to', [
'label' => __('To', 'better-payment'),
'type' => Controls_Manager::TEXT,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_to']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_to']) : esc_html(get_option('admin_email')),
'placeholder' => get_option('admin_email'),
'label_block' => true,
'title' => __('Email address to notify site admin after each successful transaction', 'better-payment'),
'render_type' => 'none',
'ai' => [
'active' => false,
],
]);
$default_subject = !empty($this->better_payment_global_settings['better_payment_settings_general_email_subject']) ? esc_html__($this->better_payment_global_settings['better_payment_settings_general_email_subject'], 'better-payment') : sprintf(__('Better Payment transaction on %s', 'better-payment'), esc_html(get_option('blogname')));
$this->add_control('better_payment_email_subject', [
'label' => __('Subject', 'better-payment'),
'type' => Controls_Manager::TEXT,
'default' => esc_html($default_subject),
'placeholder' => esc_html($default_subject),
'label_block' => true,
'render_type' => 'none',
'ai' => [
'active' => false,
],
]);
$this->add_control('better_payment_email_content', [
'label' => __('Message', 'better-payment'),
'type' => Controls_Manager::TEXTAREA,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_message_admin']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_message_admin']) : '',
'placeholder' => '',
'render_type' => 'none',
]);
$this->add_control(
'better_payment_email_content_greeting',
[
'label' => __( 'Show Greeting Text', 'better-payment' ),
'type' => Controls_Manager::HIDDEN,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => 'yes',
]
);
$this->add_control(
'better_payment_email_content_heading',
[
'label' => __( 'Show Header Text', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => 'yes',
]
);
$this->add_control(
'better_payment_email_content_from_section',
[
'label' => __( 'Show From Section', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => 'yes',
]
);
$this->add_control(
'better_payment_email_content_to_section',
[
'label' => __( 'Show To Section', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => 'yes',
]
);
$this->add_control(
'better_payment_email_content_transaction_summary',
[
'label' => __( 'Show Transaction Summary', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => 'yes',
]
);
$this->add_control(
'better_payment_email_content_footer_text',
[
'label' => __( 'Show Footer Text', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Yes', 'better-payment' ),
'label_off' => __( 'No', 'better-payment' ),
'return_value' => 'yes',
'default' => 'yes',
]
);
$site_url_parsed = wp_parse_url(get_site_url());
$better_domain = $site_url_parsed['host'] ? esc_html($site_url_parsed['host']) : 'example.com';
$this->add_control('better_payment_email_from', [
'label' => __('From email', 'better-payment'),
'type' => Controls_Manager::TEXT,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_from_email']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_from_email']) : "wordpress@$better_domain",
'render_type' => 'none',
'separator' => 'before',
'ai' => [
'active' => false,
],
]);
$this->add_control('better_payment_email_from_name', [
'label' => __('From name', 'better-payment'),
'type' => Controls_Manager::TEXT,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_from_name']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_from_name']) : esc_html(get_bloginfo('name')),
'render_type' => 'none',
'ai' => [
'active' => false,
],
]);
$this->add_control('better_payment_email_reply_to', [
'label' => __('Reply-To', 'better-payment'),
'type' => Controls_Manager::TEXT,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_reply_to']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_reply_to']) : "wordpress@$better_domain",
'placeholder' => "wordpress@$better_domain",
'render_type' => 'none',
'ai' => [
'active' => false,
],
]);
$this->add_control('better_payment_email_cc', [
'label' => __('Cc', 'better-payment'),
'type' => Controls_Manager::TEXT,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_cc']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_cc']) : '',
'render_type' => 'none',
'ai' => [
'active' => false,
],
]);
$this->add_control('better_payment_email_bcc', [
'label' => __('Bcc', 'better-payment'),
'type' => Controls_Manager::TEXT,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_bcc']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_bcc']) : '',
'render_type' => 'none',
'ai' => [
'active' => false,
],
]);
$this->add_control('better_payment_email_content_type', [
'label' => __('Send as', 'better-payment'),
'type' => Controls_Manager::SELECT,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_send_as']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_send_as']) : 'html', //html or plain
'render_type' => 'none',
'options' => [
'html' => __('HTML', 'better-payment'),
'plain' => __('Plain', 'better-payment')
]
]);
$this->end_controls_tab();
//Customer Email Notification
$this->start_controls_tab( 'better_payment_email_customer_tab', [
'label' => __( 'Customer', 'better-payment' ),
] );
$default_subject = !empty($this->better_payment_global_settings['better_payment_settings_general_email_subject_customer']) ? esc_html__($this->better_payment_global_settings['better_payment_settings_general_email_subject_customer'], 'better-payment') : sprintf(__('Better Payment transaction on %s', 'better-payment'), esc_html(get_option('blogname')));
$this->add_control('better_payment_email_subject_customer', [
'label' => __('Subject', 'better-payment'),
'type' => Controls_Manager::TEXT,
'default' => esc_html($default_subject),
'placeholder' => esc_html($default_subject),
'label_block' => true,
'render_type' => 'none',
'ai' => [
'active' => false,
],
]);
$this->add_control('better_payment_email_content_customer', [
'label' => __('Message', 'better-payment'),
'type' => Controls_Manager::TEXTAREA,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_message_customer']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_message_customer']) : '',
'placeholder' => '',
'render_type' => 'none'
]);
$this->add_control(
'better_payment_form_email_attachment_pdf_show',
[
'label' => __('PDF Attachment?', 'better-payment'),
'type' => Controls_Manager::SWITCHER,
'default' => '',
'label_on' => __('Yes', 'better-payment'),
'label_off' => __('No', 'better-payment'),
'return_value' => 'yes',
]
);
$this->add_control(
'better_payment_form_email_attachment',
[
'label' => __('Attachment', 'better-payment'),
'description' => __('Allowed file types: jpg, jpeg, png', 'better-payment'),
'type' => Controls_Manager::MEDIA,
'label_block' => true,
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_form_email_attachment_pdf_show!' => 'yes',
],
]
);
$this->add_control(
'better_payment_form_email_attachment_pdf',
[
'label' => __('PDF', 'better-payment'),
'description' => __('Allowed file types: pdf', 'better-payment'),
'type' => Controls_Manager::MEDIA,
'media_types' => [
'application/pdf'
],
'label_block' => true,
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_form_email_attachment_pdf_show' => 'yes',
],
]
);
$site_url_parsed = wp_parse_url(get_site_url());
$better_domain = $site_url_parsed['host'] ? esc_html($site_url_parsed['host']) : 'example.com';
$this->add_control('better_payment_email_from_customer', [
'label' => __('From email', 'better-payment'),
'type' => Controls_Manager::TEXT,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_from_email_customer']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_from_email_customer']) : "wordpress@$better_domain",
'render_type' => 'none',
'separator' => 'before',
'ai' => [
'active' => false,
],
]);
$this->add_control('better_payment_email_from_name_customer', [
'label' => __('From name', 'better-payment'),
'type' => Controls_Manager::TEXT,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_from_name_customer']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_from_name_customer']) : get_bloginfo('name'),
'render_type' => 'none',
'ai' => [
'active' => false,
],
]);
$this->add_control('better_payment_email_reply_to_customer', [
'label' => __('Reply-To', 'better-payment'),
'type' => Controls_Manager::TEXT,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_reply_to_customer']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_reply_to_customer']) : "wordpress@$better_domain",
'placeholder' => "wordpress@$better_domain",
'render_type' => 'none',
'ai' => [
'active' => false,
],
]);
$this->add_control('better_payment_email_cc_customer', [
'label' => __('Cc', 'better-payment'),
'type' => Controls_Manager::TEXT,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_cc_customer']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_cc_customer']) : '',
'render_type' => 'none',
'ai' => [
'active' => false,
],
]);
$this->add_control('better_payment_email_bcc_customer', [
'label' => __('Bcc', 'better-payment'),
'type' => Controls_Manager::TEXT,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_bcc_customer']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_bcc_customer']) : '',
'render_type' => 'none',
'ai' => [
'active' => false,
],
]);
$this->add_control('better_payment_email_content_type_customer', [
'label' => __('Send as', 'better-payment'),
'type' => Controls_Manager::SELECT,
'default' => !empty($this->better_payment_global_settings['better_payment_settings_general_email_send_as_customer']) ? esc_html($this->better_payment_global_settings['better_payment_settings_general_email_send_as_customer']) : 'html', //html or plain
'render_type' => 'none',
'options' => [
'html' => __('HTML', 'better-payment'),
'plain' => __('Plain', 'better-payment')
]
]);
$this->end_controls_tab();
$this->end_controls_tabs();
$this->end_controls_section();
}
public function success_message_setting() {
$this->start_controls_section(
'better_payment_form_success_message_settings',
[
'label' => esc_html__( 'Success Message', 'better-payment' ),
'conditions' => [
'relation' => 'or',
'terms' => [
[
'name' => 'better_payment_form_stripe_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_form_paypal_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_form_paystack_enable',
'value' => 'yes',
],
],
]
]
);
$this->add_control(
'better_payment_form_success_message_icon',
[
'label' => esc_html__( 'Icon', 'better-payment' ),
'type' => Controls_Manager::ICONS,
]
);
$this->add_control(
'better_payment_form_success_message_content',
[
'label' => esc_html__( 'Content', 'better-payment' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
]
);
$this->add_control('better_payment_form_success_message_heading', [
'label' => __('Heading', 'better-payment'),
'type' => Controls_Manager::TEXTAREA,
'default' => __('You paid', 'better-payment') . ' [currency_symbol][amount] ' . __('to', 'better-payment') . ' [store_name]',
'placeholder' => __('You paid', 'better-payment') . ' [currency_symbol][amount] ' . __('to', 'better-payment') . ' [store_name]',
'description' => __('Use shortcode like', 'better-payment') . ' [currency_symbol], [amount], [store_name] ' . __('to customize your message.', 'better-payment') . ' ' . __('eg:', 'better-payment') . ' ' . __('You paid', 'better-payment') . ' [currency_symbol][amount] ' . __('to', 'better-payment') . ' [store_name] ' . __('for your order.', 'better-payment'),
'render_type' => 'none',
]);
$this->add_control('better_payment_form_success_message_sub_heading', [
'label' => __('Sub Heading', 'better-payment'),
'type' => Controls_Manager::TEXTAREA,
'default' => __('Payment confirmation email will be sent to', 'better-payment') . ' [customer_email]',
'placeholder' => __('Payment confirmation email will be sent to', 'better-payment') . ' [customer_email]',
'description' => __('Payment confirmation email will be sent to', 'better-payment') . ' [customer_email]',
'render_type' => 'none',
]);
$this->add_control(
'better_payment_form_success_message_transaction',
[
'label' => __( 'Transaction', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Transaction ID', 'better-payment' ),
'placeholder' => __( 'Transaction ID', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_success_message_thanks',
[
'label' => __( 'Thank You', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Thank you for your payment', 'better-payment' ),
'placeholder' => __( 'Thank you for your payment', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_success_message_amount_text',
[
'label' => __( 'Amount', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Amount', 'better-payment' ),
'placeholder' => __( 'Amount', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_success_message_currency_text',
[
'label' => __( 'Currency', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Currency', 'better-payment' ),
'placeholder' => __( 'Currency', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_success_message_pay_method_text',
[
'label' => __( 'Payment Method', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Payment Method', 'better-payment' ),
'placeholder' => __( 'Payment Method', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_success_message_pay_type_text',
[
'label' => __( 'Payment Type', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Payment Type', 'better-payment' ),
'placeholder' => __( 'Payment Type', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_success_message_merchant_details_text',
[
'label' => __( 'Merchant Details', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Merchant Details', 'better-payment' ),
'placeholder' => __( 'Merchant Details', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_success_message_paid_amount_text',
[
'label' => __( 'Paid Amount', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Paid Amount', 'better-payment' ),
'placeholder' => __( 'Paid Amount', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_success_message_purchase_details_text',
[
'label' => __( 'Purchase Details', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Purchase Details', 'better-payment' ),
'placeholder' => __( 'Purchase Details', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_success_message_print_btn_text',
[
'label' => __( 'Print', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Print', 'better-payment' ),
'placeholder' => __( 'Print', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_success_message_view_details_btn_text',
[
'label' => __( 'View Details', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'View Details', 'better-payment' ),
'placeholder' => __( 'View Details', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control( 'better_payment_form_success_page_view_details_url', [
'type' => Controls_Manager::URL,
'label' => __( 'User Dashboard URL', 'better-payment' ),
'show_external' => false,
'placeholder' => __( 'eg. https://example.com/custom-page/', 'better-payment' ),
'description' => __( 'Please enter the page url where User Dashboard widget is used.', 'better-payment' ),
] );
$this->add_control( 'better_payment_form_success_page_url', [
'type' => Controls_Manager::URL,
'label' => __( 'Custom Redirect URL', 'better-payment' ),
'show_external' => false,
'placeholder' => __( 'eg. https://example.com/custom-page/', 'better-payment' ),
'description' => __( 'Please note that only your current domain is allowed here to keep your site secure.', 'better-payment' ),
] );
$this->end_controls_section();
}
public function error_message_setting() {
$this->start_controls_section(
'better_payment_form_error_message_settings',
[
'label' => esc_html__( 'Error Message', 'better-payment' ),
'conditions' => [
'relation' => 'or',
'terms' => [
[
'name' => 'better_payment_form_stripe_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_form_paypal_enable',
'value' => 'yes',
],
[
'name' => 'better_payment_form_paystack_enable',
'value' => 'yes',
],
],
]
]
);
$this->add_control(
'better_payment_form_error_message_icon',
[
'label' => esc_html__( 'Icon', 'better-payment' ),
'type' => Controls_Manager::ICONS,
]
);
$this->add_control(
'better_payment_form_error_message_heading',
[
'label' => __( 'Heading Message Text', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Payment Failed!', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_error_message_sub_heading',
[
'label' => __( 'Sub Heading Message Text', 'better-payment' ),
'type' => Controls_Manager::TEXTAREA,
'default' => __( 'Your payment has failed. Please check your payment details', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_error_message_transaction_id_text',
[
'label' => __( 'Transaction ID Text', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'Transaction ID', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
]
);
$this->add_control(
'better_payment_form_error_details_button_switch',
[
'label' => __( 'Show Details Button', 'better-payment' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'Show', 'better-payment' ),
'label_off' => __( 'Hide', 'better-payment' ),
'return_value' => 'yes',
'default' => 'no',
'separator' => 'before',
]
);
$this->add_control(
'better_payment_form_error_details_button_text',
[
'label' => __( 'View Details', 'better-payment' ),
'type' => Controls_Manager::TEXT,
'default' => __( 'View Details', 'better-payment' ),
'dynamic' => [
'active' => true,
],
'label_block' => true,
'ai' => [
'active' => false,
],
'condition' => [
'better_payment_form_error_details_button_switch' => 'yes',
],
]
);
$this->add_control( 'better_payment_form_error_details_page_url', [
'type' => Controls_Manager::URL,
'label' => __( 'User Dashboard URL', 'better-payment' ),
'show_external' => false,
'placeholder' => __( 'eg. https://example.com/custom-page/', 'better-payment' ),
'condition' => [
'better_payment_form_error_details_button_switch' => 'yes',
],
'description' => __( 'Please enter the page url where User Dashboard widget is used.', 'better-payment' ),
] );
$this->add_control( 'better_payment_form_error_page_url', [
'type' => Controls_Manager::URL,
'label' => __( 'Custom Redirect URL', 'better-payment' ),
'show_external' => false,
'placeholder' => __( 'eg. https://example.com/custom-page/', 'better-payment' ),
'description' => __( 'Please note that only your current domain is allowed here to keep your site secure.', 'better-payment' ),
] );
$this->end_controls_section();
}
public function form_style() {
$this->form_sidebar_style();
$this->form_sidebar_text_style();
$this->form_container_style();
$this->form_fields_style();
$this->form_fields_amount_style();
$this->form_button_style();
}
public function form_sidebar_style() {
$this->start_controls_section(
'better_payment_form_sidebar_style',
[
'label' => esc_html__( 'Form Sidebar Style', 'better-payment' ),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_group_control(
Group_Control_Background::get_type(),
[
'name' => 'better_payment_form_sidebar_background',
'types' => [ 'classic', 'gradient' ],
'selector' => '{{WRAPPER}} .better-payment .dynamic-amount-section, {{WRAPPER}} .better-payment .transaction-details-wrap, {{WRAPPER}} .better-payment .donation-image-wrap, {{WRAPPER}} .better-payment .order-details-wrap',
'fields_options' => [
'color' => [
'selectors' => [
'{{SELECTOR}}' => 'background-color: {{VALUE}}; background-image: none;',
],
],
],
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_margin',
[
'label' => esc_html__( 'Margin', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .dynamic-amount-section' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .transaction-details-wrap' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .donation-image-wrap' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .order-details-wrap' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
'separator' => 'before',
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_padding',
[
'label' => esc_html__( 'Padding', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .dynamic-amount-section-inner.p-6' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
'{{WRAPPER}} .better-payment .transaction-details-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
'{{WRAPPER}} .better-payment .donation-image-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
'{{WRAPPER}} .better-payment .order-details-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
],
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_border_radius',
[
'label' => esc_html__( 'Border Radius', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'separator' => 'before',
'size_units' => [ 'px' ],
'selectors' => [
'{{WRAPPER}} .better-payment .dynamic-amount-section' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .transaction-details-wrap' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .donation-image-wrap' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .order-details-wrap' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'better_payment_form_sidebar_border',
'selector' => '{{WRAPPER}} .better-payment .dynamic-amount-section, {{WRAPPER}} .better-payment .transaction-details-wrap, {{WRAPPER}} .better-payment .donation-image-wrap, {{WRAPPER}} .better-payment .order-details-wrap',
]
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
[
'name' => 'better_payment_form_sidebar_box_shadow',
'selector' => '{{WRAPPER}} .better-payment .dynamic-amount-section, {{WRAPPER}} .better-payment .transaction-details-wrap, {{WRAPPER}} .better-payment .donation-image-wrap, {{WRAPPER}} .better-payment .order-details-wrap',
]
);
$this->end_controls_section();
}
public function form_sidebar_text_style() {
$this->start_controls_section(
'better_payment_form_sidebar_text_style',
[
'label' => esc_html__( 'Sidebar Text Style', 'better-payment' ),
'tab' => Controls_Manager::TAB_STYLE,
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_control(
'better_payment_form_sidebar_text_title_style',
[
'label' => __( 'Title Text', 'better-payment' ),
'type' => Controls_Manager::HEADING,
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_control(
'better_payment_form_sidebar_text_title_color',
[
'label' => __( 'Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-title' => 'color: {{VALUE}}',
'{{WRAPPER}} .transaction-details-wrap .transaction-details-header-title' => 'color: {{VALUE}}',
'{{WRAPPER}} .order-details-wrap .title' => 'color: {{VALUE}}',
],
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'better_payment_form_sidebar_text_title_typography',
'label' => __( 'Typography', 'better-payment' ),
'selector' => '{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-title, {{WRAPPER}} .transaction-details-wrap .transaction-details-header-title, {{WRAPPER}} .order-details-wrap .title',
'separator' => 'after',
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_text_title_margin',
[
'label' => esc_html__( 'Margin', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .transaction-details-wrap .transaction-details-header-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .order-details-wrap .title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_text_title_padding',
[
'label' => esc_html__( 'Padding', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
'{{WRAPPER}} .transaction-details-wrap .transaction-details-header-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
'{{WRAPPER}} .order-details-wrap .title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
],
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_control(
'better_payment_form_sidebar_text_sub_title_style',
[
'label' => __( 'Sub-Title Text', 'better-payment' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro', 'layout-6-pro'],
],
],
);
$this->add_control(
'better_payment_form_sidebar_text_sub_title_color',
[
'label' => __( 'Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-sub-title' => 'color: {{VALUE}}',
'{{WRAPPER}} .transaction-details-wrap .transaction-details-header-paragraph' => 'color: {{VALUE}}',
],
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'better_payment_form_sidebar_text_sub_title_typography',
'label' => __( 'Typography', 'better-payment' ),
'selector' => '{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-sub-title, {{WRAPPER}} .transaction-details-wrap .transaction-details-header-paragraph',
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_text_sub_title_margin',
[
'label' => esc_html__( 'Margin', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-sub-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .transaction-details-wrap .transaction-details-header-paragraph' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_text_sub_title_padding',
[
'label' => esc_html__( 'Padding', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-sub-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
'{{WRAPPER}} .transaction-details-wrap .transaction-details-header-paragraph' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
],
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_control(
'better_payment_form_sidebar_text_amount_style',
[
'label' => __( 'Amount Text', 'better-payment' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
],
);
$this->add_control(
'better_payment_form_sidebar_text_amount_title_color',
[
'label' => __( 'Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-amount' => 'color: {{VALUE}}',
'{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-amount a' => 'color: {{VALUE}}',
'{{WRAPPER}} .transaction-details-wrap .total-amount-text' => 'color: {{VALUE}}',
'{{WRAPPER}} .order-details-wrap .total-amount-text' => 'color: {{VALUE}}',
],
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'better_payment_form_sidebar_text_amount_typography',
'label' => __( 'Typography', 'better-payment' ),
'selector' => '{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-amount, {{WRAPPER}} .transaction-details-wrap .total-amount-text, {{WRAPPER}} .order-details-wrap .total-amount-text',
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_text_amount_margin',
[
'label' => esc_html__( 'Margin', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-amount' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .transaction-details-wrap .total-amount-text' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .order-details-wrap .total-amount-text' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_text_amount_padding',
[
'label' => esc_html__( 'Padding', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-amount' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
'{{WRAPPER}} .transaction-details-wrap .total-amount-text' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
'{{WRAPPER}} .order-details-wrap .total-amount-text' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
],
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_control(
'better_payment_form_sidebar_text_amount_summary_style',
[
'label' => __( 'Amount Summary', 'better-payment' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
],
);
$this->add_control(
'better_payment_form_sidebar_text_amount_summary_color',
[
'label' => __( 'Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-amount-summary' => 'color: {{VALUE}}',
'{{WRAPPER}} .transaction-details-wrap .total-amount-number' => 'color: {{VALUE}}',
'{{WRAPPER}} .transaction-details-wrap .total-amount-number span' => 'color: {{VALUE}}',
'{{WRAPPER}} .order-details-wrap .total-amount-number' => 'color: {{VALUE}}',
],
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'better_payment_form_sidebar_text_amount_summary_typography',
'label' => __( 'Typography', 'better-payment' ),
'selector' => '{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-amount-summary, {{WRAPPER}} .transaction-details-wrap .total-amount-number, {{WRAPPER}} .transaction-details-wrap .total-amount-number span, {{WRAPPER}} .order-details-wrap .total-amount-number',
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_text_amount_summary_margin',
[
'label' => esc_html__( 'Margin', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-amount-summary' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .transaction-details-wrap .total-amount-number' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .order-details-wrap .total-amount-number' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_text_amount_summary_padding',
[
'label' => esc_html__( 'Padding', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .dynamic-amount-section-inner .bp-dynamic-amount-section-amount-summary' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
'{{WRAPPER}} .transaction-details-wrap .total-amount-number' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
'{{WRAPPER}} .order-details-wrap .total-amount-number' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
],
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_control(
'better_payment_form_sidebar_text_icon_style',
[
'label' => __( 'Icon', 'better-payment' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
'condition' => [
'better_payment_form_layout!' => ['layout-1', 'layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
],
);
$this->add_control(
'better_payment_form_sidebar_text_icon_color',
[
'label' => __( 'Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .bp-dynamic-amount-section-icon:before' => 'color: {{VALUE}}',
],
'condition' => [
'better_payment_form_layout!' => ['layout-1', 'layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_text_icon_font_size',
[
'label' => esc_html__( 'Font Size', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'size_units' => [ 'px', 'em', '%' ],
'range' => [
'px' => [
'min' => 10,
'max' => 100,
],
'em' => [
'min' => 1,
'max' => 50,
],
],
'selectors' => [
'{{WRAPPER}} .bp-dynamic-amount-section-icon:before' => 'font-size: {{SIZE}}{{UNIT}};',
],
'condition' => [
'better_payment_form_layout!' => ['layout-1', 'layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_text_icon_margin',
[
'label' => esc_html__( 'Margin', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .bp-dynamic-amount-section-icon-wrap' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
'condition' => [
'better_payment_form_layout!' => ['layout-1', 'layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_sidebar_text_icon_padding',
[
'label' => esc_html__( 'Padding', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .bp-dynamic-amount-section-icon-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
],
'condition' => [
'better_payment_form_layout!' => ['layout-1', 'layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->end_controls_section();
}
public function form_container_style() {
$this->start_controls_section(
'better_payment_form_container_style',
[
'label' => esc_html__( 'Form Container Style', 'better-payment' ),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_group_control(
Group_Control_Background::get_type(),
[
'name' => 'better_payment_form_container_background',
'types' => [ 'classic', 'gradient' ],
'selector' => '{{WRAPPER}} .better-payment .form-content-section, {{WRAPPER}} .better-payment .general-form-wrap, {{WRAPPER}} .better-payment .donation-form-wrap, {{WRAPPER}} .better-payment .woo-form-wrap',
]
);
$this->add_responsive_control(
'better_payment_form_container_margin',
[
'label' => esc_html__( 'Margin', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .general-form-wrap' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .donation-form-wrap' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .woo-form-wrap' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_responsive_control(
'better_payment_form_container_padding',
[
'label' => esc_html__( 'Padding', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section-inner.p-6' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
'{{WRAPPER}} .better-payment .general-form-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
'{{WRAPPER}} .better-payment .donation-form-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
'{{WRAPPER}} .better-payment .woo-form-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
],
]
);
$this->add_control(
'better_payment_form_container_border_radius',
[
'label' => esc_html__( 'Border Radius', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'separator' => 'before',
'size_units' => [ 'px' ],
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .general-form-wrap' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .donation-form-wrap' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .woo-form-wrap' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'better_payment_form_container_border',
'selector' => '{{WRAPPER}} .better-payment .form-content-section, {{WRAPPER}} .better-payment .general-form-wrap, {{WRAPPER}} .better-payment .donation-form-wrap, {{WRAPPER}} .better-payment .woo-form-wrap',
]
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
[
'name' => 'better_payment_form_container_box_shadow',
'selector' => '{{WRAPPER}} .better-payment .form-content-section, {{WRAPPER}} .better-payment .general-form-wrap, {{WRAPPER}} .better-payment .donation-form-wrap, {{WRAPPER}} .better-payment .woo-form-wrap',
]
);
$this->end_controls_section();
}
public function form_fields_style() {
$this->start_controls_section(
'better_payment_form_fields_style',
[
'label' => esc_html__( 'Form Fields Style', 'better-payment' ),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_control(
'better_payment_form_fields_input_bg',
[
'label' => __( 'Background Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section input' => 'background-color: {{VALUE}}',
'{{WRAPPER}} .better-payment .general-form-wrap input' => 'background-color: {{VALUE}}',
'{{WRAPPER}} .better-payment .donation-form-wrap input' => 'background-color: {{VALUE}}',
'{{WRAPPER}} .better-payment .woo-form-wrap input' => 'background-color: {{VALUE}}',
],
]
);
$this->add_control(
'better_payment_form_fields_input_text_color',
[
'label' => __( 'Text Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section input' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .form-content-section .payment-method-checkbox' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .general-form-wrap input' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .donation-form-wrap input' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .woo-form-wrap input' => 'color: {{VALUE}}',
],
]
);
$this->add_control(
'better_payment_form_fields_input_placeholder_color',
[
'label' => __( 'Placeholder Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section input::placeholder' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .general-form-wrap input::placeholder' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .donation-form-wrap input::placeholder' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .woo-form-wrap input::placeholder' => 'color: {{VALUE}}',
],
]
);
$this->add_responsive_control(
'better_payment_form_fields_input_spacing',
[
'label' => __( 'Spacing', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'default' => [
'size' => '0',
'unit' => 'px',
],
'range' => [
'px' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
],
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section input' => 'margin-bottom: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .general-form-wrap input' => 'margin-bottom: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .donation-form-wrap input' => 'margin-bottom: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .woo-form-wrap input' => 'margin-bottom: {{SIZE}}{{UNIT}}',
],
]
);
$this->add_responsive_control(
'better_payment_form_fields_input_padding',
[
'label' => __( 'Padding', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section input' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .general-form-wrap input' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .donation-form-wrap input' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .woo-form-wrap input' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_responsive_control(
'better_payment_form_fields_input_text_indent',
[
'label' => __( 'Text Indent', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 60,
'step' => 1,
],
'%' => [
'min' => 0,
'max' => 30,
'step' => 1,
],
],
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .form-content-section input' => 'text-indent: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .general-form-wrap input' => 'text-indent: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .donation-form-wrap input' => 'text-indent: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .woo-form-wrap input' => 'text-indent: {{SIZE}}{{UNIT}}',
],
]
);
$this->add_responsive_control(
'better_payment_form_fields_input_width',
[
'label' => __( 'Input Width', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 1200,
'step' => 1,
],
],
'size_units' => [ 'px', 'em', '%' ],
'description' => __( 'Set width for all input fields. Not applicable if the field is set to display inline (Content => Form Settings => Form Fields (Repeater) => Display Inline?)', 'better-payment' ),
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section input[type="text"]' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .form-content-section input[type="email"]' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .form-content-section input[type="number"]' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .general-form-wrap input[type="text"]' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .general-form-wrap input[type="email"]' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .general-form-wrap input[type="number"]' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .donation-form-wrap input[type="text"]' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .donation-form-wrap input[type="email"]' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .donation-form-wrap input[type="number"]' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .woo-form-wrap input[type="text"]' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .woo-form-wrap input[type="email"]' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .woo-form-wrap input[type="number"]' => 'width: {{SIZE}}{{UNIT}}',
],
]
);
$this->add_responsive_control(
'better_payment_form_fields_input_height',
[
'label' => __( 'Input Height', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 1200,
'step' => 1,
],
],
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section input[type="text"]' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .form-content-section input[type="email"]' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .form-content-section input[type="number"]' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .general-form-wrap input[type="text"]' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .general-form-wrap input[type="email"]' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .general-form-wrap input[type="number"]' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .donation-form-wrap input[type="text"]' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .donation-form-wrap input[type="email"]' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .donation-form-wrap input[type="number"]' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .woo-form-wrap input[type="text"]' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .woo-form-wrap input[type="email"]' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .woo-form-wrap input[type="number"]' => 'height: {{SIZE}}{{UNIT}}',
],
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'better_payment_form_fields_input_border',
'label' => __( 'Border', 'better-payment' ),
'placeholder' => '1px',
'default' => '1px',
'selector' => '{{WRAPPER}} .better-payment .form-content-section input, {{WRAPPER}} .better-payment .general-form-wrap input, {{WRAPPER}} .better-payment .donation-form-wrap input, {{WRAPPER}} .better-payment .woo-form-wrap input',
]
);
$this->add_control(
'better_payment_form_fields_input_radius',
[
'label' => __( 'Border Radius', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section input' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .general-form-wrap input' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .donation-form-wrap input' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .woo-form-wrap input' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
'separator' => 'after',
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'better_payment_form_fields_input_typography',
'label' => __( 'Typography', 'better-payment' ),
'selector' => '{{WRAPPER}} .better-payment .form-content-section input, {{WRAPPER}} .better-payment .general-form-wrap input, {{WRAPPER}} .better-payment .donation-form-wrap input, {{WRAPPER}} .better-payment .woo-form-wrap input',
]
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
[
'name' => 'better_payment_form_fields_input_box_shadow',
'selector' => '{{WRAPPER}} .better-payment .form-content-section input, {{WRAPPER}} .better-payment .general-form-wrap input, {{WRAPPER}} .better-payment .donation-form-wrap input, {{WRAPPER}} .better-payment .woo-form-wrap input',
]
);
$this->add_control(
'better_payment_form_fields_payment_method_label',
[
'label' => esc_html__( 'Payment Method', 'better-payment' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->start_controls_tabs( 'better_payment_form_fields_payment_amount_border_tabs' );
$this->start_controls_tab(
'better_payment_form_fields_payment_method_border_tab_active',
[
'label' => __( 'Active', 'better-payment' ),
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'better_payment_form_fields_payment_method_border_active',
'label' => __( 'Border', 'better-payment' ),
'selector' => '{{WRAPPER}} .better-payment .payment-form-layout-3 .payment-method-checkbox.active, {{WRAPPER}} .better-payment .payment-form-layout-1 .payment-method-checkbox.single-item.active, {{WRAPPER}} .better-payment .payment-form-layout-2 .payment-method-checkbox.single-item.active, {{WRAPPER}} .better-payment .general-form-wrap .payment-method-items input:checked + .payment-method-image-wrap, {{WRAPPER}} .better-payment .woo-form-wrap .payment-method-items input:checked + .payment-option',
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->end_controls_tab();
$this->start_controls_tab(
'better_payment_form_fields_payment_method_border_tab_inactive',
[
'label' => __( 'Inactive', 'better-payment' ),
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'better_payment_form_fields_payment_method_border_inactive',
'label' => __( 'Border', 'better-payment' ),
'selector' => '{{WRAPPER}} .better-payment .payment-form-layout-3 .payment-method-checkbox, {{WRAPPER}} .better-payment .general-form-wrap .payment-method-items .payment-method-image-wrap, {{WRAPPER}} .better-payment .woo-form-wrap .payment-method-items .payment-option',
'condition' => [
'better_payment_form_layout!' => ['layout-5-pro'],
],
]
);
$this->end_controls_tab();
$this->end_controls_tabs();
$this->add_control(
'better_payment_form_fields_input_icon_label',
[
'label' => esc_html__( 'Input Icon', 'better-payment' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
'condition' => [
'better_payment_form_layout!' => ['layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_control(
'better_payment_form_fields_input_icon_color',
[
'label' => __( 'Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section .control.has-icons-left .icon' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .form-content-section .control.has-icons-right .icon' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .form-content-section .control.has-icons-left .icon i::before' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .form-content-section .control.has-icons-right .icon i::before' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .form-content-section .control .bp-currency-symbol' => 'color: {{VALUE}}',
],
'condition' => [
'better_payment_form_layout!' => ['layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_fields_input_icon_size',
[
'label' => __( 'Size', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 300,
'step' => 1,
],
],
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section .control.has-icons-left .icon' => 'font-size: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .form-content-section .control.has-icons-right .icon' => 'font-size: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .form-content-section .control .bp-currency-symbol' => 'font-size: {{SIZE}}{{UNIT}}',
],
'condition' => [
'better_payment_form_layout!' => ['layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_fields_input_icon_width',
[
'label' => __( 'Width', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 300,
'step' => 1,
],
],
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section .control.has-icons-left .icon' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .form-content-section .control.has-icons-right .icon' => 'width: {{SIZE}}{{UNIT}}',
],
'condition' => [
'better_payment_form_layout!' => ['layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->add_responsive_control(
'better_payment_form_fields_input_icon_height',
[
'label' => __( 'Height', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 300,
'step' => 1,
],
],
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .form-content-section .control.has-icons-left .icon' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .form-content-section .control.has-icons-right .icon' => 'height: {{SIZE}}{{UNIT}}',
],
'condition' => [
'better_payment_form_layout!' => ['layout-4-pro', 'layout-5-pro', 'layout-6-pro'],
],
]
);
$this->end_controls_section();
}
public function form_fields_amount_style() {
$this->start_controls_section(
'better_payment_form_fields_amount_style',
[
'label' => __( 'Amount Fields Style', 'better-payment' ),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_responsive_control(
'better_payment_form_fields_amount_width',
[
'label' => __( 'Input Width', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 1200,
'step' => 1,
],
],
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .payment-form-layout .bp-payment-amount-wrap .bp-form__group label' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .general-form-wrap .payment-amount .text' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .donation-form-wrap .payment-amount .text' => 'width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .woo-form-wrap .payment-amount .text' => 'width: {{SIZE}}{{UNIT}}',
],
]
);
$this->add_responsive_control(
'better_payment_form_fields_amount_height',
[
'label' => __( 'Input Height', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 1200,
'step' => 1,
],
],
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .payment-form-layout .bp-payment-amount-wrap .bp-form__group label' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .general-form-wrap .payment-amount .text' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .donation-form-wrap .payment-amount .text' => 'height: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .woo-form-wrap .payment-amount .text' => 'height: {{SIZE}}{{UNIT}}',
],
]
);
$this->add_responsive_control(
'better_payment_form_fields_amount_spacing',
[
'label' => __( 'Spacing', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'default' => [
'size' => '0',
'unit' => 'px',
],
'range' => [
'px' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
],
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .payment-form-layout .bp-payment-amount-wrap .bp-form__group label' => 'margin-bottom: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .general-form-wrap .payment-amount .text' => 'margin-bottom: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .donation-form-wrap .payment-amount .text' => 'margin-bottom: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .woo-form-wrap .payment-amount .text' => 'margin-bottom: {{SIZE}}{{UNIT}}',
],
]
);
$this->start_controls_tabs( 'better_payment_form_amount_tabs_button_style' );
$this->start_controls_tab(
'better_payment_form_fields_amount_normal',
[
'label' => __( 'Normal', 'better-payment' ),
]
);
$this->add_control(
'better_payment_form_fields_amount_normal_bg',
[
'label' => __( 'Background Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .payment-form-layout .bp-payment-amount-wrap .bp-form__group label' => 'background-color: {{VALUE}}',
'{{WRAPPER}} .better-payment .general-form-wrap .payment-amount .text' => 'background-color: {{VALUE}}',
'{{WRAPPER}} .better-payment .donation-form-wrap .payment-amount .text' => 'background-color: {{VALUE}}',
'{{WRAPPER}} .better-payment .woo-form-wrap .payment-amount .text' => 'background-color: {{VALUE}}',
],
]
);
$this->add_control(
'better_payment_form_fields_amount_normal_text_color',
[
'label' => __( 'Text Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .payment-form-layout .bp-payment-amount-wrap .bp-form__group label' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .general-form-wrap .payment-amount .text' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .donation-form-wrap .payment-amount .text' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .woo-form-wrap .payment-amount .text' => 'color: {{VALUE}}',
],
]
);
$this->end_controls_tab();
$this->start_controls_tab(
'better_payment_form_fields_amount_selected',
[
'label' => __( 'Selected', 'better-payment' ),
]
);
$this->add_control(
'better_payment_form_fields_amount_selected_bg',
[
'label' => __( 'Background Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .payment-form-layout .bp-payment-amount-wrap .bp-form__group input[type="radio"].bp-form__control:checked ~ label' => 'background-color: {{VALUE}}',
'{{WRAPPER}} .better-payment .general-form-wrap .payment-amount input:checked + .text' => 'background-color: {{VALUE}}',
'{{WRAPPER}} .better-payment .donation-form-wrap .payment-amount input:checked + .text' => 'background-color: {{VALUE}}',
'{{WRAPPER}} .better-payment .woo-form-wrap .payment-amount input:checked + .text' => 'background-color: {{VALUE}}',
],
]
);
$this->add_control(
'better_payment_form_fields_amount_selected_text_color',
[
'label' => __( 'Text Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .payment-form-layout .bp-payment-amount-wrap .bp-form__group input[type="radio"].bp-form__control:checked ~ label' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .general-form-wrap .payment-amount input:checked + .text' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .donation-form-wrap .payment-amount input:checked + .text' => 'color: {{VALUE}}',
'{{WRAPPER}} .better-payment .woo-form-wrap .payment-amount input:checked + .text' => 'color: {{VALUE}}',
]
]
);
$this->end_controls_tab();
$this->end_controls_tabs();
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'better_payment_form_fields_amount_border',
'label' => __( 'Border', 'better-payment' ),
'placeholder' => '1px',
'default' => '1px',
'selector' => '{{WRAPPER}} .payment-form-layout .bp-payment-amount-wrap .bp-form__group label, {{WRAPPER}} .better-payment .general-form-wrap .payment-amount input:checked + .text, {{WRAPPER}} .better-payment .donation-form-wrap .payment-amount input:checked + .text, {{WRAPPER}} .better-payment .woo-form-wrap .payment-amount input:checked + .text',
'separator' => 'before',
]
);
$this->add_control(
'better_payment_form_fields_amount_border_radius',
[
'label' => __( 'Border Radius', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .payment-form-layout .bp-payment-amount-wrap .bp-form__group label' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .general-form-wrap .payment-amount .text' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .donation-form-wrap .payment-amount .text' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .woo-form-wrap .payment-amount .text' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'better_payment_form_fields_amount_typography',
'label' => __( 'Typography', 'better-payment' ),
'selector' => '{{WRAPPER}} .payment-form-layout .bp-payment-amount-wrap .bp-form__group label, {{WRAPPER}} .better-payment .general-form-wrap .payment-amount .text, {{WRAPPER}} .better-payment .donation-form-wrap .payment-amount .text, {{WRAPPER}} .better-payment .woo-form-wrap .payment-amount .text',
'separator' => 'before',
]
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
[
'name' => 'better_payment_form_fields_amount_box_shadow',
'selector' => '{{WRAPPER}} .payment-form-layout .bp-payment-amount-wrap .bp-form__group label, {{WRAPPER}} .better-payment .general-form-wrap .payment-amount .text, {{WRAPPER}} .better-payment .donation-form-wrap .payment-amount .text, {{WRAPPER}} .better-payment .woo-form-wrap .payment-amount .text',
]
);
$this->end_controls_section();
}
public function form_button_style() {
$this->start_controls_section(
'better_payment_form_button_style',
[
'label' => __( 'Form Button Style', 'better-payment' ),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_responsive_control(
'better_payment_form_button_width',
[
'label' => __( 'Width', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 700,
'step' => 1,
],
],
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .payment-form-layout .button' => 'flex: none;width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .general-form-wrap .button' => 'flex: none;width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .donation-form-wrap .button' => 'flex: none;width: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .woo-form-wrap .button' => 'flex: none;width: {{SIZE}}{{UNIT}}',
],
]
);
$this->start_controls_tabs( 'better_payment_form_button_tabs_style' );
$this->start_controls_tab(
'better_payment_form_button_normal',
[
'label' => __( 'Normal', 'better-payment' ),
]
);
$this->add_control(
'better_payment_form_button_normal_bg',
[
'label' => __( 'Background Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .better-payment .payment-form-layout .button' => 'background-color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .general-form-wrap .button' => 'background-color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .donation-form-wrap .button' => 'background-color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .woo-form-wrap .button' => 'background: {{VALUE}}',
],
]
);
$this->add_control(
'better_payment_form_button_normal_text_color',
[
'label' => __( 'Text Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .better-payment .payment-form-layout .button' => 'color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .general-form-wrap .button' => 'color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .donation-form-wrap .button' => 'color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .woo-form-wrap .button' => 'color: {{VALUE}} !important',
],
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'better_payment_form_button_normal_border',
'label' => __( 'Border', 'better-payment' ),
'default' => '1px',
'selector' => '{{WRAPPER}} .better-payment .payment-form-layout .button, {{WRAPPER}} .better-payment .general-form-wrap .button, {{WRAPPER}} .better-payment .donation-form-wrap .button, {{WRAPPER}} .better-payment .woo-form-wrap .button',
]
);
$this->add_control(
'better_payment_form_button_normal_border_radius',
[
'label' => __( 'Border Radius', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .payment-form-layout .button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .general-form-wrap .button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .donation-form-wrap .button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .woo-form-wrap .button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_responsive_control(
'better_payment_form_button_normal_padding',
[
'label' => __( 'Padding', 'better-payment' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .payment-form-layout .button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .general-form-wrap .button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .donation-form-wrap .button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .better-payment .woo-form-wrap .button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_responsive_control(
'better_payment_form_button_normal_margin',
[
'label' => __( 'Margin Top', 'better-payment' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
],
'size_units' => [ 'px', 'em', '%' ],
'selectors' => [
'{{WRAPPER}} .better-payment .payment-form-layout .button' => 'margin-top: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .general-form-wrap .button' => 'margin-top: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .donation-form-wrap .button' => 'margin-top: {{SIZE}}{{UNIT}}',
'{{WRAPPER}} .better-payment .woo-form-wrap .button' => 'margin-top: {{SIZE}}{{UNIT}}',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'better_payment_form_button_normal_typography',
'label' => __( 'Typography', 'better-payment' ),
'selector' => '{{WRAPPER}} .better-payment .payment-form-layout .button, {{WRAPPER}} .better-payment .general-form-wrap .button, {{WRAPPER}} .better-payment .donation-form-wrap .button, {{WRAPPER}} .better-payment .woo-form-wrap .button',
'separator' => 'before',
]
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
[
'name' => 'better_payment_form_button_normal_box_shadow',
'selector' => '{{WRAPPER}} .better-payment .payment-form-layout .button, {{WRAPPER}} .better-payment .general-form-wrap .button, {{WRAPPER}} .better-payment .donation-form-wrap .button, {{WRAPPER}} .better-payment .woo-form-wrap .button',
]
);
$this->end_controls_tab();
$this->start_controls_tab(
'better_payment_form_button_hover',
[
'label' => __( 'Hover', 'better-payment' ),
]
);
$this->add_control(
'better_payment_form_button_hover_bg',
[
'label' => __( 'Background Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .better-payment .payment-form-layout .button:hover' => 'background-color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .payment-form-layout.payment-form-layout-3 .button:hover' => 'background-color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .general-form-wrap .button:hover' => 'background-color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .donation-form-wrap .button:hover' => 'background-color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .woo-form-wrap .button:hover' => 'background-color: {{VALUE}} !important',
],
]
);
$this->add_control(
'better_payment_form_button_hover_text_color',
[
'label' => __( 'Text Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .better-payment .payment-form-layout .button:hover' => 'color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .payment-form-layout.payment-form-layout-3 .button:hover' => 'color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .general-form-wrap .button:hover' => 'color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .donation-form-wrap .button:hover' => 'color: {{VALUE}} !important',
'{{WRAPPER}} .better-payment .woo-form-wrap .button:hover' => 'color: {{VALUE}} !important',
],
]
);
$this->add_control(
'better_payment_form_button_hover_border',
[
'label' => __( 'Border Color', 'better-payment' ),
'type' => Controls_Manager::COLOR,
'default' => '',
'selectors' => [
'{{WRAPPER}} .better-payment .payment-form-layout .button:hover' => 'border-color: {{VALUE}}',
'{{WRAPPER}} .better-payment .general-form-wrap .button:hover' => 'border-color: {{VALUE}}',
'{{WRAPPER}} .better-payment .donation-form-wrap .button:hover' => 'border-color: {{VALUE}}',
'{{WRAPPER}} .better-payment .woo-form-wrap .button:hover' => 'border-color: {{VALUE}}',
],
]
);
$this->end_controls_tab();
$this->end_controls_tabs();
$this->end_controls_section();
}
/**
* Render the widget output on the frontend.
*
* @since 1.0.0
*/
protected function render() {
$is_edit_mode = Plugin::instance()->editor->is_edit_mode();
if ( $is_edit_mode && ( ! current_user_can('manage_options') ) ) {
return;
}
$settings = $this->get_settings_for_display();
if ( $settings[ 'better_payment_form_paypal_enable' ] != 'yes' && $settings[ 'better_payment_form_stripe_enable' ] != 'yes' && $settings[ 'better_payment_form_paystack_enable' ] != 'yes' ) {
return false;
}
$payment_field = "number" ;
$response = Handler::manage_response( $settings, $this->get_id() );
if ( $response ) {
return false;
}
do_action('better_payment/elementor/editor/manage_response_webhook', $this, $settings );
wp_enqueue_script( 'better-payment' );
if( $this->pro_enabled ){
wp_enqueue_script( 'better-payment-pro-common-script' );
wp_enqueue_style( 'better-payment-pro-common-style' );
}
$action = esc_url( admin_url( 'admin-post.php' ) );
$setting_meta = wp_json_encode( [
'page_id' => get_the_ID(),
'widget_id' => esc_attr( $this->get_id() ),
] );
$better_payment_placeholder_class = '';
if ( !empty($settings[ 'better_payment_placeholder_switch' ]) && $settings[ 'better_payment_placeholder_switch' ] != 'yes' ) {
$better_payment_placeholder_class = 'better-payment-hide-placeholder';
}
$data = array(
'payment_field' => $payment_field,
'action' => $action,
'setting_meta' => $setting_meta,
'better_payment_placeholder_class' => $better_payment_placeholder_class,
);
$widgetObj = $this;
$extraDatas = $data;
$better_payment_form_layout = sanitize_text_field($settings[ 'better_payment_form_layout' ]);
$better_payment_form_layout = in_array($better_payment_form_layout, array_keys( $this->better_payment_free_layouts() ) ) ? $better_payment_form_layout : 'layout-1';
$template_file = BETTER_PAYMENT_ADMIN_VIEWS_PATH . '/elementor/layouts/' . $better_payment_form_layout . '.php';
$is_pro_layout = false !== strpos( $better_payment_form_layout, '-pro' );
if ( $this->pro_enabled && $is_pro_layout ){
$template_file = BETTER_PAYMENT_PRO_ADMIN_VIEWS_PATH . '/elementor/layouts/' . $better_payment_form_layout . '.php';
}
if ( ( ! $this->pro_enabled ) && $is_pro_layout ){
$template_file = BETTER_PAYMENT_ADMIN_VIEWS_PATH . '/partials/layout-pro-banners.php';
}
$better_payment_form_content = '';
if ( file_exists($template_file) ) {
ob_start();
include $template_file;
$better_payment_form_content = ob_get_contents();
ob_end_clean();
}
$better_payment_form_content = apply_filters( 'better_payment/elementor/editor/get_layout_content', $better_payment_form_content, $settings, $this, $data );
echo $better_payment_form_content;
}
/**
* Render amount element
*
* @since 0.0.1
*/
public function render_amount_element( $settings, $args = [] ) {
$defauls = [
'version' => 'v1',
'items' => $settings['better_payment_amount'],
];
if ( ! empty( $args['version'] ) ) {
$defauls['version'] = 'v2';
$defauls['items'] = $settings['better_payment_amount_layout_4_5_6'];
}
$layout_form_currency_symbol = $this->get_currency_symbol( esc_html($settings[ 'better_payment_form_currency' ]) );
$currency_alignment = ! empty ( $settings['better_payment_form_currency_alignment'] ) ? $settings['better_payment_form_currency_alignment'] : 'left';
$layout_form_currency_left = 'left' === $currency_alignment ? $layout_form_currency_symbol : '';
$layout_form_currency_right = 'right' === $currency_alignment ? $layout_form_currency_symbol : '' ;
$id = esc_attr( $this->get_id() );
?>
';
}
public function better_payment_free_layouts(){
$layouts = apply_filters('better_payment/elementor/widget/layouts', [
'layout-1' => 'Layout 1',
'layout-2' => 'Layout 2',
'layout-3' => 'Layout 3'
]);
if ( ! $this->pro_enabled ) {
$pro_banners = [
'layout-4-pro' => 'Layout 4 (Pro)',
'layout-5-pro' => 'Layout 5 (Pro)',
'layout-6-pro' => 'Layout 6 (Pro)',
];
$layouts = array_merge( $layouts, $pro_banners );
}
return $layouts;
}
public function get_paypal_unsupported_currencies_conditions() {
$paypal_unsupported_currencies = $this->bp_unsupported_currencies('paypal');
$conditions = [];
foreach ($paypal_unsupported_currencies as $currency) {
$conditions[] = [
'name' => 'better_payment_form_currency',
'value' => $currency,
];
}
return $conditions;
}
}