ZAR(南アフリカランド)のチェックアウトをサポートしようとしています。
これまでのところ$を有効にしていますが、これによりペイパルモジュールが有効になりますが、変換は完了していません。
サイトは単に値をチェックアウトします。例:ペイパルでチェックアウトする場合、R1500.00 =$1500.00。
組み込みのコンバーターを使用して通貨換算を行う正しい方法は何ですか?
Ok found the solution:
Taken from Opencart Forum by user Qphoria
Q: How can I use paypal if my currency isn't supported? Q: How can I use a payment gateway that doesn't support my currency? Q: Paypal doesn't support my currency?
A: You are limited to what the payment gateway supports. However, you can add code to auto-convert your currency to the current exchange rate of a supported currency fairly easy.
(v1.5.x) 1. EDIT: catalog/controller/payment/.php
Code: Select all $order_info = $this->model_checkout_order->getOrder
Code: Select all $order_info['currency_code'] = 'USD';
Whatever currency you choose to use, be sure you have it in your list of currencies on your store in the Admin->System->Localisation->Currency page. It doesn't need to be enabled, just has to exist so that the conversion calculation can be done.
This will then auto convert the amount before it is sent to the gateway. The customer won't likely notice this. They will see, for example, 1000 AED on the checkout page But you will see $272.25 USD (based on the current conversion rate) in your paypal account.
Up til 1.5.1.3, Paypal Standard did this automatically In 1.5.2, it was changed (not for the better) to simply disable itself from the list of payments if using an unsupported currency. So that will need special instruction and maybe should be changed back in the core.
For now: 1. EDIT: catalog/model/payment/pp_standard.php
Code: Select all if (!in_array(strtoupper($this->currency->getCode()), $currencies)) { $status = false; }
EDIT: catalog/controller/payment/pp_standard.php
FIND (THE FIRST INSTANCE ONLY):
Code: Select all $order_info = $this->model_checkout_order->getOrder
Code: Select all $currencies = array('AUD','CAD','EUR','GBP','JPY','USD','NZD','CHF','HKD','SGD','SEK','DKK','PLN','NOK','HUF','CZK','ILS','MXN','MYR','BRL','PHP','TWD','THB','TRY'); if (!in_array(strtoupper($this->currency->getCode()), $currencies)) { $order_info['currency_code'] = 'USD'; }
Change "USD" with your choice of supported currency.