我试图支持 ZAR(南非兰特)的结帐。
到目前为止,我已经启用了 $,这启用了 paypal 模块,但是转换尚未完成。
该网站只需结帐到价值。例如:通过贝宝结账时,R1500.00 = $1500.00。
使用内置转换器进行货币转换的正确方法是什么?
好的找到了解决方案:
用户 Qphoria取自Opencart 论坛
问:如果我的货币不受支持,我如何使用 paypal?问:如何使用不支持我的货币的支付网关?问:Paypal 不支持我的货币?
答:您仅限于支付网关支持的内容。但是,您可以添加代码以相当容易地将您的货币自动转换为受支持货币的当前汇率。
(v1.5.x) 1. 编辑:catalog/controller/payment/.php
代码:全选 $order_info = $this->model_checkout_order->getOrder
代码:全选 $order_info['currency_code'] = 'USD';
无论您选择使用哪种货币,请确保您在管理->系统->本地化->货币页面的商店中的货币列表中有它。它不需要启用,只需要存在才能进行转换计算。
然后,这将在金额发送到网关之前自动转换金额。客户可能不会注意到这一点。例如,他们会在结帐页面上看到 1000 AED 但您会在您的贝宝账户中看到 272.25 美元(基于当前的兑换率)。
直到 1.5.1.3,Paypal Standard 自动执行此操作 在 1.5.2 中,它被更改(不是为了更好),如果使用不受支持的货币,则简单地将其从支付列表中禁用。所以这将需要特殊的指令,也许应该在核心中改变。
现在: 1. 编辑:catalog/model/payment/pp_standard.php
代码:全选 if (!in_array(strtoupper($this->currency->getCode()), $currencies)) { $status = false; }
编辑:目录/控制器/付款/pp_standard.php
查找(仅限第一个实例):
代码:全选 $order_info = $this->model_checkout_order->getOrder
代码:全选 $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' ,'尝试'); if (!in_array(strtoupper($this->currency->getCode()), $currencies)) { $order_info['currency_code'] = 'USD'; }
用您选择的支持货币更改“美元”。
对于 opencart 2 或 3,第一步是相同的 编辑:catalog/model/extension/payment/pp_standard.php
查找并删除:
if (!in_array(strtoupper($this->currency->getCode()), $currencies)) { $status = false; }
第二步是
在目录/控制器/扩展/付款/pp_standard.php 找到
$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
在它之后,并且
$order_info['currency_code'] = 'USD';
此解决方案会将所有货币兑换成美元,然后前往 paypal.com 付款