2010-04-14 17 views
7

Estoy desarrollando un sitio web de compras en línea, en el sitio web de compras, todos los productos con precios están en rupias indias (INR). Voy a integrar Mi carrito de compras en la pasarela de pago de PayPal. Sabía que PayPal no es compatible con INR. Entonces tengo que convertir INR a USD. ¿Hay algún servicio API para convertir a INR USD ya que automáticamente ?,
En caso afirmativo, dará los detalles sobre eso ...PayPal para rupias indias (INR) cualquier solución

Respuesta

8

Puede utilizar la calculadora de Google API.

Aquí está un ejemplo PHP:

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

Muchas gracias a hombre que resolvió mi problema, es una solución tan simple – Aditya

+0

esta no es la solución exacta. –

-1

La solución también es bastante simple. Para solucionar este error, vaya a "plugin/woocommerce/classes/gateways/paypal/class-wc-gateway-paypal.php" y busque "function is_valid_for_use()" y aquí encontrará la lista de moneda admitida. Monedas aceptados por PayPal

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; 
} 

Aquí puede añadir su propia moneda en mi caso se INR por lo que estoy agregando INR en el conjunto de monedas admitidas como este. Adición de moneda propia en PayPal

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; 
} 

Después de añadir INR ir a la página de PayPal entorno en el plugin de WooCommerce y verá el error se ha ido. ¿Así que terminamos con eso ????????? NO. The Real Thing Acabamos de modificar el plugin de woocommerce para eliminar el error de la página de configuración de paypal. Paypal aún no es compatible con Indian Currency y tampoco podemos hacer que PayPal admita Indian Currency. En palabras simples Su tienda en línea admite INR y payapl no .. The Hook Is Tenemos que convertir los cambios de divisas antes de redirigir a PayPal. Para hacerlo, vaya al archivo function.php de su tema y agregue el siguiente código.

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]; 
} 

La lógica En primer lugar estamos recibiendo todos los argumentos de PayPal antes de redirigir a PayPal mediante el uso de gancho “woocommerce_paypal_args”. Después de eso, estamos obteniendo la tasa actual de INR en USD usando la API de Yahoo. Después de obtener la tasa de conversión, estamos modificando los Argumentos de Paypal según el valor de USD. Ahora todo hecho y regresando. Nota: después de redireccionar a PayPal, el cliente verá todos los precios en USD que no estén en INR.

1

creo que no era necesario para convertir a INR USD para Paypal: (Si está utilizando WooCommerce)

Escribir un simple código en el archivo function.php

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; 
} 
Cuestiones relacionadas