web-dev-qa-db-ja.com

Paypalは、異なる地域で異なる価格と通貨を請求できますか?

私のウェブサイトに支払いモジュールを設定したいです:米国/カナダの価格は米ドルで特定の価格で、他の国はユーロで支払います。価格は正確なコンバージョンではなく、正確なコンバージョンに近似する「ラウンド」数です。たとえば、140米ドルと100ユーロと言います。

PayPalでこれを設定する簡単な方法はありますか?そうでない場合、どの支払い方法が安くて簡単に実装できますか?

1
Philippe

これを行う方法は、データベーステーブルに為替レートのリストを維持することです。これらを1時間ごとに取得するようにcronjobを設定しています。 (From: http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml

私の製品はすべて米ドルであり、訪問者が私の為替レート表を使用して米ドルからの変換に基づいて希望の通貨をリストから選択できるようにします。

したがって、Paypalが受け入れるすべての通貨をリストしたこのようなテーブルがあります。

<select>
<option value="">Change Currency...</option>
<option value="USD">USD - U.S. Dollars</option>         
<option value="GBP">GBP - Pounds Sterling</option>

彼らが別のオプションを選択すると、変換された金額を取得して表示します:

アヤックス:

    function changeCurrency(id) {
        var select_price = $("#select").val(); 
        var codes=new Array();
            codes['USD']="\u0024";
            codes['GBP']="\u00A3";

        $.post("/payment/prices.php", { id: id, currency: select_price },
           function(data){
             $("#spanPrice").text(codes[select_price] + data);
             $("input[name*='currency_code']").val(select_price);
             if(select_price=='JPY' || select_price=='HUF'){
             var splitData = data.split(".");
             $("input[name*='amount']").val(splitData[0].replace(",",""));
             } else {
             $("input[name*='amount']").val(data.replace(",",""));
             }
           });

    }

PHP:

       function convert($amount,$from,$to,$decimals=2) { 
return(number_format(($amount/$this->exchange_rates[$from])*$this->exchange_rates[$to],$decimals));
       }

支払いに関しては、選択した通貨と換算した金額を使用します。私のウェブサイトで販売する製品は非物理的な商品であり、自動化されたプロセスです。支払いが行われた後、支払い金額に対して別のチェックを行い、たとえば0.01ドルなど送信されなかったことを確認します。

1
StuR

説明したおおよその価格変換が必要かどうかを検討する必要があると思います。

Paypalを使用して価格をUSDに設定すると、Paypalによって変換が行われます。だから、私はあなたから購入し、あなたは米ドルで価格を設定したとしましょう.

1
Jontas