2010-04-14 13 views

cevap

5

Sen bir göz atabilirsiniz: Google hesap makinesini kullanabilirsiniz http://www.programmableweb.com/api/currency-rates

+0

i alamadım function.php dosyasında basit bir kod yazın

(eğer WooCommerce kullanıyorsanız) betik – hwd

+3

Ben bir tane olduğunu söylemedim. –

8

API.

function currency_converter($from_Currency,$to_Currency,$amount) { 
    $url = "http://www.google.com/ig/calculator?hl=en&q=$amount$from_Currency=?$to_Currency";  

    $amount = urlencode($amount); 
    $from_Currency = urlencode($from_Currency); 
    $to_Currency = urlencode($to_Currency); 

    $ch = curl_init(); 
    $timeout = 0; 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_USERAGENT , "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");  
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
    $rawdata = curl_exec($ch); 
    curl_close($ch); 

    $data = explode('"', $rawdata); 
    $data = explode(' ', $data['3']); 
    $var = $data['0']; 

    return round($var,2); 
} 
+0

Sorunum çözüldü bir çok adam teşekkür ederiz, bu basit bir çözüm – Aditya

+0

bu tam çözüm değil. –

-1

çözüm de oldukça basittir: Burada

bir PHP örneğidir. Bu hata için “eklenti/WooCommerce/sınıfları/ağ geçitleri/paypal/sınıf wc-geçidi-paypal.php” gidip “fonksiyonu is_valid_for_use()“için arama ve burada desteklenen para biriminin listesini bulacaksınız üstesinden gelmek için. Paypal

By Desteklenen Kurlar İşte
function is_valid_for_use() { 
if(! in_array(get_woocommerce_currency(), apply_filters('woocommerce_paypal_supported_currencies', array('AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB')) )) { 
return false; 
} 
return true; 
} 

sen benim durumumda o INR yüzden böyle desteklenen para dizisinde INR ekliyorum olduğu kendi para birimini ekleyebilirsiniz. INR WooCommerce eklentisinde PayPal ayar sayfasına gidin ve hata gitmiş göreceksiniz ekledikten sonra

function is_valid_for_use() { 
if (! in_array(get_woocommerce_currency(), apply_filters('woocommerce_paypal_supported_currencies', array('AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR')))) { 
return false; 
} 
return true; 
} 

Paypal

yılında Kendi Para ekleme. Yani işimiz bitti mi ????????? YOK HAYIR. Gerçek Thing Paypal ayar sayfasındaki hatayı gidermek için woocommerce eklentisini değiştirdik. Paypal hala Hint Para Birimini desteklememektedir ve ayrıca Hint Para Birimini desteklemek için paypal yapamıyoruz. Basit bir deyişle, çevrimiçi mağaza desteğiniz INR ve payapl .. Kanca mı? Bunu yapmak için temanızın function.php dosyasına vardım ve aşağıdaki kodu ekleyin.

function woocommerce_paypal_args_for_inr($paypal_args){ 
if ($paypal_args['currency_code'] == 'INR'){ 

    $convert_rate = getFromYahoo(); 

    $count = 1; 
    while(isset($paypal_args['amount_' . $count])){ 
     $paypal_args['amount_' . $count] = round($paypal_args['amount_' . $count]/$convert_rate, 2); 
     $count++; 
    } 
$paypal_args['tax_cart'] = round($paypal_args['tax_cart']/$convert_rate, 2); 
} 
return $paypal_args; 
} 
add_filter('woocommerce_paypal_args', 'woocommerce_paypal_args_for_inr'); 

function getFromYahoo() 
{ 
$from = 'USD'; /*change it to your required currencies */ 
$to  = 'INR'; 
$url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $from .  $to .'=X'; 
$handle = @fopen($url, 'r'); 

if ($handle) { 
$result = fgets($handle, 4096); 
fclose($handle); 
} 
$allData = explode(',',$result); /* Get all the contents to an array */ 
return $allData[1]; 
} 

Mantık Önce “woocommerce_paypal_args” kanca kullanarak Paypal yönlendirilmeden önce tüm Paypal argümanları alıyorsanız. Bundan sonra Yahoo API kullanarak geçerli INR Rate In USD alınıyoruz. Dönüştürme oranını aldıktan sonra Paypal Argümanlarını USD değerine göre değiştiriyoruz. Şimdi hepsi bitti ve geri döndü. Not - PayPal'a yönlendirildikten sonra, müşteri tüm fiyatları INR cinsinden değil ABD Doları cinsinden görecektir.

1

Sana Paypal için USD'ye INR dönüştürmek gerek yoktu düşünüyorum:

add_filter('woocommerce_paypal_supported_currencies', 'add_paypal_valid_currency'); 

function add_paypal_valid_currency($currencies) { 
    array_push ($currencies , 'INR'); // ADD YOUR DESIRE CURRENCY 
    return $currencies; 
} 
İlgili konular