Pogledajte određenu poruku
Staro 13. 11. 2005.   #8
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Rešeno, hvala Blues!

Najveći problem nije bila greška u kodu ili nešto slično, već ljudska greška. Naime IPN je po defaultu isključen (stupid) što meni nije rečeno. Zato je svaki moj zahtev bio usluživan sa index stranicom.

Kod funkcije je:

PHP kôd:
/**
* OK, verify payment
*
* @access public
* @param void
* @return null
*/
function paypal_notify() {
  
  
// Prepare query
  
$query = array('cmd=_notify-validate');
  
  
// Fill it with POST vars
  
foreach ($_POST as $key => $val) {
    
$query[] = $key '=' urlencode($val);
  } 
// foreach 
  
  // And join as string
  
$query implode('&'$query);
  
  
// Init curl...
  
$ch curl_init();
  
  
// Prepare curl
  
curl_setopt($chCURLOPT_URL'https://www.paypal.com/cgi-bin/webscr');
  
curl_setopt($chCURLOPT_TIMEOUT15);
  
curl_setopt($chCURLOPT_POSTtrue);
  
//curl_setopt($ch, CURLOPT_POSTFIELDSIZE, 0);
  
curl_setopt($chCURLOPT_POSTFIELDS$query);
  
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
  
  
// Execute and close...
  
$result curl_exec($ch);
  
curl_close($ch);
  
  if(
$result == 'VERIFIED') {
    
$this->finish_order(false);
  } 
// if
  
  // Done here...
  
die();

// paypal_notify 
Mala adaptacije gore navedenog koda, curl only varijanta. Konstanta CURLOPT_POSTFIELDSIZE više ne postoji (iz nekog razloga) pa je ta linija zakomentarisana. To je manje više to, radi posao kao zmaj.
Ilija Studen je offline   Odgovorite uz citat