• НАЧАЛО
  • Услуги

AIT WEB DESIGN - изработка на сайт и СЕО оптимизация

  • НАЧАЛО
  • Услуги
  • No products in cart.
  • Начало
  • Wordpress
  • WordPress, Woocommerce, метод на плащане PayPal и BGN FIX
15.04.2026

WordPress, Woocommerce, метод на плащане PayPal и BGN FIX

WordPress, Woocommerce, метод на плащане PayPal и BGN FIX

by afilipov / сряда, 06 юли 2016 / Published in Wordpress, Код оптимизация
// allow BGN for WooCommerce and PayPal
add_filter( 'woocommerce_currencies', 'add_bgn_currency' );

function add_bgn_currency( $currencies ) {
 $currencies['BGN'] = __( 'Bulgarian Lev (лв.)', 'woocommerce' );
 return $currencies;
}

add_filter('woocommerce_currency_symbol', 'add_bgn_currency_symbol', 10, 2);

function add_bgn_currency_symbol( $currency_symbol, $currency ) {
 switch( $currency ) {
 case 'BGN': $currency_symbol = 'лв.'; break;
 }
 return $currency_symbol;
}

// allow BGN for WooCommerce and PayPal
add_filter( 'woocommerce_paypal_supported_currencies', 'add_bgn_paypal_valid_currency' );     
    function add_bgn_paypal_valid_currency( $currencies ) {  
     array_push ( $currencies , 'BGN' );
     return $currencies;  
    } 

// Convert BGN to EUR for PayPal payments
add_filter('woocommerce_paypal_args', 'convert_bgn_to_eur');
function convert_bgn_to_eur($paypal_args){
	if ( $paypal_args['currency_code'] == 'BGN'){
		$convert_rate = 1.955; //set the converting rate
		$paypal_args['currency_code'] = 'EUR'; //change BGN to EUR
		$i = 1;

		while (isset($paypal_args['amount_' . $i])) {
			$paypal_args['amount_' . $i] = round( $paypal_args['amount_' . $i] / $convert_rate, 2);
			++$i;
		}
		
		if ( $paypal_args['discount_amount_cart'] > 0 ) {
                $paypal_args['discount_amount_cart'] = round( $paypal_args['discount_amount_cart'] / $convert_rate, 2);
                }
                }

                return $paypal_args;
}
  • Tweet

What you can read next

WooCommerce изграждане на филтър на поръчките в администрацията по персонализирано поле (Custom Field)
Mysql заявки към друга WordPress система?
Как да изтрием поленце от checkout формата на Woocommerce

3 коментара to “ WordPress, Woocommerce, метод на плащане PayPal и BGN FIX”

  1. Румен Георгиев says :
    16.01.2017 at 12:42

    Здравей,

    а сумата от доставката конвертира ли се? Питам, понеже в момента използвам подобен код, който ми конвертира сумата от лева (примерно 10 лева) в евро (5.12 евро), но не конвертира доставката (примерно 3.50 лева) и тя си остава същата като сума, но в евро (т.е. се увеличава почти двойно като стойност – 3.50 евро).

    Благодаря.

    1. admin says :
      06.03.2017 at 10:17

      Здравей! Използвай следния код:

      // Enable PayPal, even though BGN is not supported
      add_filter( ‘woocommerce_paypal_supported_currencies’, ‘add_bgn_paypal_valid_currency’ );
      function add_bgn_paypal_valid_currency( $currencies ) {
      array_push ( $currencies , ‘BGN’ );
      return $currencies;
      }

      // Convert BGN to EUR for PayPal payments
      add_filter(‘woocommerce_paypal_args’, ‘convert_bgn_to_eur’);
      function convert_bgn_to_eur($paypal_args){
      if ( $paypal_args[‘currency_code’] == ‘BGN’){
      $convert_rate = 1.955; //set the converting rate
      $paypal_args[‘currency_code’] = ‘EUR’; //change BGN to EUR
      $i = 1;

      // Convert Product Items
      while (isset($paypal_args[‘amount_’ . $i])) {
      $paypal_args[‘amount_’ . $i] = round( $paypal_args[‘amount_’ . $i] / $convert_rate, 2);
      ++$i;
      }

      // Convert the Shipping Cost
      if ( $paypal_args[‘shipping_1’] > 0 ) {
      $paypal_args[‘shipping_1’] = round( $paypal_args[‘shipping_1’] / $convert_rate, 2);
      }

      // Convert discounts
      if ( $paypal_args[‘discount_amount_cart’] > 0 ) {
      $paypal_args[‘discount_amount_cart’] = round( $paypal_args[‘discount_amount_cart’] / $convert_rate, 2);
      }
      }
      return $paypal_args;
      }

  2. Йордан Люцканов says :
    24.03.2018 at 15:57

    Здравейте,
    добавям горепосочения код във functions.php на чайлд темата ми но кода не действа. Излиза ми същата грешка PayPal error (10605): An error (10605) occurred while processing your PayPal payment. Please contact the store owner for assistance. Каква може да е причината?

Търсене

Категории

  • CSS
  • SEO Оптимизация
  • WooCommerce
  • Wordpress
  • WordPress Модули
  • Код оптимизация
  • Трикове

Архиви

  • февруари 2026
  • юли 2020
  • юли 2018
  • февруари 2018
  • август 2017
  • март 2017
  • ноември 2016
  • октомври 2016
  • септември 2016
  • август 2016
  • юли 2016
  • юни 2016
  • май 2016
  • март 2016
  • юли 2012

УСЛУГИ

ВРЪЗКА С НАС

(+359) 888 898 797
Email: office@ait-webdesign.com

AIT WEB DESIGN
6300 Хасково, Ул. Хан Аспарух 9-11. България

Отвори в Google Maps

ПОСЛЕДНО ЗАВЪРШЕНИ ПРОЕКТИ

Етикети

  • НАЧАЛО
  • Услуги

Всички права запазени AIT WEB DESIGN 2026

НАГОРЕ