Files
OMS/app/ome/lib/payment/func.php
2026-01-04 19:08:31 +08:00

248 lines
8.2 KiB
PHP

<?php
/**
* Copyright 2012-2026 ShopeX (https://www.shopex.cn)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
class ome_payment_func{
/**
* sync_payments
* @param mixed $shop_id ID
* @return mixed 返回值
*/
public function sync_payments($shop_id){
$shopObj = app::get('ome')->model('shop');
$cfgObj = app::get('ome')->model('payment_cfg');
$payShopObj = app::get('ome')->model('payment_shop');
$shop = $shopObj->dump($shop_id);
$type = array(
'taobao' => array(
array(
'bn' => 'alipaytrad',
'name' => '支付宝担保交易',
'pay_type'=>'online',
),
array(
'bn' => 'offline',
'name' => '线下支付',
'pay_type'=>'offline',
),
),
'paipai' => array(
array(
'bn' => 'tenpaytrad',
'name' => '财付通担保交易',
'pay_type'=>'online',
),
array(
'bn' => 'offline',
'name' => '线下支付',
'pay_type'=>'offline',
),
),
'qq_buy' => array(
array(
'bn' => 'tenpaytrad',
'name' => '财付通担保交易',
'pay_type'=>'online',
),
array(
'bn' => 'offline',
'name' => '线下支付',
'pay_type'=>'offline',
),
),
'360buy' => array(
array(
'bn' => 'online',
'name' => '线上支付',
'pay_type'=>'online',
),
array(
'bn' => 'offline',
'name' => '线下支付',
'pay_type'=>'offline',
),
),
'yihaodian' => array(
array(
'bn' => 'online',
'name' => '线上支付',
'pay_type'=>'online',
),
array(
'bn' => 'offline',
'name' => '线下支付',
'pay_type'=>'offline',
)
),
'dangdang' => array(
array(
'bn' => 'online',
'name' => '线上支付',
'pay_type'=>'online',
),
array(
'bn' => 'offline',
'name' => '线下支付',
'pay_type'=>'offline',
)
),
'amazon' => array(
array(
'bn' => 'online',
'name' => '线上支付',
'pay_type'=>'online',
),
array(
'bn' => 'offline',
'name' => '线下支付',
'pay_type'=>'offline',
)
),
'yintai' => array(
array(
'bn' => 'online',
'name' => '线上支付',
'pay_type'=>'online',
),
array(
'bn' => 'offline',
'name' => '线下支付',
'pay_type'=>'offline',
),
),
'icbc' => array(
array(
'bn' => 'online',
'name' => '线上支付',
'pay_type'=>'online',
),
array(
'bn' => 'offline',
'name' => '线下支付',
'pay_type'=>'offline',
)
),
'mogujie' => array(
array(
'bn' => 'online',
'name' => '线上支付',
'pay_type'=>'online',
),
array(
'bn' => 'offline',
'name' => '线下支付',
'pay_type'=>'offline',
)
),
'gome' => array(
array(
'bn' => 'online',
'name' => '线上支付',
'pay_type'=>'online',
),
array(
'bn' => 'offline',
'name' => '线下支付',
'pay_type'=>'offline',
)
),
'wx' => array(
array(
'bn' => 'online',
'name' => '线上支付',
'pay_type'=>'online',
),
array(
'bn' => 'offline',
'name' => '线下支付',
'pay_type'=>'offline',
)
),
'beibei' => array(
array(
'bn' => 'online',
'name' => '线上支付',
'pay_type'=>'online',
),
array(
'bn' => 'offline',
'name' => '线下支付',
'pay_type'=>'offline',
)
),
);
if(isset($shop['shop_type']) && in_array($shop['shop_type'],array_keys($type))){
foreach($type[$shop['shop_type']] as $v){
$pay_bn = $v['bn'];
$pay_name = $v['name'];
$pay_type = $v['pay_type'];
$payment = $cfgObj->dump(array('pay_bn'=>$pay_bn), 'id,custom_name,pay_type');
$cfgSdf = array(
'custom_name' => $pay_name,
'pay_bn' => $pay_bn,
'pay_type' => $pay_type,
);
$payShopSdf = array(
'pay_bn' => $pay_bn,
'shop_id' => $shop_id,
);
if(!empty($payment['id'])){
$cfgObj->update($cfgSdf,array('id'=>$payment['id']));
}else{
$cfgObj->insert($cfgSdf);
}
$payShop = $payShopObj->dump(array('pay_bn'=>$pay_bn,'shop_id' => $shop_id), 'pay_bn,shop_id');
if(!empty($payShop)){
}else{
$payShopObj->insert($payShopSdf);
}
}
return true;
}else{
kernel::single('erpapi_router_request')->set('shop',$shop_id)->paymenthod_getpaymethod(null);
}
return true;
}
/**
* del_payments
* @param mixed $shop_id ID
* @return mixed 返回值
*/
public function del_payments($shop_id){
$shopObj = app::get('ome')->model('shop');
$cfgObj = app::get('ome')->model('payment_cfg');
$payShopObj = app::get('ome')->model('payment_shop');
$payShops = $payShopObj->getList('*',array('shop_id'=>$shop_id));
$pay_bn = '';
foreach($payShops as $payShop){
$pay_bn = $payShop['pay_bn'];
if($pay_bn){
$payShopObj->delete(array('pay_bn'=>$pay_bn,'shop_id'=>$shop_id));
$payShop = $payShopObj->dump(array('pay_bn'=>$pay_bn), 'pay_bn,shop_id');
if(!isset($payShop['shop_id']) && !$payment['shop_id']){
$cfgObj->delete(array('pay_bn'=>$pay_bn));
}
}
}
return true;
}
}