// 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; }
Здравей,
а сумата от доставката конвертира ли се? Питам, понеже в момента използвам подобен код, който ми конвертира сумата от лева (примерно 10 лева) в евро (5.12 евро), но не конвертира доставката (примерно 3.50 лева) и тя си остава същата като сума, но в евро (т.е. се увеличава почти двойно като стойност – 3.50 евро).
Благодаря.
Здравей! Използвай следния код:
// 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;
}
Здравейте,
добавям горепосочения код във functions.php на чайлд темата ми но кода не действа. Излиза ми същата грешка PayPal error (10605): An error (10605) occurred while processing your PayPal payment. Please contact the store owner for assistance. Каква може да е причината?