PluginProbe
Welcart e-Commerce / 1.4.11
Welcart e-Commerce v1.4.11
2.12.4 2.12.3 2.11.35 2.12.2 2.12.1 2.11.34 2.11.33 2.11.32 2.11.31 2.11.30 1.3.16 1.3.17 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.10 1.4.11 1.4.12 All 292 releases
usc-e-shop / functions / hoock_func.php

hoock_func.php in Welcart e-Commerce 1.4.11, at functions/hoock_func.php

1,199 lines 48.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // Hoock functions
3 add_action('usces_construct', 'usces_action_acting_construct', 10);
4 add_action('usces_after_cart_instant', 'usces_action_acting_transaction', 10);
5
6 function usces_action_acting_construct(){
7
8 if(isset($_POST['X-TRANID']) && !isset($_POST['OPT'])){//remise
9
10 $rand = $_POST['X-S_TORIHIKI_NO'];
11 $datas = usces_get_order_acting_data($rand);
12 $_GET['uscesid'] = $datas['sesid'];
13 if( empty($datas['sesid']) ){
14 usces_log('remise construct : error1', 'acting_transaction.log');
15 }else{
16 //usces_auth_order_acting_data($rand);
17 usces_log('remise construct : '.$_POST['X-TRANID'], 'acting_transaction.log');
18 usces_set_acting_notification_time( $rand );
19 }
20
21 }elseif( in_array($_SERVER['REMOTE_ADDR'], array('210.164.6.67', '202.221.139.50')) ){//zeus
22
23 $rand = $_REQUEST['sendpoint'];
24 $datas = usces_get_order_acting_data($rand);
25 $_GET['uscesid'] = $datas['sesid'];
26 if( empty($datas['sesid']) ){
27 usces_log('zeus construct : error1', 'acting_transaction.log');
28 }else{
29 usces_log('zeus construct : '.$_REQUEST['sendpoint'], 'acting_transaction.log');
30 }
31
32 } elseif( isset($_POST['res_result']) && isset($_POST['res_pay_method']) && isset($_POST['order_id']) ) {//SoftBankPayment
33
34 $datas = usces_get_order_acting_data( $_POST['order_id'] );
35 $_GET['uscesid'] = $datas['sesid'];
36 if( empty($datas['sesid']) ) {
37 usces_log('SoftBankPayment construct : error1', 'acting_transaction.log');
38 } else {
39 usces_log('SoftBankPayment construct : '.$_POST['order_id'], 'acting_transaction.log');
40 }
41
42 } elseif( isset($_POST['SID']) && isset($_POST['FUKA']) && isset($_POST['CVS']) ) {//digitalcheck_conv
43
44 $datas = usces_get_order_acting_data( $_POST['SID'] );
45 $_GET['uscesid'] = $datas['sesid'];
46 if( empty($datas['sesid']) ) {
47 usces_log('digitalcheck construct : error1', 'acting_transaction.log');
48 } else {
49 usces_log('digitalcheck construct : '.$_POST['SID'], 'acting_transaction.log');
50 }
51
52 } elseif( isset($_REQUEST['SiteId']) && isset($_REQUEST['rand']) ) {//AnotherLane
53
54 $datas = usces_get_order_acting_data( $_REQUEST['rand'] );
55 $_GET['uscesid'] = $datas['sesid'];
56 if( empty($datas['sesid']) ) {
57 usces_log('anotherlane construct : error1', 'acting_transaction.log');
58 } else {
59 usces_log('anotherlane construct : '.$_REQUEST['rand'], 'acting_transaction.log');
60 }
61
62 } elseif( isset($_POST['orderId']) and isset($_POST['merchantEncryptionKey']) ) {//Veritrans
63
64 $datas = usces_get_order_acting_data( $_POST['orderId'] );
65 $_GET['uscesid'] = $datas['sesid'];
66 if( empty($datas['sesid']) ) {
67 usces_log('Veritrans construct : error1', 'acting_transaction.log');
68 } else {
69 usces_log('Veritrans construct : '.$_POST['orderId'], 'acting_transaction.log');
70 }
71
72 } elseif( isset($_POST['trading_id']) and isset($_POST['payment_status']) and !isset($_POST['purchase']) ) {//Paygent
73
74 if( $_POST['payment_status'] == '10' ) {
75 $datas = usces_get_order_acting_data( $_POST['trading_id'] );
76 $_GET['uscesid'] = $datas['sesid'];
77 if( empty($datas['sesid']) ) {
78 usces_log('Paygent construct : error1', 'acting_transaction.log');
79 } else {
80 usces_log('Paygent construct : '.$_POST['trading_id'], 'acting_transaction.log');
81 }
82 }
83
84 }
85 }
86
87 function usces_action_acting_transaction(){
88 global $usces, $wpdb;
89
90 //*** remise_card ***//
91 if(isset($_POST['X-TRANID']) && !isset($_POST['OPT'])){
92 foreach( $_POST as $key => $value ){
93 $data[$key] = mb_convert_encoding($value, 'UTF-8', 'SJIS');
94 }
95 usces_log('remise acting_transaction : '.print_r($data, true), 'acting_transaction.log');
96
97 $rand = $_POST['X-S_TORIHIKI_NO'];
98 // if( empty($rand) ){
99 // usces_log('remise card error1 : '.print_r($data, true), 'acting_transaction.log');
100 // die('error1');
101 // }else{
102 // $res = usces_check_notification_time( $rand, 15 );
103 // if( !$res )
104 // die('error : time over');
105 // }
106 //
107 // if( 0 !== (int)$_POST['X-ERRLEVEL'] ){
108 // usces_log('remise card error2 : '.print_r($data, true), 'acting_transaction.log');
109 // die('error2');
110 // }
111
112 if( '0000000' === substr($rand, 0, 7) ){//card up
113 usces_log('remise card_update : '.print_r($data, true), 'acting_transaction.log');
114 if( isset($_POST['X-EXPIRE']) ){
115 $expire = substr($_POST['X-EXPIRE'], 0, 2) . '/' . substr($_POST['X-EXPIRE'], 2, 2);
116 $usces->set_member_meta_value('limitofcard', $expire, $_POST['X-AC_S_KAIIN_NO']);
117 }
118 if( isset($_POST['X-PARTOFCARD']) )
119 $usces->set_member_meta_value('partofcard', $_POST['X-PARTOFCARD'], $_POST['X-AC_S_KAIIN_NO']);
120
121 //20120510ysk start
122 //die('<SDBKDATA>STATUS=800</SDBKDATA>');
123 $status = (isset($_POST['CARIER_TYPE'])) ? '900' : '800';
124 die('<SDBKDATA>STATUS='.$status.'</SDBKDATA>');
125 //20120510ysk end
126 }
127
128 //20110203ysk start
129 // $res = $usces->order_processing();
130 // if( 'error' == $res ){
131 // usces_log('remise card error3 : '.print_r($data, true), 'acting_transaction.log');
132 // die('error3');
133 // }else{
134 if( isset($_POST['X-PAYQUICKID']) )
135 $usces->set_member_meta_value('remise_pcid', $_POST['X-PAYQUICKID']);
136 if( isset($_POST['X-AC_MEMBERID']) )
137 $usces->set_member_meta_value('remise_memid', $_POST['X-AC_MEMBERID']);
138 //20120511ysk start
139 if( isset($_POST['X-EXPIRE']) ) {
140 $limitofcard = substr($_POST['X-EXPIRE'], 0, 2) . '/' . substr($_POST['X-EXPIRE'], 2, 2);
141 $usces->set_member_meta_value('limitofcard', $limitofcard);
142 }
143 if( isset($_POST['X-PARTOFCARD']) )
144 $usces->set_member_meta_value('partofcard', $_POST['X-PARTOFCARD']);
145 //20120511ysk end
146 usces_log('remise card transaction : '.$_POST['X-TRANID'], 'acting_transaction.log');
147 //20120510ysk start
148 //die('<SDBKDATA>STATUS=800</SDBKDATA>');
149 $status = (isset($_POST['CARIER_TYPE'])) ? '900' : '800';
150 die('<SDBKDATA>STATUS='.$status.'</SDBKDATA>');
151 //20120510ysk end
152 // }
153 //20110203ysk end
154
155 //*** remise_conv ***//
156 }elseif( isset($_POST['S_TORIHIKI_NO']) && isset($_POST['REC_FLG']) ){
157 foreach( $_POST as $key => $value ){
158 $data[$key] = mb_convert_encoding($value, 'UTF-8', 'SJIS');
159 }
160
161 $table_name = $wpdb->prefix . "usces_order";
162 $table_meta_name = $wpdb->prefix . "usces_order_meta";
163
164 $mquery = $wpdb->prepare("SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'settlement_id', $_POST['S_TORIHIKI_NO']);
165 $order_id = $wpdb->get_var( $mquery );
166 if( $order_id == NULL ){
167 usces_log('remise conv error1 : '.print_r($data, true), 'acting_transaction.log');
168 die('error1');
169 }
170
171 $mquery = $wpdb->prepare("
172 UPDATE $table_name SET order_status =
173 CASE
174 WHEN LOCATE('noreceipt', order_status) > 0 THEN REPLACE(order_status, 'noreceipt', 'receipted')
175 WHEN LOCATE('receipted', order_status) > 0 THEN order_status
176 ELSE CONCAT('receipted,', order_status )
177 END
178 WHERE ID = %d", $order_id);
179 $res = $wpdb->query( $mquery );
180 if( $res === false ){
181 usces_log('remise conv error2 : '.print_r($data, true), 'acting_transaction.log');
182 die('error2');
183 }
184
185 $datastr = serialize( $data );
186 $mquery = $wpdb->prepare(
187 "UPDATE $table_meta_name SET meta_value = %s WHERE meta_key = %s AND order_id = %d", $datastr, 'settlement_id', $order_id);
188 $res = $wpdb->query( $mquery );
189 if( $res === false ){
190 usces_log('remise conv error3 : '.print_r($data, true), 'acting_transaction.log');
191 die('error3');
192 }
193
194 usces_action_acting_getpoint( $order_id );//20120306ysk 0000324
195
196 //usces_send_receipted_mail( $order_id, 'remise_conv' );
197 usces_log('remise conv transaction : '.$_POST['S_TORIHIKI_NO'], 'acting_transaction.log');
198 die('<SDBKDATA>STATUS=800</SDBKDATA>');
199
200 //*** zeus_card ***//
201 }elseif( isset($_REQUEST['acting']) && 'zeus_card' == $_REQUEST['acting'] && isset($_REQUEST['result']) && isset($_REQUEST['ordd']) ){
202 foreach( $_REQUEST as $key => $value ){
203 $data[$key] = $value;
204 }
205 usces_log('zeus card cgi : '.print_r($data, true), 'acting_transaction.log');
206
207 $rand = $_GET['sendpoint'];
208 if( empty($rand) ){
209 usces_log('zeus card error1 : '.print_r($data, true), 'acting_transaction.log');
210 die('error1');
211 }
212
213 if( 'OK' == $_REQUEST['result'] ){
214 $acting_opts = $usces->options['acting_settings']['zeus'];
215 if( $usces->is_member_logged_in() ) {
216 if( isset($_GET['cardnumber']) ) {
217 $usces->set_member_meta_value( 'zeus_partofcard', $_GET['cardnumber'] );
218 if( 'on' == $acting_opts['quickcharge'] ) {
219 $usces->set_member_meta_value( 'zeus_pcid', '8888888888888888' );
220 }
221 }
222 }
223 header("HTTP/1.0 200 OK");
224 die('zeus');
225
226 }else{
227 header("HTTP/1.0 200 OK");
228 die('error3');
229 }
230
231 //*** zeus_bank ***//
232 }elseif( isset($_REQUEST['acting']) && 'zeus_bank' == $_REQUEST['acting'] && isset($_REQUEST['order_no']) && isset($_REQUEST['tracking_no']) ){
233 foreach( $_REQUEST as $key => $value ){
234 $data[$key] = $value;
235 }
236 usces_log('zeus bank cgi data : '.print_r($data,true), 'acting_transaction.log');
237
238 //20130426ysk start 0000701
239 if( '04' === $_REQUEST['status'] or '05' === $_REQUEST['status'] ) {
240 usces_log( 'zeus bank error0 : status='.$_REQUEST['status'], 'acting_transaction.log' );
241 die('error0');
242 }
243 //20130426ysk end
244
245 $acting_opts = $usces->options['acting_settings']['zeus'];
246
247 $table_name = $wpdb->prefix . "usces_order";
248 $table_meta_name = $wpdb->prefix . "usces_order_meta";
249 $mquery = $wpdb->prepare("SELECT order_id, meta_value FROM $table_meta_name WHERE meta_key = %s", 'acting_'.$_REQUEST['tracking_no']);
250 $values = $wpdb->get_row( $mquery, ARRAY_A );
251
252 if( $values == NULL ){
253
254 //20110203ysk start
255 $res = $usces->order_processing();
256 if( 'error' == $res ){
257 usces_log('zeus bank error1 : order_processing', 'acting_transaction.log');
258 die('error1');
259 }else{
260 usces_log('zeus bank order : OK', 'acting_transaction.log');
261 $order_id = $usces->cart->get_order_entry('ID');
262 $value = serialize($_GET);
263 $query = $wpdb->prepare("INSERT INTO $table_meta_name (order_id, meta_key, meta_value) VALUES (%d, %s, %s)", $order_id, 'acting_'.$_REQUEST['tracking_no'], $value);
264 $res = $wpdb->query( $query );
265
266 $mquery = $wpdb->prepare("SELECT order_id, meta_value FROM $table_meta_name WHERE meta_key = %s", 'acting_'.$_REQUEST['tracking_no']);
267 $values = $wpdb->get_row( $mquery, ARRAY_A );
268 $usces->cart->crear_cart();
269 }
270 //20110203ysk end
271 }
272
273 //usces_log('zeus construct_values2 : '.print_r($values,true), 'acting_transaction.log');
274 $value = unserialize($values['meta_value']);
275 $status = ( '03' === $_REQUEST['status'] ) ? 'receipted,' : 'noreceipt,';
276 $order_id = $values['order_id'];
277 //$add_point = true;//20120306ysk 0000324
278 if( 'receipted,' == $status ){
279 $mquery = $wpdb->prepare("
280 UPDATE $table_name SET order_status =
281 CASE
282 WHEN LOCATE('noreceipt', order_status) > 0 THEN REPLACE(order_status, 'noreceipt', 'receipted')
283 WHEN LOCATE('receipted', order_status) > 0 THEN order_status
284 ELSE CONCAT('receipted,', order_status )
285 END
286 WHERE ID = %d", $order_id);
287 }else{
288 $mquery = $wpdb->prepare("
289 UPDATE $table_name SET order_status =
290 CASE
291 WHEN LOCATE('receipted', order_status) > 0 THEN REPLACE(order_status, 'receipted', 'noreceipt')
292 WHEN LOCATE('noreceipt', order_status) > 0 THEN order_status
293 ELSE CONCAT('noreceipt,', order_status )
294 END
295 WHERE ID = %d", $order_id);
296 //$add_point = false;//20120306ysk 0000324
297 }
298 $res = $wpdb->query( $mquery );
299 if( false === $res ){
300 //usces_log('zeus bank error2 : '.print_r($data, true), 'acting_transaction.log');
301 usces_log('zeus bank error2 : update usces_order', 'acting_transaction.log');
302 die('error2');
303 }
304 //usces_action_acting_getpoint( $order_id, $add_point );//20120306ysk 0000324
305 if( '03' === $_REQUEST['status'] ) usces_action_acting_getpoint( $order_id );//20140130ysk
306
307 $upvalue = array( 'acting' => $_GET['acting'], 'order_no' => $_GET['order_no'], 'tracking_no' => $_GET['tracking_no'], 'status' => $_GET['status'], 'error_message' => $_GET['error_message'], 'money' => $_GET['money'] );
308 $mquery = $wpdb->prepare("UPDATE $table_meta_name SET meta_value = %s WHERE order_id = %d AND meta_key = %s", serialize($upvalue), $order_id, 'acting_'.$_REQUEST['tracking_no']);
309 //usces_log('mquery2 : '.print_r($mquery, true), 'acting_transaction.log');
310 $res = $wpdb->query( $mquery );
311 if(!$res){
312 //usces_log('zeus bank error3 : '.print_r($data, true), 'acting_transaction.log');
313 usces_log('zeus bank error3 : update usces_order_meta', 'acting_transaction.log');
314 die('error3');
315 }
316
317 usces_log('zeus bank transaction : '.$_REQUEST['tracking_no'], 'acting_transaction.log');
318 die('zeus');
319
320 //*** zeus_conv ***//
321 }elseif( isset($_REQUEST['acting']) && 'zeus_conv' == $_REQUEST['acting'] && isset($_REQUEST['status']) && isset($_REQUEST['sendpoint']) ){
322 foreach( $_REQUEST as $key => $value ){
323 $data[$key] = $value;
324 }
325 usces_log('zeus conv cgi data : '.print_r($data,true), 'acting_transaction.log');
326
327 $acting_opts = $usces->options['acting_settings']['zeus'];
328
329 $table_name = $wpdb->prefix . "usces_order";
330 $table_meta_name = $wpdb->prefix . "usces_order_meta";
331 $mquery = $wpdb->prepare("SELECT order_id, meta_value FROM $table_meta_name WHERE meta_key = %s", 'acting_'.$_REQUEST['sendpoint']);
332 $values = $wpdb->get_row( $mquery, ARRAY_A );
333 if( $values == NULL ){
334
335 //20110203ysk start
336 /* $res = $usces->order_processing();
337
338 if( 'error' == $res ){
339 usces_log('zeus conv error1 : '.print_r($data, true), 'acting_transaction.log');
340 die('error1');
341 }else{
342 $order_id = $usces->cart->get_order_entry('ID');
343 $value = serialize($_GET);
344 $query = $wpdb->prepare("INSERT INTO $table_meta_name (order_id, meta_key, meta_value) VALUES (%d, %s, %s)", $order_id, 'acting_'.$_REQUEST['sendpoint'], $value);
345 $res = $wpdb->query( $query );
346 usces_log('zeus conv ordered : OK', 'acting_transaction.log');
347 }*/
348 //20110203ysk end
349
350 }else{
351 if( '05' !== $_REQUEST['status'] ) {//20131128ysk 0000794
352 $value = unserialize($values['meta_value']);
353 $status = ( '04' === $_REQUEST['status'] ) ? 'receipted,' : 'noreceipt,';
354 $order_id = $values['order_id'];
355 //$add_point = true;//20120306ysk 0000324
356 if( 'receipted,' == $status ){
357 $mquery = $wpdb->prepare("
358 UPDATE $table_name SET order_status =
359 CASE
360 WHEN LOCATE('noreceipt', order_status) > 0 THEN REPLACE(order_status, 'noreceipt', 'receipted')
361 WHEN LOCATE('receipted', order_status) > 0 THEN order_status
362 ELSE CONCAT('receipted,', order_status )
363 END
364 WHERE ID = %d", $order_id);
365 }else{
366 $mquery = $wpdb->prepare("
367 UPDATE $table_name SET order_status =
368 CASE
369 WHEN LOCATE('receipted', order_status) > 0 THEN REPLACE(order_status, 'receipted', 'noreceipt')
370 WHEN LOCATE('noreceipt', order_status) > 0 THEN order_status
371 ELSE CONCAT('noreceipt,', order_status )
372 END
373 WHERE ID = %d", $order_id);
374 //$add_point = false;//20120306ysk 0000324
375 }
376 $res = $wpdb->query( $mquery );
377 if(!$res){
378 usces_log('zeus conv error2 : '.print_r($data, true), 'acting_transaction.log');
379 die('error2');
380 }
381
382 foreach( $_GET as $key => $v ){
383 $newvalue[$key] = mb_convert_encoding($v, 'UTF-8', 'SJIS');
384 }
385 $value = serialize($newvalue);
386 $mquery = $wpdb->prepare("UPDATE $table_meta_name SET meta_value = %s WHERE order_id = %d AND meta_key = %s", $value, $order_id, 'acting_'.$_REQUEST['sendpoint']);
387 $res = $wpdb->query( $mquery );
388 if(!$res){
389 usces_log('zeus conv error3 : '.print_r($data, true), 'acting_transaction.log');
390 die('error3');
391 }
392 //usces_action_acting_getpoint( $order_id, $add_point );//20120306ysk 0000324
393 if( '04' === $_REQUEST['status'] ) usces_action_acting_getpoint( $order_id );//20140130ysk
394 }
395 }
396
397 usces_log('zeus conv transaction : '.$_REQUEST['sendpoint'], 'acting_transaction.log');
398 die('zeus');
399
400 //20101018ysk start
401 //*** jpayment_card ***//
402 } elseif(isset($_REQUEST['acting']) && 'jpayment_card' == $_REQUEST['acting']) {
403 //$args='';
404 //foreach((array)$_GET as $key => $value) {
405 // $args.='&('.$key.')=('.$value.')';
406 //}
407 //usces_log('jpayment card : '.$args, 'acting_transaction.log');
408
409 //*** jpayment_conv ***//
410 } elseif(isset($_REQUEST['acting']) && 'jpayment_conv' == $_REQUEST['acting'] && isset($_GET['ap'])) {
411 //$args='';
412 //foreach((array)$_GET as $key => $value) {
413 // $args.='&('.$key.')=('.$value.')';
414 //}
415 //usces_log('jpayment conv : '.$args, 'acting_transaction.log');
416 foreach( $_REQUEST as $key => $value ){
417 $data[$key] = $value;
418 }
419
420 switch($_GET['ap']) {
421 case 'CPL_PRE'://コンビニペーパーレス決済識別コード
422 break;
423
424 case 'CPL'://�
425 �金確定
426 $table_name = $wpdb->prefix."usces_order";
427 $table_meta_name = $wpdb->prefix."usces_order_meta";
428
429 $query = $wpdb->prepare("SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'settlement_id', $_GET['cod']);
430 $order_id = $wpdb->get_var($query);
431 if($order_id == NULL) {
432 usces_log('jpayment conv error1 : '.print_r($data, true), 'acting_transaction.log');
433 die('error1');
434 }
435
436 $query = $wpdb->prepare("
437 UPDATE $table_name SET order_status =
438 CASE
439 WHEN LOCATE('noreceipt', order_status) > 0 THEN REPLACE(order_status, 'noreceipt', 'receipted')
440 WHEN LOCATE('receipted', order_status) > 0 THEN order_status
441 ELSE CONCAT('receipted,', order_status )
442 END
443 WHERE ID = %d", $order_id);
444 $res = $wpdb->query($query);
445 if($res === false) {
446 usces_log('jpayment conv error2 : '.print_r($data, true), 'acting_transaction.log');
447 die('error2');
448 }
449
450 foreach($_GET as $key => $value) {
451 $data[$key] = esc_sql($value);
452 }
453 $res = $usces->set_order_meta_value('acting_'.$_REQUEST['acting'], serialize($data), $order_id);
454 if($res === false) {
455 usces_log('jpayment conv error3 : '.print_r($data, true), 'acting_transaction.log');
456 die('error3');
457 }
458
459 usces_action_acting_getpoint( $order_id );//20120306ysk 0000324
460
461 usces_log('J-Payment conv transaction : '.$_GET['gid'], 'acting_transaction.log');
462 die('J-Payment');
463 break;
464
465 case 'CVS_CAN'://�
466 �金取消
467 $table_name = $wpdb->prefix."usces_order";
468 $table_meta_name = $wpdb->prefix."usces_order_meta";
469
470 $query = $wpdb->prepare("SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'settlement_id', $_GET['cod']);
471 $order_id = $wpdb->get_var($query);
472 if($order_id == NULL) {
473 usces_log('jpayment conv error1 : '.print_r($data, true), 'acting_transaction.log');
474 die('error1');
475 }
476
477 $query = $wpdb->prepare("
478 UPDATE $table_name SET order_status =
479 CASE
480 WHEN LOCATE('receipted', order_status) > 0 THEN REPLACE(order_status, 'receipted', 'noreceipt')
481 WHEN LOCATE('noreceipt', order_status) > 0 THEN order_status
482 ELSE CONCAT('noreceipt,', order_status )
483 END
484 WHERE ID = %d", $order_id);
485 $res = $wpdb->query($query);
486 if($res === false) {
487 usces_log('jpayment conv error2 : '.print_r($data, true), 'acting_transaction.log');
488 die('error2');
489 }
490
491 foreach($_GET as $key => $value) {
492 $data[$key] = esc_sql($value);
493 }
494 $res = $usces->set_order_meta_value('acting_'.$_REQUEST['acting'], serialize($data), $order_id);
495 if($res === false) {
496 usces_log('jpayment conv error3 : '.print_r($data, true), 'acting_transaction.log');
497 die('error3');
498 }
499
500 usces_action_acting_getpoint( $order_id, false );//20120306ysk 0000324
501
502 usces_log('J-Payment conv transaction : '.$_GET['gid'], 'acting_transaction.log');
503 die('J-Payment');
504 break;
505 }
506
507 //*** jpayment_bank ***//
508 } elseif(isset($_REQUEST['acting']) && 'jpayment_bank' == $_REQUEST['acting']) {
509 //$args='';
510 //foreach((array)$_GET as $key => $value) {
511 // $args.='&('.$key.')=('.$value.')';
512 //}
513 //usces_log('jpayment bank : '.$args, 'acting_transaction.log');
514 foreach( $_REQUEST as $key => $value ){
515 $data[$key] = $value;
516 }
517
518 switch($_GET['ap']) {
519 case 'BANK'://受付完了
520 break;
521
522 case 'BAN_SAL'://�
523 �金完了
524 if($_GET['mf'] == '1') {//�
525 �金マッチングの場合
526 $table_name = $wpdb->prefix."usces_order";
527 $table_meta_name = $wpdb->prefix."usces_order_meta";
528
529 $query = $wpdb->prepare("SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'settlement_id', $_GET['cod']);
530 $order_id = $wpdb->get_var($query);
531 if($order_id == NULL) {
532 usces_log('jpayment bank error1 : '.print_r($data, true), 'acting_transaction.log');
533 die('error1');
534 }
535
536 $query = $wpdb->prepare("
537 UPDATE $table_name SET order_status =
538 CASE
539 WHEN LOCATE('noreceipt', order_status) > 0 THEN REPLACE(order_status, 'noreceipt', 'receipted')
540 WHEN LOCATE('receipted', order_status) > 0 THEN order_status
541 ELSE CONCAT('receipted,', order_status )
542 END
543 WHERE ID = %d", $order_id);
544 $res = $wpdb->query($query);
545 if($res === false) {
546 usces_log('jpayment bank error2 : '.print_r($data, true), 'acting_transaction.log');
547 die('error2');
548 }
549
550 foreach($_GET as $key => $value) {
551 $data[$key] = esc_sql($value);
552 }
553 $res = $usces->set_order_meta_value('acting_'.$_REQUEST['acting'], serialize($data), $order_id);
554 if($res === false) {
555 usces_log('jpayment bank error3 : '.print_r($data, true), 'acting_transaction.log');
556 die('error3');
557 }
558
559 usces_action_acting_getpoint( $order_id );//20120306ysk 0000324
560 }
561
562 usces_log('J-Payment bank transaction : '.$_REQUEST['gid'], 'acting_transaction.log');
563 die('J-Payment');
564 break;
565 }
566 //20101018ysk end
567 //*** epsilon ***//
568 }elseif( !isset($_GET['acting_return']) && isset($_GET['trans_code']) && isset($_GET['user_id']) && isset($_GET['result']) && isset($_GET['order_number']) ){
569 $query = 'trans_code=' . $_GET['trans_code'] . '&user_id=' . $_GET['user_id'] . '&result=' . $_GET['result'] . '&order_number=' . $_GET['order_number'];
570 usces_log('epsilon (acting_transaction) : ' . $query, 'acting_transaction.log');
571 $permalink_structure = get_option('permalink_structure');
572 $delim = ( !$usces->use_ssl && $permalink_structure) ? '?' : '&';
573
574 header('location: ' . USCES_CART_URL . $delim . 'acting=epsilon&acting_return=1&' . $query );
575 exit;
576 //20110208ysk start
577 } elseif( !isset($_GET['acting_return']) && (isset($_GET['acting']) && 'paypal_ipn' == $_GET['acting']) ) {
578 foreach( $_REQUEST as $key => $value ){
579 $data[$key] = $value;
580 }
581 usces_log('paypal_ipn in '.print_r($data,true), 'acting_transaction.log');
582 require_once($usces->options['settlement_path'] . 'paypal.php');
583 $ipn_res = paypal_ipn_check($usces_paypal_url);
584 if( $ipn_res[0] === true ){
585 $res = $usces->order_processing( $ipn_res );
586 if( 'ordercompletion' == $res ){
587 $usces->cart->crear_cart();
588 }else{
589 usces_log('paypal_ipn error : '.print_r($data, true), 'acting_transaction.log');
590 die('error1');
591 }
592 do_action('usces_action_paypal_ipn', $res, $ipn_res);
593 }
594 usces_log('PayPal IPN transaction : '.$_REQUEST['txn_id'], 'acting_transaction.log');
595 die('PayPal');
596 //20110523ysk start
597 //*** paypal ipn ***//
598 } elseif( isset($_REQUEST['ipn_track_id']) ) {//20131121ysk
599 foreach( $_REQUEST as $key => $value ){
600 $data[$key] = $value;
601 }
602 usces_log('paypal ipn : '.print_r($data, true), 'acting_transaction.log');
603 //20140908ysk start
604 //*** PayPal Webpayment Plus ***//
605 if( isset($_POST['txn_type']) && 'pro_hosted' == $_POST['txn_type'] ) {
606 $acting_opts = $usces->options['acting_settings']['paypal_wpp'];
607 $key = isset( $_POST['custom'] ) ? $_POST['custom'] : '';
608 usces_log( serialize($data), 'db', 'paypal_ipn', $key );
609 $ipn_res = usces_paypal_ipn_check( $acting_opts['host_url'] );
610 if( $ipn_res[0] === true ) {
611 $order_id = $ipn_res['order_id'];
612 usces_restore_order_acting_data( $order_id );
613 $res = $usces->order_processing();
614 if( 'ordercompletion' == $res ) {
615 usces_log( 'PayPal Webpayment Plus : Payment confirmation', 'acting_transaction.log' );
616 $usces->cart->crear_cart();
617 } else {
618 usces_log( 'PayPal Webpayment Plus : Error', 'acting_transaction.log' );
619 }
620 }
621 exit;
622 //20140908ysk end
623 } else {
624 //20131121ysk start
625 $table_name = $wpdb->prefix."usces_order";
626 $table_meta_name = $wpdb->prefix."usces_order_meta";
627 if( isset($_REQUEST['txn_id']) or isset($_REQUEST['recurring_payment_id']) ) {
628 if( ( isset($_REQUEST['payment_status']) and 'Completed' == $_REQUEST['payment_status'] ) or
629 ( isset($_REQUEST['profile_status']) and 'Active' == $_REQUEST['profile_status'] ) ) {
630 $settlement_id = ( isset($_REQUEST['recurring_payment_id']) ) ? $_REQUEST['recurring_payment_id'] : $_REQUEST['txn_id'];
631 $query = $wpdb->prepare( "SELECT ID, order_status FROM $table_name INNER JOIN $table_meta_name ON ID = order_id WHERE meta_key = %s AND meta_value = %s", 'settlement_id', $settlement_id );
632 $order_data = $wpdb->get_row( $query, ARRAY_A );
633 if( $order_data ) {
634 if( $usces->is_status( 'pending', $order_data['order_status'] ) ) {
635 $order_status = str_replace( 'pending', 'receipted', $order_data['order_status'] );
636 $query = $wpdb->prepare( "UPDATE $table_name SET order_status = %s WHERE ID = %d", $order_status, $order_data['ID'] );
637 $res = $wpdb->query( $query );
638 }
639 do_action( 'usces_action_paypal_ipn_status_completed', $order_data );
640 }
641 }
642 }
643 //20131121ysk end
644 die('PayPal');
645 }
646 //20110523ysk end
647 //20120413ysk start
648 //*** SoftBankPayment ***//
649 } elseif( !isset($_GET['acting_return']) && isset($_POST['res_result']) && isset($_POST['res_pay_method']) ) {
650 //usces_log('SoftBankPayment : '.print_r($_REQUEST, true), 'acting_transaction.log');
651 foreach( $_POST as $key => $value ) {
652 $data[$key] = mb_convert_encoding($value, 'UTF-8', 'SJIS');
653 }
654 $acting = $data['free1'];
655
656 switch( $data['res_result'] ) {
657 case 'OK'://決済処理OK
658 $table_meta_name = $wpdb->prefix."usces_order_meta";
659 $query = $wpdb->prepare("SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'res_tracking_id', $data['res_tracking_id']);
660 $order_id = $wpdb->get_var($query);
661 if( !$order_id ) {
662
663 $res = $usces->order_processing();
664 if( 'ordercompletion' == $res ){
665 //$usces->cart->crear_cart();
666 } else {
667 usces_log('SoftBankPayment '.$data['res_pay_method'].' order processing error : '.print_r($data, true), 'acting_transaction.log');
668 die('NG,order processing error');
669 }
670 }
671
672 //$acting_opts = $usces->options['acting_settings']['sbps'];
673 //if( 'on' == $acting_opts['cust'] ) {
674 // $usces->set_member_meta_value( 'sbps_cust_no', $data['res_sps_cust_no'], $data['cust_code'] );
675 // $usces->set_member_meta_value( 'sbps_payment_no', $data['res_sps_payment_no'], $data['cust_code'] );
676 //}
677 usces_log('SoftBankPayment '.$data['res_pay_method'].' [OK] transaction : '.$data['res_tracking_id'], 'acting_transaction.log');
678 die('OK,');
679 break;
680
681 case 'PY'://�
682 �金結果通知
683 $table_name = $wpdb->prefix."usces_order";
684 $table_meta_name = $wpdb->prefix."usces_order_meta";
685 $query = $wpdb->prepare("SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'res_tracking_id', $data['res_tracking_id']);
686 $order_id = $wpdb->get_var($query);
687 if( $order_id == NULL ) {
688 usces_log('SoftBankPayment '.$data['res_pay_method'].' [PY] error1 : '.print_r($data, true), 'acting_transaction.log');
689 die('NG,order_id error');
690 }
691
692 $query = $wpdb->prepare("
693 UPDATE $table_name SET order_status =
694 CASE
695 WHEN LOCATE('noreceipt', order_status) > 0 THEN REPLACE(order_status, 'noreceipt', 'receipted')
696 WHEN LOCATE('receipted', order_status) > 0 THEN order_status
697 ELSE CONCAT('receipted,', order_status )
698 END
699 WHERE ID = %d", $order_id);
700 $res = $wpdb->query($query);
701 if( $res === false ) {
702 usces_log('SoftBankPayment '.$data['res_pay_method'].' [PY] error2 : '.print_r($data, true), 'acting_transaction.log');
703 die('NG,usces_order update error');
704 }
705
706 $res = $usces->set_order_meta_value($acting, serialize($data), $order_id);
707 if( $res === false ) {
708 usces_log('SoftBankPayment '.$data['res_pay_method'].' [PY] error3 : '.print_r($data, true), 'acting_transaction.log');
709 die('NG,usces_order_meta update error');
710 }
711
712 usces_action_acting_getpoint( $order_id );
713
714 usces_log('SoftBankPayment '.$data['res_pay_method'].' [PY] transaction : '.$order_id, 'acting_transaction.log');
715 die('OK,');
716
717 case 'CN'://期限切通知
718 $table_name = $wpdb->prefix."usces_order";
719 $table_meta_name = $wpdb->prefix."usces_order_meta";
720 $query = $wpdb->prepare("SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'res_tracking_id', $data['res_tracking_id']);
721 $order_id = $wpdb->get_var($query);
722 if( $order_id == NULL ) {
723 usces_log('SoftBankPayment '.$data['res_pay_method'].' [CN] error1 : '.print_r($data, true), 'acting_transaction.log');
724 die('NG,order_id error');
725 }
726
727 $query = $wpdb->prepare("
728 UPDATE $table_name SET order_status =
729 CASE
730 WHEN LOCATE('receipted', order_status) > 0 THEN REPLACE(order_status, 'receipted', 'noreceipt')
731 WHEN LOCATE('noreceipt', order_status) > 0 THEN order_status
732 ELSE CONCAT('noreceipt,', order_status )
733 END
734 WHERE ID = %d", $order_id);
735 $res = $wpdb->query($query);
736 if( $res === false ) {
737 usces_log('SoftBankPayment '.$data['res_pay_method'].' [CN] error2 : '.print_r($data, true), 'acting_transaction.log');
738 die('NG,usces_order update error');
739 }
740
741 $res = $usces->set_order_meta_value($acting, serialize($data), $order_id);
742 if( $res === false ) {
743 usces_log('SoftBankPayment '.$data['res_pay_method'].' [CN] error3 : '.print_r($data, true), 'acting_transaction.log');
744 die('NG,usces_order_meta update error');
745 }
746
747 //usces_action_acting_getpoint( $order_id, false );
748
749 usces_log('SoftBankPayment '.$data['res_pay_method'].' [CN] transaction : '.$order_id, 'acting_transaction.log');
750 die('OK,');
751
752 default:
753 usces_log('SoftBankPayment '.$data['res_pay_method'].' ['.$data['res_result'].'] : '.print_r($data,true), 'acting_transaction.log');
754 die('OK,');
755 }
756 //20120413ysk end
757 //20121030ysk start
758 //*** telecom credit ***//
759 } elseif( isset($_REQUEST['clientip']) && isset($_REQUEST['sendid']) && (isset($_REQUEST['acting']) && 'telecom_edy' == $_REQUEST['acting']) ) {
760 foreach( $_REQUEST as $key => $value ) {
761 $data[$key] = $value;
762 }
763 usces_log('telecom edy : '.print_r($data, true), 'acting_transaction.log');
764 //die('SuccessOK');
765 } elseif( isset($_REQUEST['clientip']) && isset($_REQUEST['sendid']) && isset($_REQUEST['edy']) ) {
766 foreach( $_REQUEST as $key => $value ) {
767 $data[$key] = $value;
768 }
769 if( $_REQUEST['rel'] === 'yes' && isset($_REQUEST['option']) ) {
770 $table_meta_name = $wpdb->prefix."usces_order_meta";
771 $mquery = $wpdb->prepare( "SELECT order_id, meta_value FROM $table_meta_name WHERE meta_key = %s", $_REQUEST['option'] );
772 $mvalue = $wpdb->get_row( $mquery, ARRAY_A );
773 $value = unserialize( $mvalue['meta_value'] );
774 $_SESSION['usces_cart'] = $value['usces_cart'];
775 $_SESSION['usces_entry'] = $value['usces_entry'];
776 $_SESSION['usces_member'] = $value['usces_member'];
777 $res = $usces->order_processing();
778 if( 'ordercompletion' == $res ) {
779 $query = $wpdb->prepare( "DELETE FROM $table_meta_name WHERE meta_key = %s", $_REQUEST['option'] );
780 $res = $wpdb->query( $query );
781 usces_log('telecom edy - Payment confirmation : '.print_r($data, true), 'acting_transaction.log');
782 } else {
783 usces_log('telecom edy - Error 1 : '.print_r($data, true), 'acting_transaction.log');
784 }
785 } else {
786 usces_log('telecom edy - Error 2 : '.print_r($data, true), 'acting_transaction.log');
787 }
788 die('SuccessOK');
789 //20121030ysk end
790 //20120618ysk start
791 //*** telecom credit ***//
792 }elseif( isset($_REQUEST['clientip']) && isset($_REQUEST['sendid']) && isset($_REQUEST['rel']) ){
793 foreach( $_REQUEST as $key => $value ){
794 $data[$key] = $value;
795 }
796 usces_log('telecom card : '.print_r($data, true), 'acting_transaction.log');
797 die('SuccessOK');
798 //20120618ysk end
799 //20121206ysk start
800 //*** digitalcheck card ***//
801 } elseif( isset($_REQUEST['SID']) && isset($_REQUEST['FUKA']) && substr($_REQUEST['FUKA'], 0, 24) == 'acting_digitalcheck_card' ) {
802 foreach( $_REQUEST as $key => $value ) {
803 $data[$key] = $value;
804 }
805 $sid = ( isset($data['SID']) ) ? $data['SID'] : '';
806 //usces_log('digitalcheck card : '.print_r($data, true), 'digitalcheck.log');
807
808 if( isset($data['SEQ']) ) {
809 $acting_opts = $usces->options['acting_settings']['digitalcheck'];
810 $ip_user_id = substr($data['FUKA'], 24);
811 //usces_log('ip_user_id : '.$ip_user_id, 'digitalcheck.log');
812 if( 'on' == $acting_opts['card_user_id'] and !empty($ip_user_id) ) {
813 $usces->set_member_meta_value('digitalcheck_ip_user_id', $ip_user_id, $ip_user_id);
814 }
815
816 $res = $usces->order_processing();
817 if( 'ordercompletion' == $res ) {
818 $order_id = $usces->cart->get_order_entry('ID');
819 $usces->set_order_meta_value( 'acting_digitalcheck_card', serialize( $data ), $order_id );
820 } else {
821 usces_log('digitalcheck card : order processing error', 'acting_transaction.log');
822 }
823
824 header('content-type : text/plain;charset=Shift_JIS');
825 die("0");
826 }
827
828 //*** digitalcheck conv ***//
829 } elseif( isset($_REQUEST['SID']) && isset($_REQUEST['FUKA']) && substr($_REQUEST['FUKA'], 0, 24) == 'acting_digitalcheck_conv' ) {
830 foreach( $_REQUEST as $key => $value ) {
831 $data[$key] = $value;
832 }
833 $sid = ( isset($data['SID']) ) ? $data['SID'] : '';
834 //usces_log("digitalcheck conv : ".print_r($_REQUEST,true), 'digitalcheck.log');
835
836 if( isset($data['SEQ']) ) {
837 $table_name = $wpdb->prefix."usces_order";
838 $table_meta_name = $wpdb->prefix."usces_order_meta";
839
840 $query = $wpdb->prepare("SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'SID', $sid );
841 $order_id = $wpdb->get_var( $query );
842 if( $order_id == NULL ) {
843 usces_log( 'digitalcheck conv error1 : '.print_r($data, true), 'acting_transaction.log' );
844 header('content-type : text/plain;charset=Shift_JIS');
845 die('9');
846 }
847
848 if( isset($data['CVS']) ) {//�
849 �金
850 $mquery = $wpdb->prepare("
851 UPDATE $table_name SET order_status =
852 CASE
853 WHEN LOCATE('noreceipt', order_status) > 0 THEN REPLACE(order_status, 'noreceipt', 'receipted')
854 WHEN LOCATE('receipted', order_status) > 0 THEN order_status
855 ELSE CONCAT('receipted,', order_status )
856 END
857 WHERE ID = %d", $order_id );
858 $res = $wpdb->query( $mquery );
859 if( $res === false ) {
860 usces_log('digitalcheck conv error2 : '.print_r($data, true), 'acting_transaction.log');
861 header('content-type : text/plain;charset=Shift_JIS');
862 die('9');
863 }
864
865 usces_action_acting_getpoint( $order_id );
866
867 } else {//取消
868 $mquery = $wpdb->prepare("
869 UPDATE $table_name SET order_status =
870 CASE
871 WHEN LOCATE('receipted', order_status) > 0 THEN REPLACE(order_status, 'receipted', 'noreceipt')
872 WHEN LOCATE('noreceipt', order_status) > 0 THEN order_status
873 ELSE CONCAT('noreceipt,', order_status )
874 END
875 WHERE ID = %d", $order_id );
876 $res = $wpdb->query( $mquery );
877 if( $res === false ) {
878 usces_log('digitalcheck conv error3 : '.print_r($data, true), 'acting_transaction.log');
879 header('content-type : text/plain;charset=Shift_JIS');
880 die('9');
881 }
882
883 usces_action_acting_getpoint( $order_id, false );
884 }
885
886 $usces->set_order_meta_value( 'acting_digitalcheck_conv', serialize( $data ), $order_id );
887
888 $dquery = $wpdb->prepare( "DELETE FROM $table_meta_name WHERE meta_key = %s", $sid );
889 $res = $wpdb->query( $dquery );
890
891 header('content-type : text/plain;charset=Shift_JIS');
892 die("0");
893
894 } else {
895 if( isset($data['CVS']) and isset($data['SHNO']) ) {//決済
896 $table_meta_name = $wpdb->prefix."usces_order_meta";
897 $query = $wpdb->prepare("SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'SID', $sid );
898 $order_id = $wpdb->get_var($query);
899 if( $order_id ) {
900 $usces->set_order_meta_value( 'acting_digitalcheck_conv', serialize( $data ), $order_id );
901
902 } else {
903 $res = $usces->order_processing();
904 if( 'ordercompletion' == $res ) {
905 $order_id = $usces->cart->get_order_entry('ID');
906 $usces->set_order_meta_value( 'acting_digitalcheck_conv', serialize( $data ), $order_id );
907 } else {
908 usces_log('digitalcheck conv : order processing error', 'acting_transaction.log');
909 }
910 }
911 header('content-type : text/plain;charset=Shift_JIS');
912 die("0");
913
914 } elseif( isset($data['purchase']) ) {
915
916 } else {
917 $permalink_structure = get_option('permalink_structure');
918 $delim = ( !$usces->use_ssl && $permalink_structure ) ? '?' : '&';
919 header( 'location: '.USCES_CART_URL.$delim.'acting=digitalcheck_conv&acting_return=1&SID='.$sid );
920 exit;
921 }
922 }
923 //20121206ysk end
924 //20130225ysk start
925 //*** mizuho card ***//
926 } elseif( ( isset($_GET['p_ver']) && $_GET['p_ver'] == '0200' ) && ( isset($_GET['bkcode']) && $_GET['bkcode'] == 'bg01' ) ) {
927 //usces_log('mizuho card : '.print_r($_GET,true),'mizuho.log');
928 $stran = ( array_key_exists('stran', $_REQUEST) ) ? $_REQUEST['stran'] : '';
929 $mbtran = ( array_key_exists('mbtran', $_REQUEST) ) ? $_REQUEST['mbtran'] : '';
930 $rsltcd = ( array_key_exists('rsltcd', $_REQUEST) ) ? $_REQUEST['rsltcd'] : '';
931 $rsltdcd = ( array_key_exists('rsltdcd', $_REQUEST) ) ? $_REQUEST['rsltdcd'] : '';
932 $permalink_structure = get_option( 'permalink_structure' );
933 $delim = ( !$usces->use_ssl && $permalink_structure ) ? '?' : '&';
934 if( '108' == substr($rsltcd, 0, 3) or '208' == substr($rsltcd, 0, 3) or '308' == substr($rsltcd, 0, 3 ) ) {//キャンセル
935 header( 'location: '.USCES_CART_URL.$delim.'confirm=1' );
936 } elseif( '109' == substr($rsltcd, 0, 3) or '209' == substr($rsltcd, 0, 3) or '309' == substr($rsltcd, 0, 3) ) {//エラー
937 usces_log( 'mizuho card : '.print_r( $_GET, true ), 'acting_transaction.log' );
938 header( 'location: '.USCES_CART_URL.$delim.'acting=mizuho_card&acting_return=0&rsltdcd='.$rsltdcd );
939 } else {
940 header( 'location: '.USCES_CART_URL.$delim.'acting=mizuho_card&acting_return=1&stran='.$stran.'&mbtran='.$mbtran.'&rsltcd='.$rsltcd );
941 }
942 die();
943
944 //*** mizuho conv ***//
945 } elseif( ( isset($_GET['p_ver']) && $_GET['p_ver'] == '0200' ) && ( isset($_GET['bkcode']) && ( $_GET['bkcode'] == 'cv01' or $_GET['bkcode'] == 'cv02' ) ) ) {
946 //usces_log('mizuho conv : '.print_r($_GET,true),'mizuho.log');
947 $stran = ( array_key_exists('stran', $_REQUEST) ) ? $_REQUEST['stran'] : '';
948 $mbtran = ( array_key_exists('mbtran', $_REQUEST) ) ? $_REQUEST['mbtran'] : '';
949 $bktrans = ( array_key_exists('bktrans', $_REQUEST) ) ? $_REQUEST['bktrans'] : '';
950 $tranid = ( array_key_exists('tranid', $_REQUEST) ) ? $_REQUEST['tranid'] : '';
951 $tdate = ( array_key_exists('tdate', $_REQUEST) ) ? $_REQUEST['tdate'] : '';
952 $rsltcd = ( array_key_exists('rsltcd', $_REQUEST) ) ? $_REQUEST['rsltcd'] : '';
953 $permalink_structure = get_option( 'permalink_structure' );
954 $delim = ( !$usces->use_ssl && $permalink_structure ) ? '?' : '&';
955 if( '' != $tdate ) {//�
956 �金通知
957 foreach( $_REQUEST as $key => $value ) {
958 $data[$key] = $value;
959 }
960 if( $rsltcd == "0000000000000" ) {
961 $table_name = $wpdb->prefix."usces_order";
962 $table_meta_name = $wpdb->prefix."usces_order_meta";
963
964 $query = $wpdb->prepare( "SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'stran', $stran );
965 $order_id = $wpdb->get_var( $query );
966 if( $order_id == NULL ) {
967 usces_log( 'mizuho conv error1 : '.print_r($data, true), 'acting_transaction.log' );
968
969 } else {
970 $mquery = $wpdb->prepare("
971 UPDATE $table_name SET order_status =
972 CASE
973 WHEN LOCATE('noreceipt', order_status) > 0 THEN REPLACE(order_status, 'noreceipt', 'receipted')
974 WHEN LOCATE('receipted', order_status) > 0 THEN order_status
975 ELSE CONCAT('receipted,', order_status )
976 END
977 WHERE ID = %d", $order_id );
978 $res = $wpdb->query( $mquery );
979 if( $res === false ) {
980 usces_log( 'mizuho conv error2 : '.print_r($data, true), 'acting_transaction.log' );
981
982 } else {
983 usces_action_acting_getpoint( $order_id );
984
985 $usces->set_order_meta_value( 'acting_mizuho_conv', serialize($data), $order_id );
986
987 $dquery = $wpdb->prepare( "DELETE FROM $table_meta_name WHERE meta_key = %s", $stran );
988 $res = $wpdb->query( $dquery );
989 }
990 }
991
992 } else {
993 //header( 'location: '.USCES_CART_URL.$delim.'confirm=1' );
994 usces_log( 'mizuho conv : '.print_r( $_GET, true ), 'acting_transaction.log' );
995 }
996
997 } elseif( '108' == substr($rsltcd, 0, 3) or '208' == substr($rsltcd, 0, 3) or '308' == substr($rsltcd, 0, 3) ) {//キャンセル
998 header( 'location: '.USCES_CART_URL.$delim.'confirm=1' );
999 } elseif( '109' == substr($rsltcd, 0, 3) or '209' == substr($rsltcd, 0, 3) or '309' == substr($rsltcd, 0, 3) ) {//エラー
1000 usces_log( 'mizuho conv : '.print_r( $_GET, true ), 'acting_transaction.log' );
1001 header( 'location: '.USCES_CART_URL.$delim.'acting=mizuho_card&acting_return=0' );
1002 } else {
1003 header( 'location: '.USCES_CART_URL.$delim.'acting=mizuho_conv&acting_return=1&stran='.$stran.'&mbtran='.$mbtran.'&bktrans='.$_GET['bktrans'].'&tranid='.$tranid.'&rsltcd='.$rsltcd );
1004 }
1005 die();
1006 //20130225ysk end
1007 //20131220ysk start
1008 //*** AnotherLane credit ***//
1009 } elseif( isset($_GET['SiteId']) && isset($_GET['TransactionId']) && isset($_GET['Result']) ) {
1010 $acting_opts = $usces->options['acting_settings']['anotherlane'];
1011 foreach( $_GET as $key => $value ) {
1012 $data[$key] = $value;
1013 }
1014 if( $acting_opts['siteid'] == $_GET['SiteId'] && 'OK' == $_GET['Result'] ) {
1015 $table_meta_name = $wpdb->prefix."usces_order_meta";
1016 $query = $wpdb->prepare( "SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'TransactionId', $data['TransactionId'] );
1017 $order_id = $wpdb->get_var( $query );
1018 if( !$order_id ) {
1019 $res = $usces->order_processing();
1020 if( 'ordercompletion' == $res ) {
1021 $usces->cart->crear_cart();
1022 usces_log( 'AnotherLane [OK] transaction : '.$data['TransactionId'], 'acting_transaction.log' );
1023 } else {
1024 usces_log( 'AnotherLane order processing error : '.print_r($data, true), 'acting_transaction.log' );
1025 }
1026 }
1027 }
1028 exit;
1029
1030 } elseif( isset($_GET['ali_back']) && isset($_POST['SiteId']) && isset($_POST['Result']) ) {
1031 $acting_opts = $usces->options['acting_settings']['anotherlane'];
1032 if( $acting_opts['siteid'] == $_POST['SiteId'] && 'NG' == $_POST['Result'] ) {
1033 $permalink_structure = get_option( 'permalink_structure' );
1034 $delim = ( !$usces->use_ssl && $permalink_structure ) ? '?' : '&';
1035 header( 'location: '.USCES_CART_URL.$delim.'confirm=1' );
1036 exit;
1037 } elseif( $acting_opts['siteid'] == $_POST['SiteId'] && 'OK' == $_POST['Result'] ) {
1038 $permalink_structure = get_option( 'permalink_structure' );
1039 $delim = ( !$usces->use_ssl && $permalink_structure ) ? '?' : '&';
1040 header( 'location: '.USCES_CART_URL.$delim.'acting=anotherlane_card&acting_return=1' );
1041 exit;
1042 }
1043 //20131220ysk end
1044 //20140206ysk start
1045 //*** Veritrans card ***//
1046 } elseif( isset($_GET['acting']) and 'veritrans_card' == $_GET['acting'] and isset($_POST['orderId']) and isset($_POST['merchantEncryptionKey']) ) {
1047 if( isset($_POST['mStatus']) and 'success' == $_POST['mStatus'] ) {
1048 $table_meta_name = $wpdb->prefix."usces_order_meta";
1049 $query = $wpdb->prepare( "SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'orderId', $_POST['orderId'] );
1050 $order_id = $wpdb->get_var( $query );
1051 if( !$order_id ) {
1052 $res = $usces->order_processing();
1053 if( 'ordercompletion' == $res ) {
1054 do_action( 'usces_action_veritrans_card_completion' );
1055 $usces->cart->crear_cart();
1056 usces_log( 'Veritrans [OK] transaction : '.$_POST['orderId'], 'acting_transaction.log' );
1057 } else {
1058 usces_log( 'Veritrans order processing error : '.print_r( $_POST, true ), 'acting_transaction.log' );
1059 }
1060 }
1061 }
1062 exit;
1063
1064 //*** Veritrans conv ***//
1065 } elseif( isset($_GET['acting']) and 'veritrans_conv' == $_GET['acting'] and isset($_POST['orderId']) and isset($_POST['merchantEncryptionKey']) ) {
1066 //決済結果通知
1067 if( isset($_POST['mStatus']) and 'success' == $_POST['mStatus'] ) {
1068 $table_meta_name = $wpdb->prefix."usces_order_meta";
1069 $query = $wpdb->prepare( "SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'orderId', $_POST['orderId'] );
1070 $order_id = $wpdb->get_var( $query );
1071 if( !$order_id ) {
1072 $res = $usces->order_processing();
1073 if( 'ordercompletion' == $res ) {
1074 do_action( 'usces_action_veritrans_conv_completion' );
1075 $usces->cart->crear_cart();
1076 usces_log( 'Veritrans [OK] transaction : '.$_POST['orderId'], 'acting_transaction.log' );
1077 } else {
1078 usces_log( 'Veritrans order processing error : '.print_r( $_POST, true ), 'acting_transaction.log' );
1079 }
1080 }
1081 }
1082 exit;
1083
1084 } elseif( isset($_REQUEST['numberOfNotify']) and isset($_REQUEST['pushTime']) and isset($_REQUEST['pushId']) ) {
1085 //支払通知
1086 $data = array();
1087 foreach( $_REQUEST as $key => $value ) {
1088 $num = substr( $key, -4 );
1089 if( preg_match( "/^[0-9]+$/", $num ) ) {
1090 $nkey = substr( $key, 0, strpos( $key, $num ) );
1091 $data[$nkey][(int)$num] = $value;
1092 } else {
1093 $data[$key] = $value;
1094 }
1095 }
1096
1097 $count = count( $data['orderId'] );
1098 if( 0 < $count ) {
1099 $table_name = $wpdb->prefix."usces_order";
1100 $table_meta_name = $wpdb->prefix."usces_order_meta";
1101
1102 for( $i = 0; $i < $count; $i++ ) {
1103 if( isset( $data['orderId'][$i] ) ) {
1104 $sdata = array();
1105 $sdata['acting'] = 'veritrans_conv';
1106 $sdata['orderId'] = $data['orderId'][$i];
1107 $sdata['cvsType'] = isset( $data['cvsType'][$i] ) ? $data['cvsType'][$i] : '';
1108 $sdata['receiptNo'] = isset( $data['receiptNo'][$i] ) ? $data['receiptNo'][$i] : '';
1109 $sdata['receiptDate'] = isset( $data['receiptDate'][$i] ) ? $data['receiptDate'][$i] : '';
1110 $sdata['rcvAmount'] = isset( $data['rcvAmount'][$i] ) ? $data['rcvAmount'][$i] : '';
1111 $query = $wpdb->prepare( "SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'orderId', $sdata['orderId'] );
1112 $order_id = $wpdb->get_var( $query );
1113 if( $order_id == NULL ) {
1114 usces_log( 'Veritrans conv error1 : '.print_r( $sdata, true ), 'acting_transaction.log' );
1115
1116 } else {
1117 $mquery = $wpdb->prepare("
1118 UPDATE $table_name SET order_status =
1119 CASE
1120 WHEN LOCATE('noreceipt', order_status) > 0 THEN REPLACE(order_status, 'noreceipt', 'receipted')
1121 WHEN LOCATE('receipted', order_status) > 0 THEN order_status
1122 ELSE CONCAT('receipted,', order_status )
1123 END
1124 WHERE ID = %d", $order_id );
1125 $res = $wpdb->query( $mquery );
1126 if( $res === false ) {
1127 usces_log( 'Veritrans conv error2 : '.print_r( $sdata, true ), 'acting_transaction.log' );
1128
1129 } else {
1130 usces_action_acting_getpoint( $order_id );
1131
1132 $usces->set_order_meta_value( 'acting_veritrans_conv', serialize( $sdata ), $order_id );
1133
1134 $dquery = $wpdb->prepare( "DELETE FROM $table_meta_name WHERE meta_key = %s", $sdata['orderId'] );
1135 $res = $wpdb->query( $dquery );
1136 }
1137 }
1138 }
1139 }
1140 }
1141 exit;
1142 //20140206ysk end
1143 //20140725ysk start
1144 //} else if( array_key_exists( 'seq_payment_id', $_REQUEST ) and array_key_exists( 'trading_id', $_REQUEST ) and array_key_exists( 'payment_type', $_REQUEST ) ) {
1145 } else if( isset($_POST['trading_id']) and isset($_POST['payment_status']) and !isset($_POST['purchase']) ) {
1146 foreach( $_POST as $key => $value ) {
1147 $data[$key] = $value;
1148 }
1149
1150 $payment_type = ( array_key_exists( 'payment_type', $_POST ) ) ? $_POST['payment_type'] : '';
1151 switch( $payment_type ) {
1152 case '02':
1153 if( $_POST['payment_status'] == '10' ) {
1154 usces_restore_order_acting_data( $_POST['trading_id'] );
1155 usces_log( serialize($data), 'db', 'paygent_card', $_POST['trading_id'] );
1156 $res = $usces->order_processing();
1157 if( 'ordercompletion' == $res ) {
1158 $order_id = $usces->cart->get_order_entry('ID');
1159 $usces->set_order_meta_value( 'acting_paygent_card', serialize($data), $order_id );
1160 $usces->cart->crear_cart();
1161 } else {
1162 usces_log( 'Paygent card error : '.print_r( $data, true ), 'acting_transaction.log' );
1163 }
1164 }
1165 break;
1166
1167 case '03':
1168 usces_log( serialize($data), 'db', 'paygent_conv', $_POST['trading_id'] );
1169 $table_meta_name = $wpdb->prefix."usces_order_meta";
1170 $query = $wpdb->prepare( "SELECT order_id FROM $table_meta_name WHERE meta_key = %s AND meta_value = %s", 'trading_id', $_POST['trading_id'] );
1171 $order_id = $wpdb->get_var( $query );
1172 if( $order_id ) {
1173 $table_name = $wpdb->prefix."usces_order";
1174 $query = $wpdb->prepare( "
1175 UPDATE $table_name SET order_status =
1176 CASE
1177 WHEN LOCATE( 'noreceipt', order_status ) > 0 THEN REPLACE( order_status, 'noreceipt', 'receipted' )
1178 WHEN LOCATE( 'receipted', order_status ) > 0 THEN order_status
1179 ELSE CONCAT( 'receipted,', order_status )
1180 END
1181 WHERE ID = %d", $order_id );
1182 $res = $wpdb->query( $query );
1183 if( $res === false ) {
1184 usces_log( 'Paygent conv error : '.print_r( $data, true ), 'acting_transaction.log' );
1185
1186 } else {
1187 usces_action_acting_getpoint( $order_id );
1188 $usces->set_order_meta_value( 'acting_paygent_conv', serialize( $data ), $order_id );
1189 $usces->cart->crear_cart();
1190 }
1191 }
1192 break;
1193 }
1194 die( 'result=0' );
1195 //20140725ysk end
1196 }
1197 }
1198 ?>
1199