fix(mandates): handle the connector_mandate creation once and only if the payment is charged (#6327)
Files to modify:


**enums.rs**
  Add:
    - enum: pub::ConnectorMandateStatus

**payment_attempt.rs**
  Add:
    - struct: pub::ConnectorMandateReferenceId

**schema.rs**
  Modify existing code

**schema_v2.rs**
  Modify existing code

**sample_data.rs**
  Modify existing code

**payment_attempt.rs**
  Add:
    - struct: pub::ConnectorMandateReferenceId

**helpers.rs**
  Modify existing code

**payment_confirm.rs**
  Modify existing code

**payment_create.rs**
  Modify existing code

**payment_response.rs**
  Add:
    - function: private::update_connector_mandate_details_for_the_flow

**retry.rs**
  Modify existing code

**tokenization.rs**
  Modify existing code

**transformers.rs**
  Add:
    - function: private::foreign_from
    - function: private::foreign_from
    - impl: impl ForeignFrom<DieselConnectorMandateReferenceId> for ConnectorMandateReferenceId
    - impl: impl ForeignFrom<ConnectorMandateReferenceId> for DieselConnectorMandateReferenceId

**incoming.rs**
  Modify existing code

**payment_attempt.rs**
  Add:
    - struct: pub::ConnectorMandateReferenceId

**payment_method.rs**
  Modify existing code

**sample_data.rs**
  Modify existing code

**payment_attempt.rs**
  Add:
    - struct: pub::ConnectorMandateReferenceId

**payment_attempt.rs**
  Add:
    - struct: pub::ConnectorMandateReferenceId