Files
2026-09-01 22:15:50 +08:00

155 lines
5.0 KiB
PHP

<?php
// +----------------------------------------------------------------------
// | 管理系统
// +----------------------------------------------------------------------
// | Copyright (c) 2017~2023 https://www.zizai.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
// +----------------------------------------------------------------------
// | Author: 自在科技
// +----------------------------------------------------------------------
declare (strict_types=1);
namespace app\api\controller\syb;
use app\api\controller\Controller;
/**
* 加油e卡通支付财务
* Class SybOil
* @package app\api\controller
*/
class SybPay extends Controller
{
/** 付款二维码申请
* @param $data
* @return array|mixed|string[]
*/
public function payQrCodeRequest($data)
{
$header = [
'method' => 'syb.pay.qrCode.request',
];
$body = [
'orgNo' => config('crypto.company_no'),
'oilCardNo' => $data['oilCardNo']??'',
'mobile' => $data['mobile']??'',
'longitude' => $data['longitude']??'',
'oilCardType' => $data['oilCardType']??'',
'latitude' => $data['latitude']??'',
];
$response = $this->sendRequest(config('crypto.url').'/api/1.0.0/pay/getPayQrCode', $body, $header);
$this->saveLog("付款二维码申请".json_encode($response,320));
return $response;
}
/** 主扫订单创建
* @param $data
* @return array|mixed|string[]
*/
public function payActiveScan($data)
{
$header = [
'method' => 'syb.pay.active.scan',
];
$body = [
'orgNo' => config('crypto.company_no'),
'oilCardNo' => $data['oilCardNo']??'',
'qrInfo' => $data['qrInfo']??'',
'longitude' => $data['longitude']??'',
'latitude' => $data['latitude']??'',
];
$response = $this->sendRequest(config('crypto.url').'/api/1.0.0/pay/activeScan', $body, $header);
$this->saveLog("主扫订单创建".json_encode($response,320));
return $response;
}
/** 主扫订单信息确认
* @param $data
* @return array|mixed|string[]
*/
public function payActiveVerify($data)
{
$header = [
'method' => 'syb.pay.active.verify',
];
$body = [
'orgNo' => config('crypto.company_no'),
'activeOrderId' => $data['activeOrderId']??'',
'amount' => !empty($data['amount']??'') ? round($data['amount'],2) : '',
'deviceId' => $data['deviceId']??'',
];
$response = $this->sendRequest(config('crypto.url').'/api/1.0.0/pay/activeVerify', $body, $header);
$this->saveLog("主扫订单信息确认".json_encode($response,320));
return $response;
}
/** 账户余额查询
* @param $data
* @return array|mixed|string[]
*/
public function payAmountBalance($data)
{
$header = [
'method' => 'syb.pay.account.balance',
];
$body = [
'orgNo' => config('crypto.company_no'),
];
$response = $this->sendRequest(config('crypto.url').'/api/1.0.0/finance/account/balance', $body, $header);
$this->saveLog("账户余额查询".json_encode($response,320));
return $response;
}
/** 申请发票
* @param $data
* @return array|mixed|string[]
*/
public function payInvoiceRequest($data)
{
$header = [
'method' => 'syb.pay.invoice.request',
];
$body = [
'orgNo' => config('crypto.company_no'),
'amount' => !empty($data['amount']??'') ? round($data['amount'],2) : '',
'oilNo' => $data['oilNo']??'',
'invoiceAddress' => $data['invoiceAddress']??'',
'invoiceHeader' => $data['invoiceHeader']??'',
'invoicePhone' => $data['invoicePhone']??'',
'invoiceOpenBank' => $data['invoiceOpenBank']??'',
'taxIdentifyNo' => $data['taxIdentifyNo']??'',
'invoiceCardNo' => $data['invoiceCardNo']??'',
];
$response = $this->sendRequest(config('crypto.url').'/api/1.0.0/finance/invoice/request', $body, $header);
$this->saveLog("申请发票".json_encode($response,320));
return $response;
}
/** 开票状态查询
* @param $data
* @return array|mixed|string[]
*/
public function payInvoiceStatus($data)
{
$header = [
'method' => 'syb.pay.invoice.status',
];
$body = [
'orgNo' => config('crypto.company_no'),
'invoiceNo' => $data['invoiceNo']??'',
];
$response = $this->sendRequest(config('crypto.url').'/api/1.0.0/finance/invoice/status', $body, $header);
$this->saveLog("开票状态查询".json_encode($response,320));
return $response;
}
}