File: webmoney.php

package info (click to toggle)
dtc 0.35.5-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 18,824 kB
  • sloc: php: 50,739; sh: 8,596; makefile: 572; perl: 148; xml: 25
file content (92 lines) | stat: -rw-r--r-- 3,406 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php

/**
 *  webmoney result gateway
 *
 * @copyright 2008 ZioN (c)
 */





require_once("../shared/autoSQLconfig.php");
$panel_type="client";
require_once("$dtcshared_path/dtc_lib.php");
get_secpay_conf();




$LMI_MODE = '1';

if( isset($_POST['LMI_PREREQUEST']) && $_POST['LMI_PREREQUEST'] == 1 ){

	$paiement_type ="online"; $secpay_site="webmoney"; $reason = "wmz:".$_POST['LMI_PAYER_PURSE'].", wmid:".$_POST['LMI_PAYER_WM'];

		$q = "SELECT * FROM $pro_mysql_pay_table WHERE id='".mysql_real_escape_string($_POST['LMI_PAYMENT_NO'])."'";
		$r = mysql_query($q)or die(logPay("Cannot query \"$q\" ! ".mysql_error()." in file ".__FILE__." line ".__LINE__));

		$n = mysql_num_rows($r);
		if($n != 1)die(logPay("Pay id $pay_id not found in file ".__FILE__." line ".__LINE__));  else {

			$ar = mysql_fetch_array($r);
			if($ar["valid"] != "no" && $ar["valid"] != "pending")die(logPay("Paiement already validated or pending in file ".__FILE__." line ".__LINE__));


			$q = "UPDATE $pro_mysql_pay_table SET paiement_type='$paiement_type',secpay_site='$secpay_site',valid='pending',pending_reason='$reason' WHERE id='".mysql_real_escape_string($_POST['LMI_PAYMENT_NO'])."'";
			mysql_query($q)or die(logPay("Cannot query \"$q\" ! ".mysql_error()." in file ".__FILE__." line ".__LINE__));

			echo 'YES';
		}
		//setPaiemntAsPending(mysql_real_escape_string($_POST['LMI_PAYMENT_NO']),mysql_real_escape_string('Payer: '.$_POST['LMI_PAYER_PURSE'].', wmid'.$_POST['LMI_PAYER_WM']));

}

if(isset($_POST['LMI_HASH']) && $_POST['LMI_HASH']){

		$q = "SELECT * FROM $pro_mysql_pay_table WHERE id='".mysql_real_escape_string($_POST['LMI_PAYMENT_NO'])."'";
		$r = mysql_query($q)or die(logPay("Cannot query \"$q\" ! ".mysql_error()." in file ".__FILE__." line ".__LINE__));

		$n = mysql_num_rows($r);
		if($n != 1)die(logPay("Pay id $pay_id not found in file ".__FILE__." line ".__LINE__));

		$ar = mysql_fetch_array($r);

		$chkstring =  $secpayconf_webmoney_wmz.$ar['refund_amount'].$ar['id'].
					  $_POST['LMI_MODE'].$_POST['LMI_SYS_INVS_NO'].$_POST['LMI_SYS_TRANS_NO'].$_POST['LMI_SYS_TRANS_DATE'].
			          $secpayconf_webmoney_license_key.$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM'];

		$md5sum = strtoupper(md5($chkstring));
		$hash_check = ($_POST['LMI_HASH'] == $md5sum);




			    if($_POST['LMI_PAYMENT_NO'] == $ar['id'] # Check if payment id, purse number and amount correspond
				&& $_POST['LMI_PAYEE_PURSE'] == $secpayconf_webmoney_wmz
				&& $_POST['LMI_PAYMENT_AMOUNT'] == $ar['refund_amount']
				&& $_POST['LMI_MODE'] == $LMI_MODE
				&& $hash_check ) {

				$secpay_custom_id="0"; $paiement_type ="online"; $secpay_site="webmoney"; $reason = "wmz:".$_POST['LMI_PAYER_PURSE'].", wmid:".$_POST['LMI_PAYER_WM'];
				$total = mysql_real_escape_string($_POST['LMI_PAYMENT_AMOUNT']);

						$q = "UPDATE $pro_mysql_pay_table SET paiement_type='$paiement_type',
							secpay_site='$secpay_site',paiement_cost='$cost',paiement_total='$total',
							valid_date='".date("Y-m-j")."', valid_time='".date("H:i:s")."',
							secpay_custom_id='$secpay_custom_id',valid='yes' WHERE id='".mysql_real_escape_string($_POST['LMI_PAYMENT_NO'])."'";

						logPay($q);
						mysql_query($q)or die(logPay("Cannot query \"$q\" ! ".mysql_error()." in file ".__FILE__." line ".__LINE__));


				}




   }


?>