webForumDet fria alternativet

Payson IPN hjälp

0 svar · 1 039 visningar · startad av dwmedia

dwmediaMedlem sedan nov. 2006188 inlägg
#1

Förstår mig inte på payson API IPN där emot den i formen ipn var enklare.

Måste man skapa det man ska handla i en databas för sedan hämta det med TOKEN eller så kallad trackingid för dela ut det i IPN.

Vilka sidor är det man kan spara ner tooken och det till mysql i sådan fall.

Eller någon som är haj på payson nya API som kan lösa det åt oss mot en betalning eller något.

            <form action='../payments/payson/pay/payments.php' method='post'>
            <input type='hidden' name='buyers_email' value='$useremail'>
            <input type='hidden' name='buyers_firstname' value='$userfirstname'>
            <input type='hidden' name='buyers_lastname' value='$userlastname'>

            <input type='hidden' name='payson_description' value='Purchase {$_SESSION['sess_payson_months']} months vip services'>
            <input type='hidden' name='payson_ref' value='{$_SESSION['sess_payson_ref']}'>
            <input type='hidden' name='payson_price' value='$pricsss'>
            <input style='MARGIN-LEFT: 0px' type='image' src='../images/bestall{$lang['RELOAD_COUNTRY_DIFFERENCE']}.png' border='0' name='Submit'>
            </form>

i alla tjänster har samma form.

för vip så har jag
vip_medlemsid
för krediter så har jag
sms_medlemsid
för virtualanumer så har jag
num_medlemsid

Detta är för splita sedan för ta redan på vad dem är det dem har handlad.

min gamla IPN såg ut så här postar den för ge bättre förståelser.

<?php
session_start();
include("../mysql.php");
include("../languages/languages.php");

	$strYourSecretKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx";
	$strOkURL = $_REQUEST["OkURL"];
	$strPaysonRef = $_REQUEST["Paysonref"];

	$strTestMD5String = htmlspecialchars( $strOkURL . $strPaysonRef ). $strYourSecretKey;

	$strMD5Hash = md5($strTestMD5String);

        // Övriga värden
        $text = urldecode($strPaysonRef);
        $text1 = explode("_", $text);
        //Tjänst $text1[0]
        //MedlemId $text1[1]

	if($strMD5Hash == "{$_REQUEST['MD5']}" AND $text1[0] = "sms") {

        // Uppdatera krediter
        $price = "{$_SESSION['sess_pris12']}";
        $price = str_replace(',', '.', $price);

	$sql = "UPDATE Users SET credits = credits +{$_SESSION['sess_antal']}, exchange_rate = exchange_rate +{$_SESSION['sess_antal']} WHERE id = '{$_SESSION['sess_id']}'";
	mysql_query($sql) or die("SQL: $sql<br />" . mysql_error());

        $sql = "UPDATE State SET state_credit_purchase = state_credit_purchase +1, state_loyalty_points = state_loyalty_points +{$_SESSION['sess_antal']} WHERE state_uid = '{$_SESSION['sess_id']}'";
	mysql_query($sql) or die("SQL: $sql<br />" . mysql_error());

        $sql = "INSERT INTO Logs(logs_picture, logs_uid, logs_name, logs_credit_fee, logs_message, logs_queue, logs_amount, logs_service, logs_date)VALUES('3', '{$_SESSION['sess_id']}', '{$lang['WOBTEL_PAYSON_PAYSON_BUY_OF']} {$_SESSION['sess_antal']} {$lang['HELP_CONTACT_US_CREDITS']} ({$_SESSION['sess_pris12']} {$lang['WOBTEL_PAYSON_SEK']})', '+{$_SESSION['sess_antal']}', '{$lang['WOBTEL_PAYSON_PAYSON_BUY_OF']}', '1', '$price', 'sms',NOW())";
        mysql_query($sql) or die(mysql_error());

        echo "<script type='text/javascript'>self.location=('../historic.php?type=buy')</script>";
	
        } elseif ($strMD5Hash == "{$_REQUEST['MD5']}" AND $text1[0] = "vip") {

        $Prittan = floor($_SESSION['sess_antalmonader'] * 200);
        $sql = "UPDATE Users SET vip_membership = '{$_SESSION['sess_VIP_TYPE']}', free_credit = '0', vip_date = DATE_ADD(IF(vip_date > NOW(), vip_date, NOW()), INTERVAL {$_SESSION['sess_antalmonader']} MONTH) WHERE id = '{$_SESSION['sess_id']}'";
        mysql_query($sql) or die("Something went wrong please contact us at info@smsnetwork.org");

        $sql = "INSERT INTO Logs(logs_picture, logs_uid, logs_name, logs_message, logs_queue, logs_amount, logs_service, logs_date)VALUES('3', '{$_SESSION['sess_id']}', '{$lang['WOBTEL_PAYSON_BUY_VIP']} {$_SESSION['sess_antalmonader']} {$lang['BECOME_A_VIP_MONTHS']} ($Prittan {$lang['WOBTEL_PAYSON_SEK']})', '{$lang['WOBTEL_PAYSON_PAYSON_BUY_OF']}', '1', '$Prittan', 'vip',NOW())";
        mysql_query($sql, $conn) or die(mysql_error());

        $sql = "UPDATE State SET state_credit_purchase = state_credit_purchase +1, state_loyalty_points = state_loyalty_points +200 WHERE state_uid = '{$_SESSION['sess_id']}'";
        mysql_query($sql) or die("SQL: $sql<br />" . mysql_error());

        echo "<script type='text/javascript'>self.location=('../historic.php?type=buy&payment=07a4292842c715920f6d091bc85981ce')</script>";

        } elseif ($strMD5Hash == "{$_REQUEST['MD5']}" AND $text1[0] = "ads") {

        $sql1 = "UPDATE Advertisers SET blanac = blanac +{$_SESSION['sess_pris']} WHERE id = '{$_SESSION['sess_aid']}'";
        mysql_query($sql1) or die("Something went wrong in the purchase updates contact support@smsnetwork.org");

        echo "<script type='text/javascript'>self.location=('../ads/index.php')</script>";
        
        } elseif ($strMD5Hash == "{$_REQUEST['MD5']}" AND $text1[0] = "num") {

        $price = "{$_SESSION['sess_pris12']}";
        $price = str_replace(',', '.', $price);

        $sql = "UPDATE State SET state_credit_purchase = state_credit_purchase +1, state_loyalty_points = state_loyalty_points +{$_SESSION['sess_antal']} WHERE state_uid = '{$_SESSION['sess_id']}'";
	mysql_query($sql) or die("SQL: $sql<br />" . mysql_error());

        $sql = "INSERT INTO Logs(logs_picture, logs_uid, logs_name, logs_credit_fee, logs_message, logs_queue, logs_amount, logs_service, logs_date)VALUES('3', '{$_SESSION['sess_id']}', '{$lang['WOBTEL_PAYSON_PAYSON_BUY_OF']} {$_SESSION['sess_antal']} {$lang['HELP_CONTACT_US_CREDITS']} ({$_SESSION['sess_pris12']} {$lang['WOBTEL_PAYSON_SEK']})', '+{$_SESSION['sess_antal']}', '{$lang['WOBTEL_PAYSON_PAYSON_BUY_OF']}', '1', '$price', 'Virtual Number',NOW())";
        mysql_query($sql) or die(mysql_error());

        echo "<script type='text/javascript'>self.location=('../ads/index.php')</script>";

	} else {

	//Felaktigt anrop från någon annan.
	echo "Felaktig MD5-summa";

	}
?>

Den nya IPN förstår jag mig inte på som ser ut så här.

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

require '../lib/paysonapi.php';

// Get the POST data
$postData = file_get_contents("php://input");

// Set up API
$credentials = new PaysonCredentials("4949", "650082f0-22cf-4dce-9e6e-d4416819cf4e");
$api = new PaysonApi($credentials);

// Validate the request
$response =  $api->validate($postData);

if($response->isVerified()){
    // IPN request is verified with Payson

    // Check details to find out what happened with the payment
    $details = $response->getPaymentDetails();
}

?>
129 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)