3

ZAR(南アフリカランド)のチェックアウトをサポートしようとしています。

これまでのところ$を有効にしていますが、これによりペイパルモジュールが有効になりますが、変換は完了していません。

サイトは単に値をチェックアウトします。例:ペイパルでチェックアウトする場合、R1500.00 =$1500.00。

組み込みのコンバーターを使用して通貨換算を行う正しい方法は何ですか?

4

2 に答える 2

2

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

  1. FIND (FIRST INSTANCE ONLY):

Code: Select all $order_info = $this->model_checkout_order->getOrder

  1. AFTER, ADD (Replace USD with your choice of valid currency):

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

  1. FIND AND REMOVE:

Code: Select all if (!in_array(strtoupper($this->currency->getCode()), $currencies)) { $status = false; }

  1. EDIT: catalog/controller/payment/pp_standard.php

  2. FIND (THE FIRST INSTANCE ONLY):

Code: Select all $order_info = $this->model_checkout_order->getOrder

  1. AFTER, ADD:

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.

于 2012-07-24T09:03:06.383 に答える