feat: add support for updating surcharge_applicable field intent

## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [x] New feature

## Description
<!-- Describe your changes in detail -->
-> Enabled updating surcharge_applicable in payment_intent.

-> Implemented apply_and_ceil_result() function in Percentage struct


## How did you test it?
<!--
Did you write an integration/unit/API test to verify the code changes?
Or did you test this change manually (provide relevant screenshots)?
-->


## Checklist
<!-- Put an `x` in the boxes that apply -->

- [x] I formatted the code `cargo +nightly fmt --all`
- [x] I addressed lints thrown by `cargo clippy`
- [x] I reviewed the submitted code

<think>
PR Context:
- Title: feat(dashboard_metadata): Add `ReconStatus` in `dashboard_metadata`
- Merged: 2025-03-26T10:26:02Z
- Files changed: 7 files
- Commits: 7 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [ ] New feature
- [x] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
This PR will add a new variant in Dashboard Metadata for storing the recon state.

### Additional Changes

- [x] This PR modifies the API contract
- [x] This PR modifies the database schema
- [ ] This PR modifies application configuratio
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(dashboard_metadata): Add `ReconStatus` in `dashboard_metadata` (#7595)
Co-authored-by: hyperswi
Files to modify:


**crates/api_models/src/user/dashboard_metadata.rs**
  Add:
    - struct: pub::ReconStatus

**crates/diesel_models/src/enums.rs**
  Modify existing code

**crates/router/src/core/user/dashboard_metadata.rs**
  Modify existing code

**crates/router/src/types/domain/user/dashboard_metadata.rs**
  Modify existing code

**crates/router/src/utils/user/dashboard_metadata.rs**
  Modify existing code
{"issue_number": 2647, "pr_number": 7595, "commits_count": 1, "files_changed": 7, "response_length": 1315, "file_count": 7, "needs_breakdown": false}