Home >Backend Development >PHP Tutorial >Paypal offline payment module, with download address_PHP tutorial
paypal offline payment module
Function:
1. Provide Paypal offline payment options and prompt customers to fill in their Paypal email account so that they can be contacted after submitting the order
2. After the order is successfully submitted, an email (including the paypal payment account) will be automatically sent to the customer, and the customer will be prompted to operate according to the email
3. Paypal customization, backend functions can be customized and developed
This module is a modified Paypal offline payment module based on the mail sending function of Western Union. The local testing function is complete. If you have any questions, please point them out.
The installation code is as follows:
[php]
class ppoffline {
var $code, $title, $description, $enabled;
// class constructor
function ppoffline () {
global $order;
$this->code = 'ppoffline';
$this->title = MODULE_PAYMENT_PPOFFLINE_TEXT_TITLE;
$this->description = MODULE_PAYMENT_PPOFFLINE_TEXT_DESCRIPTION;
$this->sort_order = MODULE_PAYMENT_PPOFFLINE_SORT_ORDER;
$this->enabled = ((MODULE_PAYMENT_PPOFFLINE_STATUS == 'True') ? true : false);
If ((int)MODULE_PAYMENT_PPOFFLINE_ORDER_STATUS_ID > 0) {
$this->order_status = MODULE_PAYMENT_PPOFFLINE_ORDER_STATUS_ID;
}
If (is_object($order)) $this->update_status();
$this->email_footer = 'Our Paypal Email Account:'.MODULE_PAYMENT_PPOFFLINE_PAYPAL_EMAIL.','; //Email notification Send paypal payment account
$this->email_footer .= MODULE_PAYMENT_PPOFFLINE_TEXT_EMAIL_FOOTER;
}
// class methods
function update_status() {
global $order, $db;
If ( ($this->enabled == true) && ((int)MODULE_PAYMENT_PPOFFLINE_ZONE > 0) ) {
$check_flag = false;
$check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_PPOFFLINE_ZONE . "' and zone_country_id = '" . $order->billing['country']['id' ] . "' order by zone_id");
while (!$check->EOF) {
If ($check->fields['zone_id'] < 1) {
$check_flag = true;
break;
} elseif ($check->fields['zone_id'] == $order->billing['zone_id']) {
$check_flag = true;
break;
$check->MoveNext();
}
If ($check_flag == false) {
$this->enabled = false;
}
}
}
Function javascript_validation() {
Return false;
}
function selection() {
Return array('id' => $this->code,
‘module’ => MODULE_PAYMENT_PPOFFLINE_TEXT_CATALOG_LOGO,
'icon' => MODULE_PAYMENT_PPOFFLINE_TEXT_CATALOG_LOGO
);
}
function pre_confirmation_check() {
return false;
}
function confirmation() {
return array('title' => MODULE_PAYMENT_PPOFFLINE_TEXT_DESCRIPTION);
}
function process_button() {
return false;
}
function before_process() {
return false;
}
function after_process() {
return false;
}
function get_error() {
return false;
}
function check() {
global $db;
if (!isset($this->_check)) {
$check_query = $db->Execute("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_PPOFFLINE_STATUS'");
$this->_check = $check_query->RecordCount();
}
return $this->_check;
}
function install() {
global $db, $language;
if (!defined('MODULE_PAYMENT_PPOFFLINE_PAYPAL_EMAIL')) include(DIR_FS_CATALOG_LANGUAGES . $_SESSION['language'] . '/modules/payment/' . $this->code . '.php');
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('" . MODULE_PAYMENT_PPOFFLINE_TEXT_CONFIG_1_1 . "', 'MODULE_PAYMENT_PPOFFLINE_STATUS', 'True', '" . MODULE_PAYMENT_PPOFFLINE_TEXT_CONFIG_1_2 . "', '6', '1', 'zen_cfg_select_option(array('True', 'False'), ', now());");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('" . MODULE_PAYMENT_PPOFFLINE_PAYPAL_EMAIL . "', 'MODULE_PAYMENT_PPOFFLINE_PAYPAL_EMAIL', '', '' , '6', '7', now());");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('" . MODULE_PAYMENT_PPOFFLINE_RECEIVER_PHONE . "', 'MODULE_PAYMENT_PPOFFLINE_RECEIVER_PHONE', '', '' , '6', '8', now());");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('" . MODULE_PAYMENT_PPOFFLINE_TEXT_CONFIG_2_1 . "', 'MODULE_PAYMENT_PPOFFLINE_SORT_ORDER', '0', '" . MODULE_PAYMENT_PPOFFLINE_TEXT_CONFIG_2_2 . "', '6', '0', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('" . MODULE_PAYMENT_PPOFFLINE_TEXT_CONFIG_3_1 . "', 'MODULE_PAYMENT_PPOFFLINE_ORDER_STATUS_ID', '0', '" . MODULE_PAYMENT_PPOFFLINE_TEXT_CONFIG_3_2 . "', '6', '0', 'zen_cfg_pull_down_order_statuses(', 'zen_get_order_status_name', now())");
}
function remove() {
global $db;
$db->Execute("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
}
function keys() {
return array('MODULE_PAYMENT_PPOFFLINE_STATUS' , 'MODULE_PAYMENT_PPOFFLINE_PAYPAL_EMAIL', 'MODULE_PAYMENT_PPOFFLINE_RECEIVER_PHONE', 'MODULE_PAYMENT_PPOFFLINE_SORT_ORDER','MODULE_PAYMENT_PPOFFLINE_ORDER_STATUS_ID');
}
}
?>
功能截图:
1,后台设置截图
2,付款方式选择
3,邮件通知
Paypal线下支付下载地址
http://www.BkJia.com/uploadfile/2012/0910/20120910025514326.rar
安装插件不能用将includes/modules/payment/paypaloffline.php下的
第23行
class ppoffline {
修改为
class paypaloffline {
第27行
function ppoffline () {
修改为
function paypaloffline () {
第29行
$this->code = 'ppoffline';
修改成
$this->code = 'paypaloffline';