Polskie wsparcie PrestaShop
PrestaShop => Błędy => Wątek zaczęty przez: kuras w Kwiecień 24, 2009, 05:13:53 pm
-
A ja mam problem z platnosci.pl.... i może ktoś ma tak samo... i sobie poradził z tym.
Rzecz jest następująca:
Klient składa zamówienie, wybiera płatności.pl
Płaci... wszystko jest OK.
Ale w PrestaShop pojawia się informacja "Bład w płatności" a potem "Płatność odnotowana na koncie Sklepu" (oczywiście do klienta lecą 2 maile (błąd a potem płatność odnotowana)
Wygląda na to że PrestaShop sprawdza status płatności od razu, widzi że nie ma informacji i robi "Błąd w płatności"... po kilku minutach jak już klient się zalogował w banku i dokonał płatności PrestaShop dostaje informację o pomyślnej transakcji i pokazuje komunikat "Płatność odnotowana na koncie Sklepu".
Czyli wychodzi na to że presta powinna chwilkę poczekać zanim wywali błąd...
Ma ktoś taki problem? Macie pomysł jak to rozwiązać? :-)
A może po prostu wyrzucić powiadamianie klienta o błędzie w platności? Chichot Tylko na koncie Klienta będzie i tak ta informacja :(
ps. przepraszam że się powtarzam, ale bardzo chciałbym rozwiązać ten problem.
-
Sprawdź czy podałeś w platnosci,pl poprawny adres pozytywny
http://sdomenasklepu/modules/platnoscipl/order-confirmation.php?orderid=%orderId%
Z procentem na końcu, u mnie był ten bład dopóki jego nie podałem - w opisie modułu jest mały błąd.
Ja mam za to inny problem, wysyła mi wiadomość do klienta o zatwierdzeniu transakcji xx razy.... co jakiś czas. Zaczałem czytac dokumentacje od platnosci.pl wygląda na to, ze sa to próby walidacji dopóki platnosci pl nie otrzyma kodu OK
Nie ma zieloego pojęcia co z tym zrobić. Ktos sobie poradził?
Nie wygląda mi to na probelem z dostępem do pliku validacji... jest raczej bez zarzutów skoro odczytuje numer transakcji itd.
Tymczasowo wyłaczyłem validacje puszczajac platnosci na pusty plik ze statusem OK... no ale to tak jakby korzystac z połowy tego za co się płaci płatnościom...
-
Dzięki za informację.
Dodałem na końcu % ale nie pomogło :(
Nadal jest "Bład w płatności" a za chwilkę "Płatność odnotowana na koncie Sklepu"
Może to sprawka serwera na którym działa presta?!?
-
Poszperałem dziś trochę dalej, w platnosciach mam cos takiego, ktos ma jakies pojęcie skąd to się bierze??? skąd tenn pytajnik może być??
NOT OK RESPONSE
?OK
-
A jednocześnie przy błędzie nie ma tego znaku zapytania... dla ststusu OK
NOT OK RESPONSE
ERROR: WRONG POS ID
Ktoś ma jakies pojęcie co w tym kodzie może generować ten znak zapyatnia?? pytajnik generuje sie przy tym ostatnim OK do tego doszedłem...
<?php
include(dirname(__FILE__).'/../../config/config.inc.php');
include(dirname(__FILE__).'/platnoscipl.php');
$errors = '';
$platnoscipl = new Platnoscipl();
$server = 'www.platnosci.pl';
$gateway = '/paygw/UTF/Payment/get/txt';
if(!isset($_POST['pos_id']) || !isset($_POST['session_id']) || !isset($_POST['ts']) || !isset($_POST['sig'])) {
die('ERROR: EMPTY PARAMETERS'); //-- brak wszystkich parametrow
}
if ($_POST['pos_id'] != Configuration::get('PLATNOSCI_POS_ID')){
die('ERROR: WRONG POS ID'); //--- bledny numer POS
}
$sig = md5( $_POST['pos_id'] . $_POST['session_id'] . $_POST['ts'] . Configuration::get('PLATNOSCI_AUTH_KEY_2'));
if ($_POST['sig'] != $sig){
die('ERROR: WRONG SIGNATURE'); //--- bledny podpis
}
$ts = time();
$sig = md5( Configuration::get('PLATNOSCI_POS_ID') . $_POST['session_id'] . $ts . Configuration::get('PLATNOSCI_AUTH_KEY_1'));
$params = "pos_id=" . Configuration::get('PLATNOSCI_POS_ID') . "&session_id=" . $_POST['session_id'] . "&ts=" . $ts . "&sig=" . $sig;
$header = 'POST '.$gateway.' HTTP/1.0'."\r\n" .
'Host: '.$server."\r\n".
'Content-Type: application/x-www-form-urlencoded'."\r\n".
'Content-Length: '.strlen($params)."\r\n".
'Connection: close'."\r\n\r\n";
if ($fd = @fsockopen('ssl://' . $server, 443, $errno, $errstr, 30))
{
fputs($fd, $header.$params);
$verified = false;
$read = '';
while (!feof($fd))
{ $line = fgets($fd, 1024);
if (substr($line,0,6)=="trans_"){
$pair = explode(":",$line);
$response[$pair[0]] = trim($pair[1]);
}
$read .= $line;
}
fclose ($fd);
$result = $platnoscipl->get_status($response);
if ($result['code']&&(intval($result['code'])!=0)){
switch (intval($result['code'])) {
case 1: // Nowa
$trans_state = Configuration::get('PAYMENT_NEW_STATE');
break;
case 2: // Anulowana
$trans_state = _PS_OS_CANCELED_;
break;
case 3: // Odrzucona
$trans_state = _PS_OS_ERROR_;
break;
case 5: // Oczekuje na odbiĂłr
$trans_state = Configuration::get('PAYMENT_AWAITING_RECEIPT_STATE');
break;
case 7: // Odrzucona
$trans_state = _PS_OS_ERROR_;
break;
case 99: // Odebrana, zakonczona
$trans_state = _PS_OS_PAYMENT_;
break;
case 888: // Błędny status
$trans_state = _PS_OS_ERROR_;
break;
default:
die('OK');
}
if (!isset($response['trans_amount'])||empty($response['trans_amount']))
$errors .= $platnoscipl->l('Brak trans_amount, brak info o kwocie.').'<br />';
if (!isset($response['trans_order_id'])||empty($response['trans_order_id']))
$errors .= $platnoscipl->l('Brak trans_order_id, brak odniesienia do koszyka.').'<br />';
if (!isset($response['trans_id'])||empty($response['trans_id']))
$errors .= $platnoscipl->l('Brak trans_id, nieznany nr transakcji.').'<br />';
if (empty($errors))
{
$cart = new Cart(intval($response['trans_order_id']));
if (!$cart->id){
$errors = $platnoscipl->l('Nie znaleziono koszyka').'<br />';
}
elseif (!Order::getOrderByCartId($response['trans_order_id'])){
$cart = new Cart($response['trans_order_id']);
define('_USER_ID_LANG_', intval($cart->id_lang));
$cart = null;
$platnoscipl->validateOrder($response['trans_order_id'], $trans_state, intval($response['trans_amount'])/100, $platnoscipl->displayName, 'platnosci.pl ID transkacji: '.$response['trans_id']);
}else{
$order_id = Order::getOrderByCartId($response['trans_order_id']);
$history = new OrderHistory();
$history->id_order = intval($order_id);
$history->changeIdOrderState($trans_state, intval($order_id));
$history->addWithemail(true);
}
}
}
echo 'OK';
if (!empty($errors))
die('ERROR: PROBLEMS WITH PROCESSING PAYMENT: '.$errors);
}else
die('ERROR: COULD NOT GET PAYMENT STATUS'); //--- nie udalo sie polaczenie z platnosci.pl
?>
-
A mi zaczęło działać ;-)
Może dlatego, ktoś nie mógł zapłacić... zadzwoniłem do PlatnościPL wyjaśniłem jak i co Klient robił... po czym wchodzę i widzę że już nie ma Błąd w płatności :-)
I wszystko już gra! Kocham ten kraj! :D Nie działa... trzeba mieć nadzieje, że będzie dzień jak zadziała! Więcej wiary życzę wszystkim :D
-
:( Przestało działać! Czasami działa i pojawia się "Rozpoczęcie płatności" a czasami "Błąd w płatności".
Ale najzabawniejsze jest to, że jak jest "Rozpoczęcie płatności" a potem "Płatność odnotowana na koncie Sklepu" to schodzi produkt ze stanu.
A jak jest "Błąd w płatności" a potem "Płatność odnotowana na koncie Sklepu" to produkt nie schodzi ze stanu.
Nie jestem do końca pewien więc może ktoś wie czy przy Błędzie schodzi coś z magazynu czy nie?!?
A i jeszcze powiedzcie mi co to jest za opcja "Zauważ czy zamówienie jest poprawne" na stronie Orders > Order statuses???
-
A i jeszcze jedna rzecz... zapłacenie przez platnosci.pl nie zdejmuje produktu ze stanu :(
Czy w tak macie?
-
Ja na daną chwilę wyłaczyłem ten moduł... wiec nic nie poradze. Więcej kłopotów z nim jak korzyści miałem... a to nie potwierdzał zamówienia, a to wysłał mi kilkadziesiąt maili do klienta itd...
Próbowałem "odnaleźć" przyczyne błędów ale nic z tego...
-
Nie pocieszyłeś mnie! :-(
Ciekawi mnie czy inni też mają taki problem... przypuszczam że ci co nie mają problemów nie wchodzą w kategorię Błąd :-) więc nie mogą się wypowiedzieć.
Chyba poszukam sklepów co używają modyłu platnosci.pl i popytam jak jest u nich!
-
Ja mam identyczny błąd podczas dokonywania płatności z ceną z rabatem.
... Czy udało się wyjaśnić przyczynę błędu?
-
Przeniesienie na inny serwer pomogło... na kilka dni :-) a teraz jest cały czas to samo.... czyli błąd.
Z tego co pamiętam moduł lepiej działa z wyższą wersją PS.
Moduł płatny działa poprawnie... tylko tam wymagana jest wyższa wersja PS.