Skip to content

Instantly share code, notes, and snippets.

@vikas5914
Last active November 9, 2017 12:49
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vikas5914/a13181b0647c2f911d2e to your computer and use it in GitHub Desktop.
Save vikas5914/a13181b0647c2f911d2e to your computer and use it in GitHub Desktop.
add_filter('woocommerce_paypal_supported_currencies', 'add_aed_paypal_valid_currency');
function add_aed_paypal_valid_currency($currencies)
{
array_push($currencies, 'INR'); /* YOUR CURRENCY */
return $currencies;
}
add_filter('woocommerce_paypal_args', 'woocommerce_paypal_args_for_inr');
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++;
}
if (isset($paypal_args['tax_cart'])) {
$paypal_args['tax_cart'] = round($paypal_args['tax_cart'] / $convert_rate, 2);
}
if (isset($paypal_args['shipping_1'])) {
$paypal_args['shipping_1'] = round($paypal_args['shipping_1'] / $convert_rate, 2);
}
if (isset($paypal_args['currency_code'])) {
$paypal_args['currency_code'] = 'USD';
}
}
return $paypal_args;
}
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];
}
@thisiskarthik
Copy link

Awesome Thanks for the code.

@beautifalp
Copy link

PayPal payment not working for new update of Woocommerce 3.1.2

@vikas5914
Copy link
Author

Updated to work with Woocommerce 3.2.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment