Files
amrez-nova-eop-services-api/AMREZ.EOP.API/Controllers/SCBController.cs
Thanakarn Klangkasame 33470d5fd4 Add Slip Verify
2025-10-02 17:50:35 +07:00

41 lines
1.4 KiB
C#

using AMREZ.EOP.Abstractions.Applications.UseCases.Payments.SlipVerification;
using AMREZ.EOP.Contracts.DTOs.Payments.SlipVerification;
using Microsoft.AspNetCore.Mvc;
namespace AMREZ.EOP.API.Controllers;
[ApiController]
[Route("api/[controller]")]
public class SCBController : ControllerBase
{
private readonly IVerifyFromImageUseCase _verifyFromImage;
public SCBController(IVerifyFromImageUseCase verifyFromImage)
{
_verifyFromImage = verifyFromImage;
}
/// <summary>
/// อัปโหลด "รูปสลิป" เพื่อตรวจสอบกับธนาคาร (ไม่ใช้ OCR — scan QR + heuristic)
/// </summary>
[HttpPost("slips/verify")]
[Consumes("multipart/form-data")]
[RequestSizeLimit(5_000_000)]
public async Task<IActionResult> VerifySlipFromImage(
[FromForm(Name = "Image")] IFormFile? Image,
[FromForm] string? OverrideSendingBank,
CancellationToken ct)
{
if (Image is null || Image.Length == 0)
return BadRequest(new { message = "Missing slip image" });
var res = await _verifyFromImage.ExecuteAsync(new VerifyFromImageRequest
{
Image = Image,
OverrideSendingBank = OverrideSendingBank
}, ct);
if (res is null) return NotFound(new { message = "Cannot extract transRef or verification failed" });
return Ok(res);
}
}