No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

72 líneas
2.1KB

  1. <?php
  2. namespace App\Http\Controllers\Web\RobotPayment\CreditCard;
  3. use App\Http\Controllers\Web\WebController;
  4. use App\Kintone\Models\CreditcardAutoPaymentInfo;
  5. use App\Kintone\Models\CreditcardAutoPaymentResult;
  6. use App\Kintone\Models\Customer;
  7. use App\Util\DateUtil;
  8. use Exception;
  9. use Illuminate\Database\Eloquent\ModelNotFoundException;
  10. use Illuminate\Http\Request;
  11. use Illuminate\Http\Response;
  12. use Illuminate\Support\Facades\Log;
  13. use LogicException;
  14. class PaymentInfoController extends WebController
  15. {
  16. public function name(): string
  17. {
  18. return "クレジットカード 自動課金情報登録";
  19. }
  20. public function description(): string
  21. {
  22. return "クレジットカード 自動課金情報登録";
  23. }
  24. public function __construct(protected PaymentInfoParam $param)
  25. {
  26. parent::__construct();
  27. }
  28. protected function run(Request $request): Response
  29. {
  30. $param = $this->param;
  31. logger("リクエスト受信 creditcard", ["param" => $request->all()]);
  32. // 認証チェック
  33. // 初回の決済結果はトークン付で送信されるのでチェックする
  34. if ($param->token !== config('custom.creditcard.token')) {
  35. abort(403);
  36. }
  37. $customer = Customer::findByCustomerCode($param->customerCode);
  38. $customer->paymentMethod = "クレジットカード";
  39. $model = new CreditcardAutoPaymentInfo();
  40. $model->customerCode = $param->customerCode;
  41. $model->autoPaymentNo = $param->acid;
  42. $model->shopOrderNo = $param->cod;
  43. // 機密な情報をリクエストデータから除外して登録する
  44. $requestArr = request()->toArray();
  45. unset($requestArr["token"]);
  46. unset($requestArr["id"]);
  47. unset($requestArr["pa"]);
  48. $model->dataResult = json_encode(
  49. $requestArr,
  50. JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT
  51. );
  52. $model->save();
  53. $customer->save();
  54. return response()->view('robot-payment.creditcard.ok');
  55. }
  56. }