PluginProbe
Welcart e-Commerce / 1.4.10
Welcart e-Commerce v1.4.10
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.10, at functions/hoock_func.php

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