Sveiki.Gal kas galėtu trumpai paaiškint, kaip išgauti duomenis kuriuos išsiuncia žaidėjas.
Tarkim nusistatau raktažodį "projektas10 erlis". projektas10 reškia, kad žaidėjas turi gauti 10 kreditų. erlis reiškia jo niką.Taigi išsiuntus sms kaip suprantu Paysera kreipiasi į mano projekto "callback" tarkim, projektas.lt/callback.php ir tada tame callbacke aš kažkaip turiu išgauti kokį raktažodį žaidėjas panaudojo ir kokiu vardu uždėti.
Taip kaip man nustatyti šiuos 2 parametrus:
$amount = //turetu buti 10
$name = // turetu buti erlis
Bebras prieš 9 metus
Žvelgiant į šią paysera dokumentaciją tau reikės atlikti šiuos veiksmus:
- Pakeisti simbolius "-" į "+", "_" į "/"
- Iškoduoti eilutę, naudojant base64 kodavimą
- Gauti duomenų masyvą iš rezultato, kuris yra URL-encoded parametrų rinkinys
Su PHP tai atrodo taip(taip pat iš paysera dokumentacijos)
$params = array();
parse_str(base64_decode(strtr($_GET['data'], array('-' => '+', '_' => '/'))), $params);
$params
bus užpildytas atkoduotais duomenimis, paysera dokumentacijoje yra ir sąrašas kokie duomenis tam masyve bus, tavo atveju reikalingas sms
:
$amount = $params['amount']/100; // Paysera sumą pateikia centais.
$text= strstr($params['sms'], " "); // Gražins viską NUO ir ĮSKAITANT tarpą
if(text !== false) // Jeigu žinutės tekste buvo rastas tarpas.
$name = trim($text); // $text su tavo pavyzdžiu būtų " erlis", kad atsikratytume tarpų, naudojame trim funkciją.