【php】企业发卡网源码(基于知宇发卡系统源码内核)

  企业发卡网源码的高级售卡跟踪(AST)允许您向订单添加跟踪信息,并为您的客户提供跟踪订单的简单方法。AST提供了强大的功能,让每个商户都能够更好地管理和自动化他们的发货后订单流,减少客户服务时间,提高客户满意度并能助店铺以更正式的方式管理WooCommerce订单,并使发货后的操作自动化。
【php】企业发卡网源码(基于知宇发卡系统源码内核)
  源码演示及获取方式:w12.ink

  基于知宇发卡系统源码主要特点

  1、轻松地向订单添加跟踪信息

  很容易将跟踪信息添加到您的订单中,发卡网源码" title="企业发卡网源码">企业发卡网源码允许您从WooCommerce订单管理员或单个订单管理员添加跟踪,我们还允许您在添加跟踪信息时将订单标记为已完成。

  2、定制订单电子邮件上的跟踪显示

  您可以完全自定义订单电子邮件及其帐户上的跟踪信息显示。我们的定制程序提供实时预览,您可以选择设计布局、显示/隐藏跟踪信息、编辑内容、字体、颜色等。。

  3、保持你的跟踪链接是最新的

  企业发卡网源码系统维护此列表,您可以同步运送提供商列表,以使其与运送提供商信息中的任何更改保持最新。

  4、WooCommerce REST API支持

  AST创建了一个装运跟踪WooCommerce REST API端点,因此您可以从任何外部系统或装运标签服务轻松更新WooCommerce订单中的跟踪信息,并自动执行日常工作流程。。

  5、从CSV批量上载

  如果您的发货人在文件中提供跟踪信息,并且您希望避免将它们手动添加到订单中,那么AST提供了一个快速而简单的界面,可以从CSV将多个跟踪号批量导入订单。

  6、自定义订单状态

  改进您的订单管理流程,使用自定义订单状态,为您在不同时间以单独的软件包发货的订单启用部分已发货,或启用已交付订单状态(如果使用)轨道船用于跟踪和交付自动化。

  企业发卡网源码支付核心内核:
【php】企业发卡网源码(基于知宇发卡系统源码内核)

namespace app\common;

use app\common\util\notify\Sell;

use think\Db;

use think\Exception;

class Pay {

protected $error = '';

public function getError() {

return $this->error;

}

/**

* @var array 缓存的实例

*/

public static $instance = [];

public static function load($channel, $account = []) {

$code = $channel->code;

if (!isset($account['params']->refer)) {

$account['params']->refer = '';

}

$class = '\\app\\common\\pay\\' . $code;

if (!isset(SELF::$instance[$code])) {

// 实例化支付渠道

SELF::$instance[$code] = new $class();

// 加载渠道账户

SELF::$instance[$code]->channel = $channel;

// 加载渠道账户

SELF::$instance[$code]->account = $account;

}

return SELF::$instance[$code];

}

/**

* 完成订单

*

* @param string $order 订单

*/

public function completeOrder(&$order) {

Db::startTrans();

try {

$time = time();

// 完成订单

$res = Db::table('order')->where(['id' => $order->id, 'status' => 0])->update(['status' => 1, 'success_at' => $time]);

if (!$res) {

Db::rollback();

exit;

}

// 用户加钱

$user = Db::table('user')->lock(true)->where('id', $order->user_id)->find();

if ($user) {

$money = $order->total_product_price; //加的钱为产品总价

Db::table('user')->where('id', $order->user_id)->update(['money' => ['exp', 'money+' . $money]]);

//当前余额

$balance = round($user['money'] + $money, 3);

// 记录金额日志

record_user_money_log('goods_sold', $user['id'], $money, $balance, "成功售出商品{$order->goods_name}({$order->quantity}张)");

// 扣除手续费

if ($order->fee_payer == 1 && $order->fee > 0) {

Db::table('user')->where('id', $order->user_id)->update(['money' => ['exp', 'money-' . $order->fee]]);

//当前余额

$balance = round($balance - $order->fee, 3);

if ($balance < 0) {

throw new Exception("商家余额不足以扣除手续费");

}

// 记录金额日志

record_user_money_log('goods_sold', $user['id'], -$order->fee, $balance, "扣除交易手续费,订单:{$order->trade_no}");

// 扣除上级佣金

}

if ($user['parent_id'] > 0) {

$parent = Db::table('user')->lock(true)->where('id', $user['parent_id'])->find();

$spreadRebateRate = get_spread_rebate_rate();

$rebate = round($order->fee * $spreadRebateRate, 3);

if ($parent && $rebate > 0) {

// 返佣

Db::table('user')->where('id', $parent['id'])->update(['money' => ['exp', 'money+' . $rebate], 'rebate' => ['exp', 'rebate+' . $rebate]]);

// 记录金额日志

record_user_money_log('sub_sold_rebate', $parent['id'], $rebate, round($parent['money'] + $rebate, 3), "下级[{$user['username']}]售出商品,返佣{$rebate}元");

}

}

$smsPrice = 0;

if ($order->sms_payer == 1) {

//判断是否发送了短信

if ($order->sms_notify == 1) {

$smsPrice = get_sms_cost();

Db::table('user')->where('id', $order->user_id)->update(['money' => ['exp', 'money-' . $smsPrice]]);

//当前余额

$balance = round($balance - $smsPrice, 3);

if ($balance < 0) {

throw new Exception('商家余额不足以扣除短信费');

}

// 记录金额日志

record_user_money_log('goods_sold', $user['id'], -$smsPrice, $balance, "扣除短信费,订单:{$order->trade_no}");

//扣完短信费,更新到订单信息中

Db::table('order')->where('id', $order->id)->update(['sms_price' => $smsPrice]);

}

}

//交易完成先冻结资金,T+1日再解冻

if ($order->fee_payer == 1) {

$freezeMoney = round($money - $order->fee - $smsPrice, 3);

} else {

$freezeMoney = round($money - $smsPrice, 3);

}

//记录这张订单最终的商家收入是多少

$order->finally_money = $freezeMoney;

$order->save();

if ($freezeMoney >= 0) {

//加入自动解冻队列

// $unfreezeTime = time() + 86400; //订单冻结24小时

$unfreezeTime = strtotime(date('Y-m-d', $time)) + 86400; //次日凌晨解冻

if (1 == $order->settlement_type) {

// T1 结算

//冻结金额

Db::table('user')->where('id', $user['id'])->update(['money' => ['exp', 'money-' . $freezeMoney], 'freeze_money' => ['exp', 'freeze_money+' . $freezeMoney]]);

//当前余额

$balance = round($balance - $freezeMoney, 3);

record_user_money_log('freeze', $user['id'], -$freezeMoney, $balance, "冻结订单:{$order->trade_no},冻结金额:{$freezeMoney}元");

Db::table('auto_unfreeze')->insert([

'trade_no' => $order->trade_no,

'user_id' => $user['id'],

'money' => $freezeMoney,

'unfreeze_time' => $unfreezeTime,

'created_at' => $time,

]);

} elseif (0 == $order->settlement_type) {

// T0 结算,补一张0元冻结记录,用于投诉

record_user_money_log('freeze', $user['id'], 0, $balance, "冻结订单:{$order->trade_no},冻结金额:0元(T0 计算)");

Db::table('auto_unfreeze')->insert([

'trade_no' => $order->trade_no,

'user_id' => $user['id'],

'money' => 0,

'unfreeze_time' => $unfreezeTime,

'created_at' => $time,

]);

}

}

}

Db::commit();

$notify = new Sell();

$notify->notify($order, $freezeMoney);

} catch (\Exception $e) {

Db::rollback();

// 记录错误订单

record_file_log('complete_error', $order->trade_no . $e->getMessage());

record_file_log('complete_error', $e->getTraceAsString());

die('error');

}

}

  企业发卡网源码高级附加内核
【php】企业发卡网源码(基于知宇发卡系统源码内核)
  1、跟踪每个项目加载内核

  每个项目跟踪附加模块允许您将跟踪编号附加到特定订单项目,还可以将跟踪编号附加到同一行项目的不同数量。

  2、PayPal跟踪加载内核

  节省手动工作时间,使用PayPal API自动将跟踪号和相关信息从WooCommerce发送到PayPal。发送跟踪信息到贝宝可以帮助减少退单,并将帮助您快速解决贝宝支付暂停。

  3、WooCommerce发货跟踪内核

  节省人工工作时间,自动将跟踪信息添加到WooCommerce Shipping发货的AST发货跟踪中。此附加组件提供与WooCommerce运输和税务跟踪集成插件。

  4、ShipStation跟踪内核

  节省人工工作时间,自动将跟踪信息添加到ShipStation发货跟踪中。此附加组件提供与WooCommerce船舶站集成插件

以上是 【php】企业发卡网源码(基于知宇发卡系统源码内核) 的全部内容, 来源链接: utcz.com/a/101980.html

回到顶部