Jump to content
Sign in to follow this  
Mvrosking

Twój skrypt nie zwrócił komunikatu "OK", płatność PSC, MicroSMS

Recommended Posts

Cześć, mam taki kod w stronie buy.php

if(isset($_POST['psc_button'])) {
	if(!empty($_POST['psc_nick']) && !empty($_POST['psc_email'])) {
		$psc_nick = mysqli_real_escape_string($database, $_POST['psc_nick']);
		$psc_code = mysqli_real_escape_string($database, $_POST['psc_code']);
		$psc_product_id = $_POST['psc_product_id'];
		$psc = new mPaySafeCard;
		$shop_settings = $database->query("SELECT * FROM `shop_settings`");
		$shop = $shop_settings->fetch_assoc();
		if(isset($_POST['send'])) {
			$product = $database->query("SELECT * FROM `products_list` WHERE id='$psc_product_id'");
			$p = $product->fetch_assoc();
			$price = sprintf("%.3f", $p['psc_price']);
			$psc->add('userid', $shop['microsms_userid']);
			$psc->add('return_ok', "http://www.nethershop.hostmc.pl/nethershopv1/index.php?payments=psc_success");
			$psc->add('return_fail', "http://www.nethershop.hostmc.pl/nethershopv1/index.php?payments=psc_fail");
			$psc->add('url', "http://www.nethershop.hostmc.pl/nethershopv1/index.php?payments=psc_success");
			$psc->add('description', $p['name']);
			$psc->add('amount', $price);
			$psc->add('hash', md5($shop['microsms_userid'] . $shop['microsms_paysafecard_pin'] . $price));
			$psc->add('email', $_POST['psc_email']);
			$psc->add('control', $_POST['nick'], $_POST['psc_product_id']);
			$psc->submit();
		}
	} else {
		$info = '<div class="alert alert-danger" role="alert">Musisz wypełnić wszystkie pola!</div>';
	}
}

Oraz w pliku index.php coś takiego:

$payments = $_GET['payments'];
$info = '';
if($payments == "psc_success") {
	if(isset($_GET['psc_success']) && $_POST['status']) {
		ob_clean();
		$psc->validate_ipn();
		$psc->validate_user($shop['microsms_userid'], $_POST);
		if($_POST['status'] == TRUE) {
			if(isset($_POST['status']) && $_POST['status'] == 'ok') {
				$product = $database->query("SELECT * FROM `products_list` WHERE id='{$_POST['psc_product_id']}'");
				$p = $product->fetch_assoc();
				$info = '<div class="alert alert-success" role="alert">Usługa <b>'.$p['name'].'</b> dla gracza <b>'.$_POST['nick'].'</b> została zakupiona poprawnie! (Metoda kupna: <b>PaySafeCard</b></div>';
			}
		}
		exit('OK');
	}
	if(isset($_GET['status']) && $_GET['status'] == 'fail') {
		$info = 'Niestety, płatność przebiegła negatywnie.';
	}
}

I gdy wchodzę do trybu testowego MicroSMS, wyświetla mi błąd: Twój skrypt nie zwrócił komunikatu "OK".

@MicroSMS, @Salva można jakoś temu zaradzić? Z góry dziękuję za pomoc!

Share this post


Link to post

Tutaj jest podobny temat i też jest problem ze zwróceniem komunikatu OK.

 

Share this post


Link to post
17 minut temu, Salva napisał:

Tutaj jest podobny temat i też jest problem ze zwróceniem komunikatu OK.

 

Tak, ale nie ma żadnego rozwiązania tego problemu. Może ktoś inny mi pomoże ;).

Share this post


Link to post

Zrób tak jak pisało @MicroSMS w ostatnim poście tamtego tematu i wklej logi.

Share this post


Link to post
6 minut temu, Salva napisał:

Zrób tak jak pisało @MicroSMS w ostatnim poście tamtego tematu i wklej logi.

Nie wiem jak to za bardzo zrobić, ale coś takiego udało mi się znaleźć.

185.23.21.10 - - [07/Jan/2017:13:32:16 +0100] "POST /nethershopv1/index.php?payments=psc_success HTTP/1.0" 200 5200 "-" "-"
185.23.21.10 - - [07/Jan/2017:13:51:41 +0100] "POST /nethershopv1/index.php?payments=psc_success HTTP/1.0" 200 5200 "-" "-"

 

Share this post


Link to post

Config nie został skonfigurowany prawidłowo. Nie jesteśmy wstanie pomóc na forum. Jeśli potrzebujesz pomocy skontaktuj się z bok@microsms.pl

  • Like 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Create a New Account. It’s free and easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×
×
  • Create New...