method_title = __( 'Bancontact', 'checkout-plugins-stripe-woo' );
$this->method_description = $this->method_description();
$this->has_fields = true;
$this->init_supports();
$this->init_form_fields();
$this->init_settings();
// get_option should be called after init_form_fields().
$this->title = $this->get_option( 'title' );
$this->description = $this->get_option( 'description' );
$this->order_button_text = $this->get_option( 'order_button_text' );
}
/**
* Description for Bancontact gateway
*
* @since 1.3.0
*
* @return string
*/
public function method_description() {
$payment_description = $this->payment_description();
return sprintf(
/* translators: %1$s: Break, %2$s: Gateway appear message, %3$s: Break, %4$s: Gateway appear message currency wise, %4$s: HTML entities */
__( 'Accept payments using Bancontact. %1$s %2$s', 'checkout-plugins-stripe-woo' ),
'
',
$payment_description
);
}
/**
* Returns all supported currencies for this payment method.
*
* @since 1.3.0
*
* @return array
*/
public function get_supported_currency() {
return apply_filters(
'cpsw_bancontact_supported_currencies',
[
'EUR',
]
);
}
/**
* Add more gateway form fields
*
* @since 1.3.0
*
* @return array
*/
public function get_default_settings() {
$local_settings = parent::get_default_settings();
$local_settings['allowed_countries']['default'] = 'specific';
$local_settings['specific_countries']['default'] = [ 'BE' ];
return $local_settings;
}
/**
* Checks whether this gateway is available.
*
* @since 1.3.0
*
* @return boolean
*/
public function is_available() {
if ( ! in_array( $this->get_currency(), $this->get_supported_currency(), true ) ) {
return false;
}
return parent::is_available();
}
/**
* Creates markup for payment form for card payments
*
* @since 1.3.0
*
* @return void
*/
public function payment_fields() {
global $wp;
$user = wp_get_current_user();
$total = WC()->cart->total;
// If paying from order, we need to get total from order not cart.
if ( isset( $_GET['pay_for_order'] ) && ! empty( $_GET['key'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
$order = wc_get_order( wc_clean( $wp->query_vars['order-pay'] ) );
$total = $order->get_total();
}
if ( is_add_payment_method_page() ) {
$pay_button_text = __( 'Add Payment', 'checkout-plugins-stripe-woo' );
$total = '';
} else {
$pay_button_text = '';
}
/**
* Action before payment field.
*
* @since 1.3.0
*/
do_action( $this->id . '_before_payment_field_checkout' );
echo '