opencart中如果PayPal不支持我所选货币怎么办?

Q:如果paypal不支持相关货币怎么使用paypal?
Q:是否可以使用不支持相关货币的支付接口?

A:
知道opencart1.5.1.3版本,PaypalStandard支付接口自动支持。
但自1.5.2开始当paypal不支持相关货币时,网店前台就不再显示paypalstandard这种支付方式供顾客选择。

现在请按照如下提示进行修改:
1.编辑文件:catalog/model/payment/pp_standard.php

2.发现如下代码后将其移除:


代码: 全选
if(!in_array(strtoupper($this->currency->getCode()),$currencies)){
$status=false;
}




3.编辑文件:catalog/controller/payment/pp_standard.php

4.发现如下代码:


代码: 全选
$order_info=$this->model_checkout_order->getOrder




5.在其后加入如下代码:
代码: 全选
$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';
}




将"USD"替换为你想让其支持的货币.

如下替代的方法:你可以强制转换你的货币为支付接口可以支付的货币


(版本1.5.x系列)
1.编辑文件:catalog/controller/payment/<payment>.php

2.找到如下代码:

代码: 全选
$order_info=$this->model_checkout_order->getOrder




3.其后加入如下代码(将USD替换为你想要的有效货币):

代码: 全选
$order_info['currency_code']='USD';


无论你选择哪一种货币,你首先要确保你的商店后台Admin->System->Localisation->Currency的页面中已经存在了此种货币,此种货币可以不被激活enabled,但需要其存在于此页面,这样此种转换的计算才会进行。

当价格数据被发送到支付接口之前,系统会自动转换价格数据。顾客看到的数据如下案例所示:
在结账页面看到的如果是1000AED,但在你的paypal账户中看到的是需要支付的金额是$272.25USD(具体的数值根据当前的汇率进行计算)。

你可能感兴趣的:(paypal,货币,支付接口)