2010-04-14 27 views
7

Tôi đang phát triển trang web mua sắm trực tuyến, Trong trang web mua sắm, tất cả sản phẩm có giá bằng Rupee Ấn Độ (INR). Tôi sẽ tích hợp giỏ hàng của tôi vào cổng thanh toán PayPal. Tôi biết rằng PayPal không hỗ trợ INR. Vì vậy, tôi phải chuyển đổi INR thành USD. Có bất kỳ dịch vụ API để chuyển đổi INR để USD như tự động ?,
Nếu có, xin vui lòng cung cấp chi tiết về điều đó ...PayPal cho Rupee Ấn Độ (INR) bất kỳ giải pháp

Trả lời

8

Bạn có thể sử dụng máy tính của Google API.

Dưới đây là một ví dụ 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

Cảm ơn'ssssss rất nhiều người đàn ông nó giải quyết vấn đề của tôi, nó là một giải pháp đơn giản như vậy – Aditya

+0

đây không phải là giải pháp chính xác. –

-1

Giải pháp này cũng khá đơn giản. Để khắc phục lỗi này, hãy vào “plugin/woocommerce/classes/gateways/paypal/class-wc-gateway-paypal.php” và tìm kiếm “function is_valid_for_use()“ và tại đây bạn sẽ tìm thấy danh sách các loại tiền được hỗ trợ. Đơn vị tiền tệ được hỗ trợ bởi 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; 
} 

Ở đây bạn có thể thêm tiền tệ của riêng bạn trong trường hợp của tôi nó được INR vì vậy tôi đang bổ sung thêm INR trong mảng các loại tiền tệ được hỗ trợ như thế này. Thêm riêng tệ Trong 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; 
} 

Sau khi thêm INR đi đến trang thiết lập paypal trong plugin woocommerce và bạn sẽ thấy lỗi đã biến mất. Vậy chúng ta đã làm gì với nó ????????? KHÔNG. Điều thực Chúng tôi vừa sửa đổi plugin woocommerce để xóa lỗi khỏi trang cài đặt paypal. Paypal vẫn không hỗ trợ tiền tệ của Ấn Độ và chúng tôi cũng không thể trả tiền để hỗ trợ tiền tệ của Ấn Độ. Nói một cách đơn giản Cửa hàng trực tuyến của bạn hỗ trợ INR và payapl không .. Móc là chúng tôi phải chuyển đổi tiền tệ thay đổi trước khi chuyển hướng đến paypal. Để thực hiện việc này, hãy truy cập tệp function.php của chủ đề và thêm mã bên dưới.

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

Logic tiên chúng ta đang nhận được tất cả các đối Paypal trước khi chuyển hướng đến Paypal bằng cách sử dụng “woocommerce_paypal_args” móc. Sau đó, chúng tôi đang tìm nạp Tỷ giá INR hiện tại bằng USD bằng Yahoo API. Sau khi nhận được tỷ lệ chuyển đổi, chúng tôi đang sửa đổi các Đối số Paypal theo giá trị USD. Bây giờ tất cả được thực hiện và trả lại. Lưu ý - Sau khi chuyển hướng đến paypal, khách hàng sẽ thấy tất cả giá bằng USD không tính bằng INR.

1

Tôi nghĩ rằng bạn không cần phải chuyển đổi INR để USD cho Paypal: (Nếu bạn đang sử dụng woocommerce)

Viết mã đơn giản trong file 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; 
} 
Các vấn đề liên quan