Jump to content

Paypal разница в курсах валют.


Recommended Posts

Доброго времени суток, PayPal наконец то стал работать с Россией, о чем на оф. сайте есть объявление.

Возникла проблема, paypal принимает оплату только в долларах, цены на сайте указаны в рублях, при оплате цена пересчитывается из рублей в доллары, и тут самое интересное, возникает разница в курсах, на сайте настроено автоматическое обновление курса валют, на paypal курс другой, он ниже.

В итоге получается: цена товара допустим 100р, курс на сайте 0.032, в paypal на оплату попадает цена 3,2$. Курс в paypal 0.031 в итоге клиенту с карты списывается не 100р а 103р с копейками. Это со ста рублей, а с тысячи разница уже существенна.

Подскажите как можно уровнять курсы, от куда преста берет курс, или как можно это обойти?

Link to comment
Share on other sites

Не очень много, курс ежедневно меняется, делаем вывод, что он обновляется.

Ещё будем ерничать, или изложим пару умных мыслей, кроме не умного сарказма?

Link to comment
Share on other sites

Мда, ну раз нам хочется умных мыслей, вариант один - включить моск, который должен их генерировать, э? дабы избежать неумного сарказма.

 

- Преста берет курсы автоматом отсюда http://www.prestasho.../currencies.xml во всяком случае для тех валют которые там указаны, при нажатии на кнопку Обновить

или по крону, если настроить, как ты правильно заметил.

 

Думаю для тебя не составит труда сделать логический вывод из след предпосылок:

Что будет если не нажимать кнопку обновления и не делать обновление по крону?

 

П.С. возможно есть некое тайное действие, когда магазин сам, без участия админа, обновляет курсы валют - без разбора, всем странам, всем магазинам, из одного файла. Это очень похоже на заговор и думаю ты, уважаемый ТС сможешь уберечь меня от ошибок и направишь перст указующий блаблаблабла

Link to comment
Share on other sites

Дело в том, что курсы которые берутся с сайта Prestashop привязаны к курсу Европейского Центрального банка, а он несколько отличен от курса ЦБ РФ. В свое время я изменял код в PS 1.3 так, чтобы он тянул курс с ЦБ РФ. Если правильно помню, нужно в classes/Currency.php изменить соответствующие строки на следующие:

public function refreshCurrency($data, $isoCodeSource, $defaultCurrency)
{
 if ($this->iso_code != $isoCodeSource)
 {
  /* Seeking for rate in feed */
  foreach ($data->Valute AS $obj)
   if ($this->iso_code == $obj->CharCode)
 $this->conversion_rate = round($obj->Nominal/(floatval($obj->Value= str_replace(",", ".",$obj->Value))*$defaultCurrency->conversion_rate), 6);
 }
 else
 {
  /* If currency is like isoCodeSource, setting it to default conversion rate */
  $this->conversion_rate = round(1 / floatval($defaultCurrency->conversion_rate), 6);
 }
 $this->update();
}
static public function refreshCurrenciesGetDefault($data, $isoCodeSource, $idCurrency)
{
 $defaultCurrency = new Currency($idCurrency);
 /* Change defaultCurrency rate if not as currency of feed source */
 if ($defaultCurrency->iso_code != $isoCodeSource)
  foreach ($data->Valute AS $obj)
if ($defaultCurrency->iso_code == $obj->CharCode)
 $defaultCurrency->conversion_rate = round($obj->Nominal/floatval($obj->Value = str_replace(",", ".",$obj->Value )), 6);
 return $defaultCurrency;
}
static public function refreshCurrencies()
 {
	$date=date('d/m/Y');
 if (!$feed = @simplexml_load_file('http://www.cbr.ru/scripts/XML_daily.asp?date_req='.$date))
  return Tools::displayError('Cannot parse feed!');
 if (!$defaultCurrency = intval(Configuration::get('PS_CURRENCY_DEFAULT')))
return Tools::displayError('No default currency!');
 $isoCodeSource = RUB;
 $currencies = self::getCurrencies(true);
 $defaultCurrency = self::refreshCurrenciesGetDefault($feed, $isoCodeSource, $defaultCurrency);
 foreach ($currencies as $currency)
  if ($currency->iso_code != $defaultCurrency->CharCode)
$currency->refreshCurrency($feed, $isoCodeSource, $defaultCurrency);
}

Валютой по умолчанию должен быть установлен рубль. Данный код работал в версии 1.3. Думаю, что в версии 1.4 ничего принципиально не менялось. А автоматическое обновление курсов валют можно сделать через cron. Это уже обсуждалось. Надеюсь вам помог. Самому интересно прицепить PayPal.

Link to comment
Share on other sites

Самому интересно прицепить PayPal.

 

посмотрите отдает ли палка курсы через апи например, я беглым гуглением не нашел, если отдает - изменить 1 линк и спарсить хмл правильно и будет вам автообновление курсов с палки.

Link to comment
Share on other sites

- Преста берет курсы автоматом отсюда http://www.prestasho.../currencies.xml во всяком случае для тех валют которые там указаны, при нажатии на кнопку Обновить

или по крону, если настроить, как ты правильно заметил.

 

Полезно, остальное, ну если не дурак сам знаешь куда втереть...

 

pukinnet

Огромное спасибо, даже если и изменилось, дальше разберусь, результаты выложу тут, может кому пригодится. Думаю не я первый и не я последний кто столкнулся с такой проблемой.

 

SergeyH

Не отдает и не где не публикует, отправил запрос в поддержку, пока не ответили, если бы хоть где-то публиковали, в любом виде, вытащить цифры было бы не сложно, и вопросов не было бы.

Link to comment
Share on other sites

Tiamon, я чет не пойму

Подскажите как можно уровнять курсы, от куда преста берет курс, или как можно это обойти?

 

Я тебе ответил - берешь вбиваешь руками нужные курсы (не хочешь руками - пиши скрипты которые будут где-то их парсить и вносить в базу твою, это уже вопрос автоматизации)

 

ты - сам себе придумал про обновление автоматом, сделал какие-то неясные выводы, и теперь рассказываешь че кому куда втирать. Достойно, чо.

Link to comment
Share on other sites

SergeyH

 

Экий ты не понятливый, читай, внимательно знаток.

Задан конкретный вопрос, описана конкретная ситуация. Ты либо дай конкретный ответ, либо молчи в тряпочку.

 

У тебя перед фейсом пример такого ответа, пост pukinnet, человек одним постом дал ответы на все вопросы + дал практически готовый пример решения.

 

Ферштейн?

  • Like 1
Link to comment
Share on other sites

Данный код работал в версии 1.3. Думаю, что в версии 1.4 ничего принципиально не менялось.

 

/**
* @deprecated
**/
public static function refreshCurrenciesGetDefault($data, $isoCodeSource, $idCurrency)
{
Tools::displayAsDeprecated();

$defaultCurrency = new Currency($idCurrency);

/* Change defaultCurrency rate if not as currency of feed source */
if ($defaultCurrency->iso_code != $isoCodeSource)
foreach ($data->currency AS $obj)
if ($defaultCurrency->iso_code == strval($obj['iso_code']))
$defaultCurrency->conversion_rate = round((float)($obj['rate']), 6);

return $defaultCurrency;
}

public static function getDefaultCurrency()
{
$id_currency = (int)Configuration::get('PS_CURRENCY_DEFAULT');
if ($id_currency == 0)
return false;

return new Currency($id_currency);
}

public static function refreshCurrencies()
{
// Parse
if (!$feed = Tools::simplexml_load_file('http://www.prestashop.com/xml/currencies.xml'))
return Tools::displayError('Cannot parse feed.');

// Default feed currency (EUR)
$isoCodeSource = strval($feed->source['iso_code']);

if (!$default_currency = self::getDefaultCurrency())
return Tools::displayError('No default currency');

$currencies = self::getCurrencies(true);
foreach ($currencies as $currency)
$currency->refreshCurrency($feed->list, $isoCodeSource, $default_currency);

}

 

Завтра буду разбираться.

Link to comment
Share on other sites

вопросы научись задавать полиглот ты наш конкретный.

так и пиши: пацаны,напишите мне код, я умный,но видимо не тем местом.

 

А то откуда берет курс, как обойти... в общем - поцелуй меня в плечо

Link to comment
Share on other sites

Пайпал принимает оплату в долларах. Сколько он снимает с покупателя и как он конвертирует продавца волновать не должно.

 

При конвертации по сути происходит обмен валют. Тут возможно 2 варианта: пайпал конвертирует самостоятельно (причем по своему невыгодному курсу) и снимает с карты рубли. Либо пайпал снимает с карты напрямую доллары, а конвертацию проводит банк которому принадлежит карта (тут курс зависит от самого банка, но как правило он более выгоден чем у пайпала).

 

Курс конвертации пайпала можно где-то в аккаунте узнать.

Link to comment
Share on other sites

SergeyH

Я ещё ни когда так весело не разбирал проблемы с движком. Ты поднимаешь настроение, за это спасибо.

Ну а по остальному, дружище а для чего форумы сделаны? Для обсуждения и обмена опытом. Так вот у меня опыта работы с престой месяц, согласен тут я мало разбираюсь. Но если ты например спросишь как грамотно поднять веб сервер, защитить его и т.д. ну или там циску настроить, дженипер, или ещё чего с сетью, организовать, виртуальную группу, ip телефонию организовать, кластер на чем угодно и в любых количествах и т.д. и т.п., я тебе с удовольствием отвечу, причем поверь, просто, понятно и конкретно. Человек не может знать всё и сразу, поэтому люди и обращаются друг к другу. И собственно повторюсь, нет желания отвечать, помогать, делится по твоему мнению, бесценными данными, так молчи не диви людей плоским юмором.

  • Like 1
Link to comment
Share on other sites

Пайпал принимает оплату в долларах. Сколько он снимает с покупателя и как он конвертирует продавца волновать не должно.

 

При конвертации по сути происходит обмен валют. Тут возможно 2 варианта: пайпал конвертирует самостоятельно (причем по своему невыгодному курсу) и снимает с карты рубли. Либо пайпал снимает с карты напрямую доллары, а конвертацию проводит банк которому принадлежит карта (тут курс зависит от самого банка, но как правило он более выгоден чем у пайпала).

 

Курс конвертации пайпала можно где-то в аккаунте узнать.

Не согласен, слишком существенная разница получается, человек покупает за конкретную цену, обычно в системах есть возможность взять все комиссии и разницы продавцом на себя и потом включить это в стоимость товара. А тут ситуация однозначно не правильная. И её можно исправить, так почему это не сделать.

Link to comment
Share on other sites

или там циску настроить, дженипер

Ты типа щас хотел сказать что у тебя толще и длиннее? Не получилось.

Я говорил о адекватном восприятии своей неправоты, но видимо ЧСВ затмевает все)

 

 

А по теме: апи с курсами палки существует, разбираться не стал, предполагаю что ТС как опытный айтишник кроме гонора обладает навыками поиска информации.

Link to comment
Share on other sites

×
×
  • Create New...