Temat: platnosci.pl/dotpay.pl/przelewy24.pl - django snippet...
haha, widzę grono teoretyków lub wiecznych dziewic pilnie strzeżących swego bezcennego kodu :)
pisanie obsługi płatności (PHP) mnie dopiero czeka ale przekopałem juz grozębudząca dokumentacje platnosci dot pl i jakkolwiek wolalbym dzialajacego gotowca, roboty wiele nie przeczuwam
platnosci po odebraniu formularza raportuja POST-em pod wskazany przez nas link tylko fakt zmiany statusu, na ktory nalezy odpowiedziec 'wyswietlenem' krotkiego zwiezlego OK
raport ma 4 zmienne, w tym hasza z trzech pierwszych i klucza#2, mozemy weryfikowac jesli nam sie chce, raczej powinno sie chciec :)
w odpowiedzi na ten raport musimy, tez POSTem, zapytac o status po zmianie. wysylamy 3 zmienne ktore dostalismy z raportem plus hasz z kluczem#1 i dostajemy w txt lub w xml litanię danych transakcyjnych włącznie z id statusu i haszem na bazie key#2
tu mamy serduszko do wysylki pos_id, session_is i ts POST-em:
(liste zmiennych do wyslania mamy w dokumentacji)
function PostVars($url, $vars)
{
$result = $post = '';
$url = parse_url($url);
if (!is_array($vars)) return false;
foreach ($vars as $k => $v)
{
$post .= urlencode($k) . '=' . urlencode($v) . '&';
}
$post = substr($post, 0, -1);
if ($fp = @fsockopen($url['host'], 80))
{
fputs($fp,
"POST " . $url['path'] . " HTTP/1.0\r\n" .
//"Accept: image/gif, image/x-xbitmap, image/jpeg, " .
//"image/pjpeg, application/msword, " .
//"application/x-shockwave-flash, */*\r\n" .
//"Accept-Language: pl\r\n" .
"Content-Type: application/x-www-form-urlencoded\r\n" .
//"Accept-Encoding: gzip, deflate\r\n" .
//"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; " .
//"Windows NT 5.1)\r\n" .
//"Host: " . $url['host'] . "\r\n" .
"Content-Length: " . strlen($post) . "\r\n" .
//"Connection: Keep-Alive\r\n" .
"\r\n" . $post . "\r\n");
while ($buf = fread($fp, 8192)) $result .= $buf;
fclose($fp);
return $result;
}
return false;
}
i tyle z programu obowiazkowego