|
|
<?php
namespace App\Http\Controllers;
use App\Services\OutService;use Illuminate\Http\Request;
class OutAPIController extends Controller{ private $fieldLocale = [ 'accountName' => '收款人姓名', 'accountNo' => '收款账号', 'amount' => '代付金额', 'appId' => '应用ID', 'bankCode' => '收款账户开户行编码', 'bankName' => '收款账户开户行名称', 'channelExtra' => '渠道特殊参数', 'channelOrderNo' => '渠道转账单号', 'clientIp' => '客户端IP', 'createdAt' => '创建时间', 'currency' => '货币代码', 'entryType' => '入账方式', 'errCode' => '渠道错误码', 'errMsg' => '渠道错误描述', 'extParam' => '扩展参数', 'extraParam' => '扩展参数', 'ifCode' => '渠道码', 'mchNo' => '商户号', 'mchOrderNo' => '商户订单号', 'notifyUrl' => '异步通知地址', 'reqTime' => '请求时间', 'sign' => '签名', 'signType' => '签名类型', 'state' => '转账状态', 'successTime' => '成功时间', 'transferDesc' => '转账备注信息', 'transferId' => '转账订单号', 'version' => '接口版本', ];
public function queryBalance(Request $request, OutService $outService) { $request->validate([ 'mchNo' => 'required|string|max:30', 'appId' => 'required|string|max:24', 'ifCode' => 'required|string', 'reqTime' => 'required|integer', 'version' => 'required|string', 'sign' => 'required|string|size:32', 'signType' => 'required|string', ], [], $this->fieldLocale);
$params = [ 'mchNo' => $request->input('mchNo'), 'appId' => $request->input('appId'), 'ifCode' => $request->input('ifCode'), 'reqTime' => $request->integer('reqTime'), 'version' => $request->input('version'), 'sign' => $request->input('sign'), 'signType' => $request->input('signType'), ];
try { [$data, $sign] = $outService->queryBalance($params); return success($data, $sign); } catch (\Throwable $e) { return error($e->getMessage()); } }
public function transferOrder(Request $request, OutService $outService) { $request->validate([ 'ifCode' => 'required|string', 'mchNo' => 'required|string|max:30', 'appId' => 'required|string|max:24', 'mchOrderNo' => 'required|string|max:30', 'entryType' => 'required|string|in:ALIPAY_CASH,BANK_CARD,COMPANY_BANK_CARD,ALIPAY_ACCOUNT_BOOK', 'amount' => 'required|integer', 'currency' => 'required|string|in:cny', 'accountNo' => 'required|string|max:64', 'accountName' => 'required_if:entryType,ALIPAY_CASH,BANK_CARD,COMPANY_BANK_CARD|string|max:64', 'bankName' => 'nullable|string|max:255', 'bankCode' => 'nullable|string|max:64', 'clientIp' => 'nullable|string|max:32', 'transferDesc' => 'required|string|max:100', 'notifyUrl' => 'nullable|string|max:255', 'extParam' => 'nullable|string|max:512', 'channelExtra' => 'nullable|string', 'reqTime' => 'required|integer', 'version' => 'required|string', 'sign' => 'required|string|size:32', 'signType' => 'required|string', ], [], $this->fieldLocale);
$params = [ 'ifCode' => $request->input('ifCode'), 'mchNo' => $request->input('mchNo'), 'appId' => $request->input('appId'), 'mchOrderNo' => $request->input('mchOrderNo'), 'entryType' => $request->input('entryType'), 'amount' => $request->integer('amount'), 'currency' => $request->input('currency'), 'accountNo' => $request->input('accountNo'), 'accountName' => $request->input('accountName'), 'bankName' => $request->input('bankName'), 'bankCode' => $request->input('bankCode'), 'clientIp' => $request->input('clientIp'), 'transferDesc' => $request->input('transferDesc'), 'notifyUrl' => $request->input('notifyUrl'), 'extParam' => $request->input('extParam'), 'channelExtra' => $request->input('channelExtra'), 'reqTime' => $request->integer('reqTime'), 'version' => $request->input('version'), 'sign' => $request->input('sign'), 'signType' => $request->input('signType'), ];
try { [$data, $sign] = $outService->transferOrder($params); return success($data, $sign); } catch (\Throwable $e) { return error($e->getMessage()); } }
public function transferQuery(Request $request, OutService $outService) { $request->validate([ 'mchNo' => 'required|string|max:30', 'appId' => 'required|string|max:24', 'transferId' => 'required_without:mchOrderNo|string|max:30', 'mchOrderNo' => 'required_without:transferId|string|max:30', 'reqTime' => 'required|integer', 'version' => 'required|string', 'sign' => 'required|string|size:32', 'signType' => 'required|string', ], [], $this->fieldLocale);
$params = [ 'mchNo' => $request->input('mchNo'), 'appId' => $request->input('appId'), 'transferId' => $request->input('transferId'), 'mchOrderNo' => $request->input('mchOrderNo'), 'reqTime' => $request->integer('reqTime'), 'version' => $request->input('version'), 'sign' => $request->input('sign'), 'signType' => $request->input('signType'), ];
try { [$data, $sign] = $outService->transferQuery($params); return success($data, $sign); } catch (\Throwable $e) { return error($e->getMessage()); } }}
|