Pereiti prie turinio

E-gold pervedimas iš hostingo..


Rekomenduojami pranešimai

hm.. galėtumėt paskayt kas blogai? <_<

 

function egold_ismokam($to, $amount)
{
$from = 'EG_ACC';
$frompass = strtoupper(md5("_PASS_"));
$memo = '_MEMO_';
$memo = str_replace(" ","%20",$memo);
$addr = "https://www.e-gold.com/acct/confirm.asp?AccountID=" . $from . "&PassPhrase=" . $frompass . "&Payee_Account=" . $to . "&Amount=". $amount ."&PAY_IN=1&WORTH_OF=Gold&Memo=". $memo . "&IGNORE_RATE_CHANGE=y&PAYMENT_ID=1";
$ch = curl_init($addr);
curl_setopt($ch, CURLOPT_USERAGENT,"Opera/9.02 (Windows NT 5.1; U; lt)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,0);
curl_setopt($ch, CURLOPT_HEADER, 0);
$fp = tmpfile();
curl_setopt ($ch, CURLOPT_FILE, $fp);
$result = curl_exec($ch);
curl_close($ch);
fseek($fp,0,SEEK_SET);
while(!feof($fp))
	$result.=fread($fp,1024);
fclose($fp);
$result = strtolower($result);
$result = strstr($result,"your batch number for confirmation is ");
$result = substr($result,51,8);
return $result;
}

 

pradžią skripto vykdo, o galo deja neprieina. ir timeouto jokio nebuna.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Hm.. Dabar tikrai gerai idėjau pass ir leidžiamą IP, bet vistiek.. Mano fja nebaigia darbo.. :)

Pirmiausia, ar pervedimas pavyksta? T.y., ar pinigai atsiranda kitoje e-gold sąskaitoje?

 

Slaptažodis turi būti būtent tas, su kuriuo jungiesi prie savo e-gold sąskaitos. Neužkoduotas ir niekaip kitaip nemodifikuotas. Ir tikrai ne 'alternative'.

 

O dabar, kodėl funkcija neveikia iki galo. Kad tai suprastum, reikia rašyt visą kodą pačiam arba, jei jau nukopijuoji, tai išsiaiškinti, ką kiekviena eilutė daro.

 

Konkrečiai: http://lt.php.net/curl_setopt

 

1. "e-gold Automation Interface" visiškai nesvarbu iš kokios tu naršyklės jungiesi. Šitą eilutę gali trinti:

curl_setopt($ch, CURLOPT_USERAGENT,"Opera/9.02 (Windows NT 5.1; U; lt)");

2. Jei nori gauti mokėjimo batch numerį, turi pasiimti tinklapio turinį ('source'), kurį grąžina e-gold'as. T.y., CURLOPT_RETURNTRANSFER turi būti įjungtas, o tu jį laikai išjungęs. Pakeisk į:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

3. Iš gaunamo turinio batch numeriui pasiimti užtenka praktiškai vienos PHP funkcijos:

$batch = (preg_match('/<input type=hidden name=PAYMENT_BATCH_NUM value="(\\d+)">/ims', $result, $batch)) ? $batch[1] : '';

Visa kita žemiau yra nereikalinga.

fseek($fp,0,SEEK_SET);
while(!feof($fp))
$result.=fread($fp,1024);
fclose($fp);
$result = strtolower($result);
$result = strstr($result,"your batch number for confirmation is ");
$result = substr($result,51,8);

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nepats aš tą sc rašiau.

 

$memo = str_replace(" ","%20",$memo);

$addr = "https://www.e-gold.com/acct/confirm.asp?AccountID=" . $from . "&PassPhrase=" . $frompass . "&Payee_Account=" . $to . "&Amount=". $amount ."&PAY_IN=1&WORTH_OF=Gold&Memo=". $memo . "&IGNORE_RATE_CHANGE=y&PAYMENT_ID=1";

$ch = curl_init($addr);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

$fp = tmpfile();

curl_setopt ($ch, CURLOPT_FILE, $fp);

$result = curl_exec($ch);

curl_close($ch);

$batch = (preg_match('/<input type=hidden name=PAYMENT_BATCH_NUM value="(\\d+)">/ims', $result, $batch)) ? $batch[1] : '';

return $batch;

 

tik dabar nebežinau ar būtina puslapio turinį įrašyt į failą?

p.s. tas sc kur įmečiau nevisai užbaigtas.. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

gal cURL'o nera serveryje?

 

Arba jis nesugeba apdorot užklausos. Siūlyčiau pasibandyt su kokiu testiniu nutolusiu htmlu ar pats curl veikia.. Gal pvz e-gold puslapis kaipnors apsaugotas nuo tokių užklausų. Su curl'u dirbt neteko, bet kiek su kažkokia "Snoopy" klase internete rasta, tai jei būdavo tinklapy httpaccess'as "įdomesnis" paprasčiausiai tik errorą paimdavo.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

nu va mano klaida:

 

$str = curl_exec($curl);

 

cia dalis is mano perrrasyto skripto, bet ir senam buvo taspats. kazkodel sita eilute nebaigiama vykdyt. Nepagaunu kampo.. :)

Ar pats pervedimas pavyksta? Jei tik toj vietoj skriptas sustoja, tai pinigai jau turėtų būt pervesti. Priešingu atveju dar yra kitokių problemų. Pvz., ar savo e-gold akounte įjungei "Automation access"? Be to, parodyk visą skriptą, kurį dabar turi parašęs. Gali būt, kad kur nors supainioti kintamųjų pavadinimai ir pan. Ar nemeta jokių PHP klaidų?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ar pats pervedimas pavyksta? Jei tik toj vietoj skriptas sustoja, tai pinigai jau turėtų būt pervesti. Priešingu atveju dar yra kitokių problemų. Pvz., ar savo e-gold akounte įjungei "Automation access"? Be to, parodyk visą skriptą, kurį dabar turi parašęs. Gali būt, kad kur nors supainioti kintamųjų pavadinimai ir pan. Ar nemeta jokių PHP klaidų?

 

Pervedimas nepavyksta.

Automation access įjungtas.

PHP klaidų nemeta.

Hostas curl palaiko.

 

function egold_ismokam($to, $amount)

{

echo'pati pradzia-';

$from = ''; //mano eg

$frompass = ''; // mano passphrase

$memo = ''; // mano memo

$memo = str_replace(" ","%20",$memo);

$url = "https://www.e-gold.com/acct/confirm.asp?AccountID=" . $from . "&PassPhrase=" . $frompass . "&Payee_Account=" . $to . "&Amount=". $amount ."&PAY_IN=1&WORTH_OF=Gold&Memo=". $memo . "&IGNORE_RATE_CHANGE=y&PAYMENT_ID=1";

echo'pradeda-';

$curl = curl_init();

echo'sukuria-';

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_HEADER, false);

echo'priskiria-';

$str = curl_exec($curl);

echo'33-';

curl_close($curl);

echo'uzdaro';

$batch = (preg_match('/<input type=hidden name=PAYMENT_BATCH_NUM value="(\\d+)">/ims', $str, $batch)) ? $batch[1] : '';

return $batch;

}

 

Paskutinis uzrasa kuri isprintina - priskiria-

 

EDIT: talpinu pas abrastuka, katik suzinojau kad curl veikia, bet egold pervedimu neimanoma padaryt :)

Redagavo wemalas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pervedimas nepavyksta.

Automation access įjungtas.

PHP klaidų nemeta.

Hostas curl palaiko.

Paskutinis uzrasa kuri isprintina - priskiria-

 

EDIT: talpinu pas abrastuka, katik suzinojau kad curl veikia, bet egold pervedimu neimanoma padaryt :)

is karto reikejo nuo to pradet :D

As jau isskeliau is ten savo zaidima pries pora menesiu del tos pacios priezasties :D

Redagavo Carlsberg
Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 7 mėnesių...

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...