贝宝金额货币问题

时间:2012-03-09 08:27:54

标签: php api paypal currency

我正在尝试将PayPal应用到我们的网站中。我使用cURL与PayPal的Express Checkout API进行交互。该网站具有德国性质,因此付款将以欧元货币处理。

我执行了我的cURL,API返回了一个错误。我发现我的$price导致错误。

默认情况下,具有这些值的$price = 56,85 PayPal的API会返回错误。但是,如果将此更改为$price = 56.85,则API会成功。

我可以简单地使用str_replace将逗号替换为句点。但令我担忧的是产品的价格。我正在欧元交易。

有没有人愿意解释我该如何处理这个问题?

2 个答案:

答案 0 :(得分:5)

您只需使用点.而不是逗号,

您可以在PHP中用点替换逗号:

$price = "56,85";
$price = str_replace(",", ".", $price);

现在$price应为56.85

这也不会影响价值。 56.85是金额,无论您使用何种货币。请务必将paypal请求中的货币定义为EUR。

答案 1 :(得分:0)

如果您想使用PayPal Shopping Cart Integration在PayPal Shopping Cart上以逗号显示货币,例如23,99欧元,那么您可以使用PHP函数如上所述将值传递为十进制,但您必须将行添加到与法文一样,在PayPal Checkout页上以逗号为单位获取值。

<input type="hidden" name="lc" value="Country Code" />

此处 lc = 结帐登录或注册页面的区域设置。贝宝(PayPal)为某些国家/地区和语言提供了本地化的结帐页面。

您可以在here上获取国家/地区代码

其他参考link