|
- <?php
-
- namespace App\Http\Controllers\Web\RobotPayment\BanckCheck;
-
- use App\Exceptions\AppCommonException;
- use App\Http\Controllers\Web\WebController;
- use App\Kintone\Models\BankCheckResult;
- use Illuminate\Http\Request;
- use Illuminate\Http\Response;
- use Illuminate\Support\Carbon;
-
- class PaymentInfoController extends WebController
- {
-
- public function name(): string
- {
- return "バンクチェック 決済結果";
- }
-
- public function description(): string
- {
- return "バンクチェック 決済結果";
- }
-
-
- public function __construct(protected PaymentInfoParam $param)
- {
- parent::__construct();
- }
-
- protected function run(Request $request): Response
- {
- $param = $this->param;
- logger("リクエスト受信 bankcheck");
-
- if ($param->token !== config('custom.bank-check.token')) {
- abort(403);
- }
-
- if ($param->ap === "BANK") {
- $this->handleEntry();
- } else if ($param->ap === "BAN_SAL") {
- $this->handlePayment();
- }
-
-
- return response()->view('robot-payment.bank-check.ok');
- }
-
- private function handleEntry()
- {
- $param = $this->param;
- $model = new BankCheckResult();
-
- $model->customerCode = $param->customerCode;
- $model->entryRecordNo = $param->entryRecordNo;
- $model->shopOrderNo = $param->cod;
- $model->paymentNo = $param->gid;
- $model->orderCode = $param->god;
- $model->entryResult = $param->rst;
- $model->entryErrorCode = $param->ec;
- $model->paymentPlanAmount = intval($param->am);
- $model->paymentExpiresDate = Carbon::createFromFormat("Ymd", $param->exp);
-
- $requestArr = request()->toArray();
- unset($requestArr["token"]);
- $model->dataEntry = json_encode(
- $requestArr,
- JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT
- );
-
- $model->save();
- }
-
- private function handlePayment()
- {
- $param = $this->param;
-
- $model = BankCheckResult::getAccess()
- ->first(BankCheckResult::getQuery()->where(
- BankCheckResult::FIELD_SHOP_ORDER_NO,
- $param->cod
- ));
-
- if ($model === null) {
- throw new AppCommonException(sprintf(
- "存在しない店舗側オーダー番号:[%s]",
- $param->cod
- ));
- }
-
- $model->paymentResult = $param->rst;
- $model->paymentErrorCode = $param->ec;
- $model->paymentAmount = intval($param->nk);
- $model->paymentDate = Carbon::createFromFormat("Ymd", $param->nkd);
-
- $requestArr = request()->toArray();
- unset($requestArr["token"]);
- $model->dataResult = json_encode(
- $requestArr,
- JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT
- );
-
- $model->save();
- }
- }
|