Issue:
[BUG]: [Noon] Payment not reaching terminal state

### Bug Description

If there is a timeout or some other unfortunate instance in the application the payment is put in `pending` state, when we sync the payment with Noon, in some cases it returns 4xx and we do not update the status. But for some status like `order_does_not_exist` in their system we should fail it immediately.

### Expected Behavior

for some status like `order_does_not_exist` in their system we should fail it immediately.

### Actual Behavior

 in some cases it returns 4xx and we do not update the status.

### Steps To Reproduce

Provide an unambiguous set of steps to reproduce this bug. Include code or configuration to reproduce, if relevant.
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'


### Context For The Bug

_No response_

### Environment

Are you using hyperswitch hosted version? Yes/No
If yes, please provide the value of the `x-request-id` response header to help us debug your issue.

If not (or if building/running locally), please provide the following details:
1. Operating System or Linux distribution:
2. Rust version (output of `rustc --version`): ``
3. App version (output of `cargo r --features vergen -- --version`): ``


### Have you spent some time checking if this bug has been raised before?

- [X] I checked and didn't find a similar issue

### Have you read the Contributing Guidelines?

- [X] I have read the [Contributing Guidelines](https://github.com/juspay/hyperswitch/blob/main/docs/CONTRIBUTING.md)

### Are you willing to submit a PR?

Yes, I am willing to submit a PR!

Resolution:
<think>
PR Context:
- Title: fix(connector): [noon] Fail the payment for specific error_response
- Merged: 2024-02-19T10:13:33Z
- Files changed: 1 files
- Commits: 2 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [X] Bugfix
- [ ] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
Currently in Psync if 4xx or 5xx comes the payment_status is not changed for all the error_codes, for specific error_codes like order does not exist should be failed immediately.

### Additional Changes

- [ ] This PR modifies the API cont
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** fix(connector): [noon] Fail the payment for specific error_response (#3674)
Files to modify:


**crates/router/src/connector/noon.rs**
  Modify existing code