{tutorial} e*gold als Zahlung [PHP]

04/28/2013 21:52 ~ unlimited#1
Hi, willkommen zu meinem kleinen aber feinen Tutorial.
Ich präsentiere euch, eine Möglichkeit "elite*gold" als Zahlung anzunehmen.

Voraussetzung:
Die Logik und das System // Die Vorgehensweise:

Aaaaaalso, wir möchten ja gerne elite*gold als Zahlung in unserem Shop / wo auch immer annehmen. Dafür nutzen wir die schönen Treasures. Ich nehme mal hauptsächlich an, dass wir alle Treasures dann nur für die Zahlungen anzunehmen.

Wir nutzen die Black Market API um die Zahlungen dann auch zu prüfen und dann auch direkt² zuzuschreiben. Also müssen wir auch den direkten Link von unserer Black Market API auch kriegen, welcher folgendermaßen aussehen sollte:

Quote:
[Only registered and activated users can see links. Click Here To Register...]ID&type=all&secretword=SECRETWORD
Dann "filtern" wir jeden Eintrag und fügen es z.B. (nehmen wir mal) in die mySQL Datenbank ein. Haben wir dies, wäre es sinnvoll mit einer mySQL die TreasuresID's damit Sie auch nicht mehrmals "gutgeschrieben" werden, auch gecheckt wird ob Sie vorhanden ist, wenn nein -> nicht gutschreiben, wenn ja -> gutschreiben.

Wenn wir so vorgehen , sind wir auch damit fertig

Ein fertiges Beispiel (kommentiert):

² = Achtung: Bei vielen Hostern wird die file_get_contents Funktion auf ein tägliches Limit gesetzt, zB auf 1und1 ist es auf 100 Abfragen innerhalb 24 Tagen -> somit habe Ich auch Cronjob reingesetzt,Mit Cronjob.de kann man kostenlos zeitgesteuert Skripte vom Webserver aufrufen lassen - somit könnten wir wie gesagt z.B. jede 10 Minuten die Funktion aufrufen lassen um auch "DDOS Blockierungen" gegenüber dem Webspace blockieren.

PHP Code:
<?php
/*
@autor: unlimite.d
@date: 28. April 2013
@description: CronJob -> Überprüfung bsw. Guthaben gutschreiben

*/

$json_from_epvp file_get_contents('http://www.elitepvpers.com/theblackmarket/api/transactions.php?...');
$json json_decode($json_from_epvptrue);
$num count($json);
$i 0;
foreach(
$json as $cur) {
/*
$cur["eg_from"]; // ID vom User
$cur["eg_fromusername"]; // Username vom User
$cur["eg_from"]; //Absender 
$cur["eg_transactionid"]; // Transaktion ID [!]
$cur["amount"]; //elitegold Anzahl
*/

/* t_id = TransaktionID, Beispiel: einfach eine Tabelle erstellen mit t_id + amount */

$query=mysql_query("SELECT * FROM table WHERE t_id='$cur["eg_transactionid"]'"); /* exisitert überhaupt die TransaktionID in der Datenbank? */
if(mysql_num_rows($query) == "0") { /* wenn es keine Übereinstimmungen / doppelten Einträge gibt bsw. $query = 0 Werte eintragen */
$eintrag mysql_query('INSERT INTO table (amount, t_id) VALUES ($cur["amount"], $cur["eg_transactionid"])');
    }
}

?>
Ausgeben kann man das ganze Guthaben dann auch per
Quote:
"sum(amount)" WHERE ID ..
Somit ist auch elite*gold als Zahlungsmethode möglich, welche auch direkt² oder nach paar Minuten gutgeschrieben wird und ohne manuelle Einzahlungen oder etc.

Für Fragen oder sonstiges, einfach posten!