Issue:
Support Default Payment Method for customer

Add support for having a default payment method option for a customer. This can be used to increase conversion rates by using the preferred saved payment method for payments, reducing the friction.

Solution:
- Customers table to have a column for 'default_payment_method'
- API to set and retrieve the default PM for a customer
- If default has not been set, use the `last_used` PM as the default 
-  Customer Payment Method List to indicate the default PM

Resolution:
<think>
PR Context:
- Title: fix(connector): [BOA, Cybersource] capture error_code
- Merged: 2024-01-09T07:15:42Z
- Files changed: 3 files
- Commits: 20 commits

Implementation approach:
## 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 -->
Resolves [#3739](https://github.com/juspay/hyperswitch-cloud/issues/3739)


## 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 screen
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** fix(connector): [BOA, Cybersource] capture error_code (#3239)
Co-authored-by: Sahkal Poddar <sahkal.
Files to modify:


**crates/router/src/connector/bankofamerica/transformers.rs**
  Remove:
    - function: private::is_payment_failure
  Add:
    - function: private::from
    - impl: impl From<(&Option<BankOfAmericaErrorInformation>, u16, String)> for types::ErrorResponse

**crates/router/src/connector/cybersource/transformers.rs**
  Remove:
    - function: private::is_payment_failure
  Add:
    - function: private::from
    - impl: impl From<(&Option<CybersourceErrorInformation>, u16, String)> for types::ErrorResponse

**crates/router/src/connector/utils.rs**
  Add:
    - function: pub::is_payment_failure
    - function: pub::is_refund_failure