Bug: [REFACTOR] update generate_connector_request_reference_id for Razorpay



update generate_connector_request_reference_id to consume merchant_reference_id for RAZORPAY, if not provided generate a UUID instead.
diff --git a/crates/hyperswitch_connectors/src/connectors/razorpay.rs b/crates/hyperswitch_connectors/src/connectors/razorpay.rs
index 44f1b462936..59404512081 100644
--- a/crates/hyperswitch_connectors/src/connectors/razorpay.rs
+++ b/crates/hyperswitch_connectors/src/connectors/razorpay.rs
@@ -836,10 +836,14 @@ impl ConnectorSpecifications for Razorpay {
     #[cfg(feature = "v2")]
     fn generate_connector_request_reference_id(
         &self,
-        _payment_intent: &hyperswitch_domain_models::payments::PaymentIntent,
+        payment_intent: &hyperswitch_domain_models::payments::PaymentIntent,
         _payment_attempt: &hyperswitch_domain_models::payments::payment_attempt::PaymentAttempt,
     ) -> String {
         // The length of receipt for Razorpay order request should not exceed 40 characters.
-        uuid::Uuid::now_v7().to_string()
+        payment_intent
+            .merchant_reference_id
+            .as_ref()
+            .map(|id| id.get_string_repr().to_owned())
+            .unwrap_or_else(|| uuid::Uuid::now_v7().to_string())
     }
 }

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

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

## Description
<!-- Describe your changes in detail -->
For Razorpay (RZP) integration, the `connector_request_reference_id` will now be set as follows:

- If `merchant_reference_id` is available, use it directly.
- If not available, generate a UUID instead.

This ensures compliance with Razorpay’s constraint that the reference ID length must not exceed **40 characters**.

### 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
<!--
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.

If you don't have an issue, we'd recommend starting with one first so the PR
can focus on the implementation (unless it is an obvious bug or documentation fix
that will have little conversation).
-->


## 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)?
-->
Enable UCS
```
curl --location 'http://localhost:8080/v2/configs/' \
--header 'Authorization: admin-api-key=test_admin' \
--header 'x-tenant-id: public' \
--header 'Content-Type: application/json' \
--data '{
    "key": "ucs_rollout_config_cloth_seller_UPYM7gnwbWs8Cpf0vQkt_razorpay_upi_Authorize",
    "value": "1.0"
}'
```
Create Payment (Razorpay UPI Collect)
```
{
    "amount_details": {
        "order_amount": 100,
        "currency": "INR"
    },
    "merchant_connector_details": {
        "connector_name": "razorpay",
        "merchant_connector_creds": {
            "auth_type": "BodyKey",
            "api_key": "_",
            "key1": "_"
        }
    },
    "merchant_reference_id": "razorpayirctc1758028555",
    "capture_method":"automatic",
    "payment_method_data": {
        "upi": {
            "upi_collect": {
                "vpa_id": "success@razorpay"
            }
        },
        "billing": {
            "address": {
                "line1": "1467",
                "line2": "Harrison Street",
                "line3": "Harrison Street"   
            },
            "phone": {
                "number": "8056594427",
                "country_code": "+91"
            },
            "email": "swangi.kumari@juspay.in"
        }
    },
    "payment_method_subtype": "upi_collect",
    "payment_method_type": "upi",
    "return_raw_connector_response": true
}
```
Verify UCS logs to see if merchant_reference_id is being passed in receipt
<img width="756" height="263" alt="image" src="https://github.com/user-attachments/assets/b8e56c71-1c70-4a57-bea9-b19887ebbd5b" />



## 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`
- [ ] I reviewed the submitted code
- [ ] I added unit tests for my changes where possible
