コード例 #1
0
                case 'failed':
                case 'expired':
                case 'voided':
                    $orders_status_id = $paypal->get_config('PAYPAL_ORDER_STATUS_REJECTED_ID');
                    break;
                case 'pending':
                case 'reversed':
                case 'created':
                    $orders_status_id = $paypal->get_config('PAYPAL_ORDER_STATUS_PENDING_ID');
                    break;
                case 'refunded':
                    $orders_status_id = $paypal->get_config('PAYPAL_ORDER_STATUS_REFUNDED_ID');
                    break;
                case 'processed':
                case 'completed':
                case 'canceled-reversal':
                    $orders_status_id = $paypal->get_config('PAYPAL_ORDER_STATUS_SUCCESS_ID');
                    break;
            }
            if ($orders_status_id == '' || $orders_status_id < 0) {
                $orders_status_id = $check['orders_status'];
            }
            $paypal->update_order('PayPal IPN', $orders_status_id, $check['orders_id']);
            $sql_data_array = array('orders_id' => $check['orders_id'], 'transaction_id' => $request['txn_id'], 'payment_status' => strtolower($request['payment_status']));
            xtc_db_perform(TABLE_PAYPAL_IPN, $sql_data_array);
        }
    }
} else {
    header("HTTP/1.0 404 Not Found");
    header("Status: 404 Not Found");
}
コード例 #2
0
   $Id$

   modified eCommerce Shopsoftware
   http://www.modified-shop.org

   Copyright (c) 2009 - 2013 [www.modified-shop.org]
   -----------------------------------------------------------------------------------------
   Released under the GNU General Public License
   ---------------------------------------------------------------------------------------*/
chdir('../../');
include 'includes/application_top.php';
// include needed functions
require_once DIR_FS_INC . 'get_external_content.inc.php';
// include needed classes
require_once DIR_FS_EXTERNAL . 'paypal/classes/PayPalPayment.php';
$request_json = get_external_content('php://input', 3, false);
$request = json_decode($request_json, true);
$check_query = xtc_db_query("SELECT p.orders_id,\n                                    o.orders_status\n                               FROM " . TABLE_PAYPAL_PAYMENT . " p\n                               JOIN " . TABLE_ORDERS . " o\n                                    ON o.orders_id = p.orders_id\n                              WHERE p.payment_id = '" . xtc_db_input($request['resource']['parent_payment']) . "'");
if (xtc_db_num_rows($check_query) > 0) {
    $check = xtc_db_fetch_array($check_query);
    $paypal = new PayPalPayment('paypal');
    $orders_status_id = $paypal->get_config($request['event_type']);
    if ($orders_status_id < 0) {
        $orders_status_id = $check['orders_status'];
    }
    $paypal->update_order($request['summary'], $orders_status_id, $check['orders_id']);
} else {
    // order is missing
    header("HTTP/1.0 404 Not Found");
    header("Status: 404 Not Found");
}