Ошибка Paypal: неправильно отформатированная сумма товара - PullRequest
1 голос
/ 04 августа 2011

У меня странная проблема с PayPal.Когда моя корзина покупок передает значение с десятичными знаками (например, 1.15), оно не работает и показывает мне ошибку: ссылка, которую вы использовали для входа в систему PayPal, содержит неправильно отформатированную сумму товара.

Это вывод без десятичных чисел в количестве, которое работает:

paypal_class->dump_fields() Output:

Field Name     Value
amount_1       70.00 
business       xxxxxxxxxxxxxxxx
cancel_return  xxxxxxxxxxxxxxxxxx
cmd            _cart 
currency_code  HUF 
invoice        171SPLINTERCELLCONVICTIONxxxxxxxxxxxxxxxxxxx
item_name_1    Apple 
item_number_1  211 
notify_url     xxxxxxxxxxxxxxxxxxxxxxxx
on0_1          Option 
os0_1          Default 
quantity_1     1 
return         xxxxxxxxxxxxxxxxxxxxxxxxx
rm             2 
shipping_1     5 
tax_cart       0.00 
upload         1 

Это вывод с десятичными разрядами, который не работает (я удалил некоторые переменные по соображениям безопасности).

paypal_class->dump_fields() Output:

Field Name     Value
amount_1       70.15 
business       xxxxxxxxxxxxxxxxxx
cancel_return  xxxxxxxxxxxxxxxxxxx
cmd            _cart 
currency_code  HUF 
invoice        172SPLINTERCELLCONVICTIONxxxxxxx
item_name_1    Apple 
item_number_1  211 
notify_url     xxxxxxxxxxx 
on0_1          Option 
os0_1          Default 
quantity_1     1 
return         xxxxxxxxxxx 
rm             2 
shipping_1     5 
tax_cart       0.00 
upload         1 

и он не работает только для трех валют: венгерский форинт, японская иена, тайваньский новый доллар.

Есть ли какая-нибудь помощь?Буду благодарен.

Ответы [ 2 ]

1 голос
/ 06 августа 2011

Ваше приложение должно передать правильный формат валюты в PayPal через класс, который вы используете.

Так что, если вы храните цены как десятичные числа в вашей базе данных (например, в долларах США), но как посетительустанавливает для языкового стандарта / предпочтения просмотра значение «Йена», тогда ваше приложение должно соответствующим образом преобразовать цены (и в этом случае в целое число без десятичных разрядов), которое затем должно быть передано вашему классу PayPal.

0 голосов
/ 06 августа 2011

Эти три валюты не имеют десятичного значения. Всякий раз, когда вы вводите десятичные значения, PayPal будет отображать ошибки. Поэтому попробуйте округлить значения (от 10,25 до 10 или 11).

...