Issue:
feat(connector): enforce logging for connector requests

## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [x] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
Enforce logging on Connector Request, while maintaining PII masking. 
For constructing the request body have a function `log_and_get_request_body` that allows generic argument which is the struct that is passed as the body for connector integration, and a function that can be use to encode it into String. We log the request in this function, as the struct will be intact and the masked values will be masked.

### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables

<!--
Provide links to the files with corresponding changes.

Following are the paths where you can find config files:
1. `config`
2. `crates/router/src/configs`
3. `loadtest/config`
-->


## Motivation and Context
Currently, we are logging the request but, we are masking the entire payload, so we are unable to deduce which fields were sent and track the overall outbound flows on the connector end.

## How did you test it?
Unit tests for top 5 connectors
1. Stripe
<img width="984" alt="image" src="https://github.com/juspay/hyperswitch/assets/56996463/bfd6e897-0880-4716-b9d7-dcca6501c795">

2. Checkout
<img width="984" alt="image" src="https://github.com/juspay/hyperswitch/assets/56996463/e2c03a57-e7de-425e-8239-124884f5a24f">

3. Adyen
<img width="879" alt="image" src="https://github.com/juspay/hyperswitch/assets/56996463/77e5083f-9528-4923-b807-0063b8c5f3bf">

4. Bluesnap
<img width="872" alt="image" src="https://github.com/juspay/hyperswitch/assets/56996463/4ddd5f54-cfb1-4328-a336-c1a951dd75ed">

5. Zen
<img width="1189" alt="image" src="https://github.com/juspay/hyperswitch/assets/56996463/2bbb84cc-9a1d-43ac-8916-cf24b1fbc589">

## 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 submitted code
- [ ] I added unit tests for my changes where possible
- [ ] I added a [CHANGELOG](/CHANGELOG.md) entry if applicable


Resolution:
<think>
PR Context:
- Title: fix(connector): [TrustPay] change the request encoding
- Merged: 2023-06-23T13:31:12Z
- Files changed: 1 files
- Commits: 1 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 -->
Change the encoding of the request body from string of json to url_encoded.

### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/envi
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** fix(connector): [TrustPay] change the request encoding (#1530)
Files to modify:


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