Changeset 841274
- Timestamp:
- 01/19/2014 01:12:29 PM (12 years ago)
- Location:
- bank-mellat-edd-gateway
- Files:
-
- 19 added
- 5 edited
-
assets/banner-772x250.png (modified) (previous)
-
tags/2.0 (added)
-
tags/2.0/Mellat_for_EDD.php (added)
-
tags/2.0/lib (added)
-
tags/2.0/lib/class.nusoap_base.php (added)
-
tags/2.0/lib/class.soap_fault.php (added)
-
tags/2.0/lib/class.soap_parser.php (added)
-
tags/2.0/lib/class.soap_server.php (added)
-
tags/2.0/lib/class.soap_transport_http.php (added)
-
tags/2.0/lib/class.soap_val.php (added)
-
tags/2.0/lib/class.soapclient.php (added)
-
tags/2.0/lib/class.wsdl.php (added)
-
tags/2.0/lib/class.wsdlcache.php (added)
-
tags/2.0/lib/class.xmlschema.php (added)
-
tags/2.0/lib/nusoap.php (added)
-
tags/2.0/lib/nusoapmime.php (added)
-
tags/2.0/readme.txt (added)
-
tags/2.0/screenshot-1.png (added)
-
tags/2.0/screenshot-2.png (added)
-
tags/2.0/screenshot-3.png (added)
-
trunk/Mellat_for_EDD.php (modified) (23 diffs)
-
trunk/readme.txt (modified) (5 diffs)
-
trunk/screenshot-2.png (modified) (previous)
-
trunk/screenshot-3.png (modified) (previous)
Legend:
- Unmodified
- Added
- Removed
-
bank-mellat-edd-gateway/trunk/Mellat_for_EDD.php
r767396 r841274 2 2 /** 3 3 Plugin Name: Bank mellat EDD gateway 4 Version: 1.15 Description: این افزونه درگاه بانک ملت را به افزونهEDD اضافه می کند.4 Version: 2.0 5 Description: این افزونه درگاه بانک ملت و شبکه پرداخت الکترونیک شاپرک را به افزونه فروش فایل EDD اضافه می کند. 6 6 Plugin URI: http://picor.ir/Bank-mellat-EDD-gateway 7 7 Author: Arash Heidari 8 8 Author URI: http://www.picor.ir/ 9 9 License: GPL2 10 Tested up to: 3.8 10 11 **/ 11 12 if ( !defined( 'ABSPATH' ) ) { … … 15 16 require_once('lib/nusoap.php'); 16 17 @session_start(); 17 /////--------------------------------------------------- ------18 /////--------------------------------------------------- 18 19 function edd_bpm_rial ($formatted, $currency, $price) { 19 20 … … 21 22 } 22 23 add_filter( 'edd_rial_currency_filter_after', 'edd_bpm_rial', 10, 3 ); 23 /////------------------------------------------------ ---------24 /////------------------------------------------------ 24 25 function bpm_add_gateway ($gateways) { 25 26 $gateways['Mellat'] = array('admin_label' => 'درگاه بانک ملت', 'checkout_label' => 'بانک ملت'); … … 33 34 add_filter( 'edd_Mellat_cc_form', 'bpm_cc_form' ); 34 35 35 /////-------------------------------------------------- -------36 /////-------------------------------------------------- 36 37 function bpmRequest(&$BpmWs, $Req, $params) { 37 38 $namespace='http://interfaces.core.sw.bps.com/'; … … 52 53 return $res; 53 54 } 54 /////------------------------------------------------- --------55 /////------------------------------------------------- 55 56 function bpm_process_payment ($purchase_data) { 56 57 error_reporting(0); 57 58 global $edd_options; 58 59 if ($edd_options['Is_foreign']){ 60 $bpm_ws = 'https://pgwsf.bpm.bankmellat.ir:1443/pgwchannel/services/pgw?wsdl'; 61 }else{ 62 $bpm_ws = 'https://pgws.bpm.bankmellat.ir:443/pgwchannel/services/pgw?wsdl'; 63 } 64 59 $bpm_ws = 'https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl'; 65 60 $i=0; 66 61 do { … … 70 65 // Check for Connection error 71 66 if ($BpmWs->getError()){ 72 edd_set_error( 'pay_00', 'P00:خطا در اتصال به بانک، لطفاً مجدداًتلاش کنید...' );67 edd_set_error( 'pay_00', 'P00:خطایی در اتصال پیش آمد،مجدد تلاش کنید...' ); 73 68 edd_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['edd-gateway']); 74 69 } … … 84 79 'status' => 'pending', 85 80 ); 86 87 81 $payment = edd_insert_payment($payment_data); 88 89 $PayAddr = 'https://pgw.bpm.bankmellat.ir/pgwchannel/startpay.mellat'; 82 $PayAddr = 'https://bpm.shaparak.ir/pgwchannel/startpay.mellat'; 90 83 $terminalId = $edd_options['Mellat_TermID']; 91 84 $userName = $edd_options['Mellat_UserName']; 92 85 $userPassword = $edd_options['Mellat_PassWord']; 93 94 86 if ($payment) { 95 96 87 $_SESSION['Mellat_payment'] = $payment; 97 88 $return = add_query_arg('order', 'Mellat', get_permalink($edd_options['success_page'])); 98 99 89 $orderId = date('ym').date('His').$payment; 100 90 $amount = $purchase_data['price']; … … 104 94 $payerId = 0; 105 95 106 ///////////////// ////PAY REQUEST////////////////////////////96 /////////////////PAY REQUEST PART///////////////////////// 107 97 $parameters = array( 108 98 'terminalId' => $terminalId, … … 117 107 'payerId' => $payerId 118 108 ); 119 120 109 // Call the SOAP method 121 110 $i=0; … … 124 113 $i++; 125 114 } while($PayResult[0] != "0" and $i<3); 126 ///************ ***END of PAY REQUEST*******************///115 ///************END of PAY REQUEST***************/// 127 116 if ($PayResult[0] == "0") { 128 // Successfull Pay Request - Send user to pay url117 // Successfull Pay Request 129 118 echo ' 130 119 <form name="MellatPay" method="post" action="'. $PayAddr .'"> … … 135 124 }else { 136 125 edd_update_payment_status($payment, 'failed'); 126 edd_insert_payment_note( $payment, 'P02:'.CheckStatus((int)$PayResult[0]) ); 137 127 edd_set_error( 'pay_02', ':P02'.CheckStatus((int)$PayResult[0]) ); 138 128 edd_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['edd-gateway']); 139 129 } 140 141 130 }else { 142 131 edd_set_error( 'pay_01', 'P01:خطا در ایجاد پرداخت، لطفاً مجدداً تلاش کنید...' ); … … 145 134 } 146 135 add_action('edd_gateway_Mellat', 'bpm_process_payment'); 147 148 /////--------------------------------------------------------- 136 /////---------------------------------------------------- 149 137 function bpm_verify() { 150 138 error_reporting(0); … … 153 141 $userName = $edd_options['Mellat_UserName']; 154 142 $userPassword = $edd_options['Mellat_PassWord']; 155 156 if ($edd_options['Is_foreign']){ 157 $bpm_ws = 'https://pgwsf.bpm.bankmellat.ir:1443/pgwchannel/services/pgw?wsdl'; 158 }else{ 159 $bpm_ws = 'https://pgws.bpm.bankmellat.ir:443/pgwchannel/services/pgw?wsdl'; 160 } 161 143 $bpm_ws = 'https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl'; 162 144 if (isset($_GET['order']) and $_GET['order'] == 'Mellat' and isset($_POST['SaleOrderId']) and $_SESSION['Mellat_payment'] == substr($_POST['SaleOrderId'],10) and $_POST['ResCode'] == '0') { 163 164 145 $payment = $_SESSION['Mellat_payment']; 165 146 $RefId = $_POST['RefId']; … … 168 149 $SaleOrderId = $_POST['SaleOrderId']; 169 150 $SaleReferenceId = $_POST['SaleReferenceId']; 170 171 151 $do_inquiry = false; 172 152 $do_settle = false; 173 153 $do_reversal = false; 174 154 $do_publish = false; 175 176 155 //Connect to WebService 177 156 $i=0; … … 179 158 $BpmWs = new nusoap_client($bpm_ws); 180 159 $i++; 181 }while ( $BpmWs->getError() and $i<5 );//Check for connection error 160 }while ( $BpmWs->getError() and $i<5 );//Check for connection errors 182 161 if ($BpmWs->getError()){ 183 162 edd_set_error( 'ver_00', 'V00:تراکنش ناموفق بود.<br>اگر وجهی از حساب شما کسر شده باشد، تا پایان روز جاری به حساب شما باز خواهد گشت.' ); 184 163 edd_update_payment_status($_SESSION['Mellat_payment'], 'failed'); 164 edd_insert_payment_note( $_SESSION['Mellat_payment'], 'V00:'.'<pre>'.$BpmWs->getError().'</pre>' ); 185 165 edd_send_back_to_checkout('?payment-mode=Mellat'); 186 166 } … … 194 174 'saleReferenceId' => $SaleReferenceId 195 175 ); 196 ////////////////// ///VERIFY REQUEST///////////////////////////176 //////////////////VERIFY REQUEST/////////////////////// 197 177 if (!edd_is_test_mode()) { 198 178 // Call the SOAP method 199 179 $VerResult = bpmRequest($BpmWs, 'bpVerifyRequest', $parameters); 200 201 180 if ($VerResult[0] == "0") { 202 181 // Note: Successful Verify means complete successful sale was done. … … 215 194 $do_inquiry = false; 216 195 } 217 ///************************* *******END of VERIFY REQUEST**///196 ///*************************END of VERIFY REQUEST**/// 218 197 219 198 ///INQUIRY REQUEST////////////////////////////////////////// … … 239 218 } 240 219 } 241 ///***************END of INQUIRY REQUEST*******************/// 242 243 //////////------------SETTLE REQUEST-------------///////////// 220 ///***********END of INQUIRY REQUEST**************/// 221 ///////------------SETTLE REQUEST-------------////////// 244 222 if ($do_settle) { 245 223 // Call the SOAP method … … 249 227 $i++; 250 228 }while ( $SettResult[0] != "0" and $i<5 ); 251 252 229 if ($SettResult[0] == "0") { 253 230 // Note: Successful Settle means that sale is settled. … … 262 239 } 263 240 } 264 ///************* **END of SETTLE REQUEST*******************///265 266 ////////////////// ///REVERSAL REQUEST///////////////////////241 ///*************END of SETTLE REQUEST****************/// 242 243 //////////////////REVERSAL REQUEST//////////////////// 267 244 if ($do_reversal) { 268 245 $i=0; … … 271 248 $i++; 272 249 }while ($RevResult[0] != "0" and $i<5); 273 274 250 // Note: Successful Reversal means that sale is reversed. 275 251 edd_update_payment_status($payment, 'failed'); 252 edd_insert_payment_note( $payment, 'REV:'.CheckStatus((int)$RevResult[0]) ); 276 253 edd_set_error( 'rev_'.$RevResult[0], 'R00:تراکنش ناموفق بود.<br>اگر وجهی از حساب شما کسر شده باشد، تا پایان روز جاری به حساب شما باز خواهد گشت.' ); 277 254 edd_send_back_to_checkout('?payment-mode=Mellat'); … … 284 261 $do_publish = false; 285 262 edd_update_payment_status($payment, 'publish'); 263 edd_insert_payment_note( $payment, 'شماره تراکنش:'.$SaleReferenceId ); 286 264 echo "<script type='text/javascript'>alert('کد تراکنش خرید بانک : ".$SaleReferenceId."');</script>"; 287 265 } 288 289 266 }else if (isset($_GET['order']) and $_GET['order'] == 'Mellat' and isset($_POST['SaleOrderId']) and $_SESSION['Mellat_payment'] == substr($_POST['SaleOrderId'],10) and $_POST['ResCode'] != '0'){ 290 267 edd_update_payment_status($_SESSION['Mellat_payment'], 'failed'); 268 edd_insert_payment_note($_SESSION['Mellat_payment'], 'V02:'.CheckStatus((int)$_POST['ResCode']) ); 291 269 edd_set_error( $_POST['ResCode'], CheckStatus((int)$_POST['ResCode']) ); 292 270 edd_send_back_to_checkout('?payment-mode=Mellat'); 293 294 } 295 271 } 296 272 } 297 273 add_action('init', 'bpm_verify'); 298 /////----------------------------------------------- ----------274 /////----------------------------------------------- 299 275 function bpm_add_settings ($settings) { 300 276 $Mellat_settings = array ( 301 277 array ( 302 278 'id' => 'Mellat_settings', 303 'name' => '<strong>پيکربندي درگاه بانک ملت</strong><br>(در حالت آزما اشی این قسمت روتکمیل نکنید)',279 'name' => '<strong>پيکربندي درگاه بانک ملت</strong><br>(در حالت آزمایشی این قسمت را تکمیل نکنید)', 304 280 'desc' => 'پيکربندي درگاه بانک ملت با تنظيمات فروشگاه', 305 281 'type' => 'header' 306 282 ), 307 283 array ( 308 'id' => 'Is_foreign',309 'name' => 'موقعیت هاست',310 'desc' => '<strong>در صورت قرار گرفتن سایت شما روی هاست خارجی این گزینه را تیک بزنید</strong>',311 'type' => 'checkbox'312 ),313 array (314 284 'id' => 'Mellat_TermID', 315 'name' => ' ترمینال عملیاتی',285 'name' => 'شماره ترمينال', 316 286 'desc' => '', 317 287 'type' => 'text', … … 327 297 array ( 328 298 'id' => 'Mellat_PassWord', 329 'name' => ' گذرواژه',299 'name' => 'رمز', 330 300 'desc' => '', 331 301 'type' => 'text', 332 302 'size' => 'medium' 333 303 ) 334 335 304 ); 336 305 return array_merge( $settings, $Mellat_settings ); 337 306 } 338 307 add_filter('edd_settings_gateways', 'bpm_add_settings'); 339 /////------------------------------------------------- --------308 /////------------------------------------------------- 340 309 function CheckStatus($ecode) { 341 310 $tmess="شرح خطا: "; -
bank-mellat-edd-gateway/trunk/readme.txt
r767396 r841274 4 4 Author URI: http://picor.ir 5 5 Donate link: http://picor.ir 6 Tags: bank mellat, easy digital downloads, EDD gateways 6 Tags: bank mellat, easy digital downloads, EDD gateways, 7 7 Requires at least: 3.0 8 Tested up to: 3. 69 Stable tag: 1.18 Tested up to: 3.8 9 Stable tag: 2.0 10 10 11 Thia plugin will add bank mellatgateway to EDD plugin11 Thia plugin will add Bank Mellat and Shaparak Electronic Network gateway to EDD plugin 12 12 13 13 == Description == … … 16 16 Features: 17 17 18 * Add Bank mellat gateway to easy digital downloads plugin. 18 * 19 * Add Bank mellat and Shaparak Electronic Network gateway to easy digital downloads plugin. 19 20 * Sell digital downloads through Persian WordPress in iran. 20 21 … … 36 37 37 38 == Upgrade Notice == 39 = 2.0 = 40 * Added shaparak electronic network gateway 41 38 42 = 1.1 = 39 43 * Fix a problem. … … 43 47 44 48 == Changelog == 49 = 2.0 = 50 * Added shaparak electronic network gateway 51 45 52 = 1.1= 46 53 * Fix a problem. … … 50 57 51 58 == Donations == 52 You can Donate plugin author here http://p ay.picor.ir59 You can Donate plugin author here http://picor.ir 53 60 54 61 == Frequently Asked Questions ==
Note: See TracChangeset
for help on using the changeset viewer.