예제 #1
0
파일: _return.php 프로젝트: maxism/SDK-PHP
// !!!!! DO NOT UPDATE TRANSACTION STATUSES IN THIS SCRIPT! WE WILL SEND TRANSACTION DETAILS TO YOUR NOTIFICATION SCIPRT (SETUP IN OUR DASHBOARD)
// !!!!! AND YOU MUST UPDATE TRANSACTION AND ORDER STATUS IN YOUR NOTIFICATION SCRIPT
// !!!!!  THIS SCRIPT IS INTENDED TO NOTIFY YOUR CLIENT ABOUT CURRENT STATUS OF TRANSACTION.
//
// Please note that transaction can be in Open or Processing status which means a final status notification will follow
//
//
include_once S2P_SDK_DIR_CLASSES . 's2p_sdk_return.inc.php';
define('S2P_SDK_RETURN_IDENTIFIER', microtime(true));
S2P_SDK\S2P_SDK_Return::logging_enabled(true);
S2P_SDK\S2P_SDK_Return::logf('--- Return START --------------------', false);
$return_params = array();
$return_params['auto_extract_parameters'] = true;
/** @var S2P_SDK\S2P_SDK_Return $return_obj */
if (!($return_obj = S2P_SDK\S2P_SDK_Module::get_instance('S2P_SDK_Return', $return_params)) or $return_obj->has_error()) {
    if (S2P_SDK\S2P_SDK_Module::st_has_error() and $error_arr = S2P_SDK\S2P_SDK_Module::st_get_error() or !empty($return_obj) and $return_obj->has_error() and $error_arr = $return_obj->get_error()) {
        S2P_SDK\S2P_SDK_Return::logf('Error [' . $error_arr['error_no'] . ']: ' . $error_arr['display_error']);
    } else {
        S2P_SDK\S2P_SDK_Return::logf('Error initiating return object.');
    }
    exit;
}
if (!($return_parameters = $return_obj->get_parameters())) {
    S2P_SDK\S2P_SDK_Return::logf('Couldn\'t extract return parameters.');
    exit;
}
if (empty($return_parameters['MerchantTransactionID'])) {
    S2P_SDK\S2P_SDK_Return::logf('Unknown transaction');
    exit;
}
S2P_SDK\S2P_SDK_Return::logf('Transaction [' . $return_parameters['MerchantTransactionID'] . ']: ');
예제 #2
0
//
// !!!!! THIS IS THE SCRIPT WHICH HANDLES ALL SERVER COMMUNICATION. THIS COMMUNICATION HAPPENS IN BACKGROUND, SO THIS SCRIPT WILL NOT NEED A FRONT-END INTERFACE.
// !!!!! THIS SCRIPT WILL ONLY HAVE TO ECHO MESSAGES AS DESCRIBED IN MANUAL FOR EACH NOTIFICATION TYPE RECEIVED.
//
//
include_once S2P_SDK_DIR_CLASSES . 's2p_sdk_notification.inc.php';
include_once S2P_SDK_DIR_CLASSES . 's2p_sdk_helper.inc.php';
include_once S2P_SDK_DIR_METHODS . 's2p_sdk_meth_payments.inc.php';
define('S2P_SDK_NOTIFICATION_IDENTIFIER', microtime(true));
S2P_SDK\S2P_SDK_Notification::logging_enabled(true);
S2P_SDK\S2P_SDK_Notification::logf('--- Notification START --------------------', false);
$notification_params = array();
$notification_params['auto_extract_parameters'] = true;
/** @var S2P_SDK\S2P_SDK_Notification $notification_obj */
if (!($notification_obj = S2P_SDK\S2P_SDK_Module::get_instance('S2P_SDK_Notification', $notification_params)) or $notification_obj->has_error()) {
    if (S2P_SDK\S2P_SDK_Module::st_has_error() and $error_arr = S2P_SDK\S2P_SDK_Module::st_get_error() or !empty($notification_obj) and $notification_obj->has_error() and $error_arr = $notification_obj->get_error()) {
        $error_msg = 'Error [' . $error_arr['error_no'] . ']: ' . $error_arr['display_error'];
    } else {
        $error_msg = 'Error initiating notification object.';
    }
    S2P_SDK\S2P_SDK_Notification::logf($error_msg);
    exit;
}
if (!$notification_obj->check_authentication()) {
    if ($notification_obj->has_error() and $error_arr = $notification_obj->get_error()) {
        S2P_SDK\S2P_SDK_Notification::logf('Error: ' . $error_arr['display_error']);
    } else {
        S2P_SDK\S2P_SDK_Notification::logf('Authentication failed.');
    }
    exit;
}