我想做一个网上商店,用户通过paypal支付。如果我使用默认货币,一切都很顺利。然而,我想用匈牙利福林支付,这是不工作。
在商业图书馆我发现了这个:
public static $NUMERIC_CURRENCY_CODES = array(
'AUD' => '036',
'CAD' => '124',
'EUR' => '978',
'GBP' => '826',
'NZD' => '554',
'USD' => '840',
);
所以我添加了一个新行:'HUF' => '348',但无论何时我想将HUF参数传递给CI-Merchant,它都不起作用。事实上,我可以改变这个数组中的任何东西,结果将是相同的
我是这样传递参数的:
$params = array(
'amount' => $osszeg,
'currency' => 'HUF',
'return_url' => 'something',
'cancel_url' => 'something');
(paypal支持匈牙利福林,所以问题不存在)
有什么办法使这个工作吗?
首先,不要使用CI Merchant,它已经不支持将近一年了。Omnipay是它的替代品。
如果必须使用CI Merchant,则currency
参数是正确的。你不需要添加数字货币代码,因为paypal使用标准的3个字母货币代码。它在这里传递给paypal:
https://github.com/expressodev/ci-merchant/blob/master/libraries/merchant/merchant_paypal_base.php L94
既然你只说它"不工作",我不知道实际的问题是什么,所以不能真正帮助诊断。如果有错误消息,它是什么?我怀疑你的paypal账户没有启用货币。