Issue:
feat(vsaas): add processor_merchant_id and created_by column in payment_intents and payments_attempts for v1

Tracking issue #1: https://github.com/juspay/hyperswitch-control-center/issues/2544
Tracking issue #2: https://github.com/juspay/hyperswitch-control-center/issues/2546

Resolution:
<think>
PR Context:
- Title: feat(vsaas): add processor_merchant_id and created_by column in payment_intents and payments_attempts for v1
- Merged: 2025-04-22T08:56:56Z
- Files changed: 30 files
- Commits: 27 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [x] New feature
- [x] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
- added `processor_merchant_id` and` created_by` column in `diesel_models` and `hyperswitch_domain_models`
- added migrations
- ~added backfilling `processor_merchant_id` column in migrations~ (Due to staggered release backfilling should be 
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(vsaas): add processor_merchant_id and created_by column in payment_intents and payments_attempt
Files to modify:


**crates/common_utils/src/macros.rs**
  Add:
    - function: private::test_enum_from_str_ok
    - function: private::test_enum_from_str_failures_yield_invalid
    - function: private::test_enum_display_and_serialize
    - function: private::test_enum_deserialize
    - mod: private::tests

**crates/common_utils/src/types.rs**
  Modify existing code

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

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

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

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

**crates/diesel_models/src/user/sample_data.rs**
  Modify existing code

**crates/hyperswitch_domain_models/src/payments.rs**
  Modify existing code

**crates/hyperswitch_domain_models/src/payments/payment_attempt.rs**
  Modify existing code

**crates/hyperswitch_domain_models/src/payments/payment_intent.rs**
  Modify existing code

**crates/router/src/core/payments/helpers.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payment_approve.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payment_cancel.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payment_capture.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payment_capture_v2.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payment_create.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payment_get.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payment_get_intent.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payment_reject.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payment_status.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payment_update_intent.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payments_incremental_authorization.rs**
  Modify existing code

**crates/router/src/core/payments/retry.rs**
  Modify existing code

**crates/router/src/core/utils.rs**
  Remove:
    - function: private::validate_platform_merchant
    - function: private::get_platform_merchant_id
    - trait: pub::ValidatePlatformMerchant
    - impl: impl ValidatePlatformMerchant for storage::PaymentIntent

**crates/router/src/types/storage/payment_attempt.rs**
  Modify existing code

**crates/router/src/utils/user/sample_data.rs**
  Modify existing code

**crates/storage_impl/src/mock_db/payment_attempt.rs**
  Modify existing code

**crates/storage_impl/src/payments/payment_attempt.rs**
  Modify existing code