API dla dedykiNET
snikers1997
26.03.2015
Witam, mam taki problem posiadam sklep by ghost, z api dla dedykiNET, został od stworzony jakoś na początku stycznia i działał mi do dnia 21.03 (Wtedy ostatnio wysyłałem i widziałem, że działa), a dzisiaj chciałem wysłać to sprawdzam i wyskakuje mi "Wystąpił błąd" , gdzie powinno wyskoczyć "Konto zostało pomyślnie doładowane", dodam, że moje konto na dedyki normalnie zostaje zasilone, więc dziwne, bo do serwera wysyła kod zwrotny, ale wyświetla mi błąd. I ze względu, że wywala mi błąd to nie doładowuje mojego sklepiku na mojej stronce. A jak wpisze zły kod to wyskakuje ten sam komunikat "Wystąpił błąd", a powinno wyskakiwać "Coś nie tak z kodem..."
Nic nie dodawałem nic nie zmieniałem...
Mój cały kod:
<?php defined('SYSPATH') or die('No direct script access.');
class Payments_dedykiNet
{
protected $rates = array(
7055 => array( 0.62, 0.26 ),
7155 => array( 1.23, 0.52 ),
7255 => array( 2.46, 1.04 ),
7355 => array( 3.69, 1.56 ),
7455 => array( 4.92, 2.08 ),
7555 => array( 6.15, 2.60 ),
7655 => array( 7.38, 3.12 ),
7955 => array( 11.07, 4.68 ),
91055 => array( 12.30, 5.20 ),
91155 => array( 13.53, 5.72 ),
91455 => array( 17.22, 7.28 ),
91955 => array( 23.37, 9.88 ),
92055 => array( 24.60, 10.40 ),
92555 => array( 30.75, 13.00 )
);
public function check( $sms, $numer = NULL, $code = NULL ) {
$user = Core::setting( ) -> get( 'dedykinet_key_api' );
$url = @file_get_contents( "http://panel.dedyki.net/api/payment/api_code_verify.php?payment=homepay_sms&userid=$user&comment=byCZUS&code=".$sms );
$api = json_decode( $url );
if( !is_object( $api ) )
return array( 0.0, 'Wystąpił błąd...' );
if( isset( $api -> error ) && $api -> error )
return array( 0.0, 'Coś nie tak z kodem...' );
if( $api -> status == 'OK' )
return array( (float)$api -> kwota, 'Konto zostało pomyślnie doładowane' );
return array( 0.0, 'Wystąpił błąd...' );
}
public function rates( ) {
foreach( $this -> rates as $key => $rate ) {
$_return[ ] = array(
'numer' => $key,
'text_sms' => 'HPAY.DEDYKI',
'cost' => $rate[ 0 ],
'amount' => $rate[ 1 ]
);
}
return $_return;
}
}
?>
Proszę o pomoc.
Puchate
27.03.2015
Masz w kodzie 2x taki błąd, więc pierw dowiedz się która linia kodu go wyświetla.
$url = @file_get_contents( "http://panel.dedyki.net/api/payment/api_code_verify.php?payment=homepay_sms&userid=$user&comment=byCZUS&code=".$sms ); $api = json_decode( $url ); if( !is_object( $api ) ) return array( 0.0, 'Wystąpił błąd...' );
if( isset( $api -> error ) && $api -> error )a nie łatwiej tak?
if(!empty($api->error))
snikers1997
27.03.2015
Ale pamiętaj, że działało przez około 3 miesiące bez zarzutów.
Spróbowałem usunąć @ przed file_get_contents, nic nie zmieniło dalej ten sam błąd.
if( isset( $api -> error ) && $api -> error )
na:
if(!empty($api->error))
także nic nie robi.
A ten błąd jest wczytany z tego pierwszego cały czas.
czyli:
$api = json_decode( $url ); if( !is_object( $api ) ) return array( 0.0, 'Wystąpił błąd...' );
Użytkownik snikers1997 edytował ten post 27.03.2015 14:29
Portek
27.03.2015
wyskakuje mi "Wystąpił błąd" , gdzie powinno wyskoczyć "Konto zostało pomyślnie doładowane"dodam
To napisz im maila że API się krzaczy, skoro doładowuje, a wyświetla inny komunikat niż docelowy to znaczy że to problem po ich stronie.
że moje konto na dedyki normalnie zostaje zasilone
snikers1997
27.03.2015
Pisałem do nich oni, że nic nie było tykane i to raczej problem po mojej stronie
Puchate
27.03.2015
$api = json_decode( $url );
if( !is_object( $api ) )
return array( 0.0, 'Wystąpił błąd...' );
Dodaj pod tym
echo '<pre>' . print_r($url,1) . print_r($api, 1) . '</pre>'; exit;i pokaż co się wyświetliło
snikers1997
28.03.2015
{"status":"OK","kwota":"0.26"}
{"status":"OK","kwota":0.26}
{"status":"FAIL","kwota":"","error":"BAD_CODE"}
{"status":"FAIL","kwota":"","error":"BAD_CODE[1]"}
Załączone pliki
Użytkownik snikers1997 edytował ten post 28.03.2015 10:57
L0lek
28.03.2015
Skopiowałem link z ich przykładowego api, uzupełniłem danymi i też wywala błąd, to raczej coś u nich
Linux'
28.03.2015
No więc napisałem do nich i czekam na odpowiedz.
Tez mam ten sam blad, to wina hostingu. Mi juz odpisali, cyt "Witam sprawę skierowaliśmy do programisty ponownie".





