# Payment Methods On Customer level

**URL:** <https://www.virtocommerce.org/t/payment-methods-on-customer-level/589>\
**Category:** support\
**Tags:** platform-v3\
**Created:** [June 6, 2023, 1:56pm UTC](https://www.virtocommerce.org/t/payment-methods-on-customer-level/589 "2023-06-06T13:56:45Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Koshalgarg155](https://yyz2.discourse-cdn.com/flex032/user_avatar/www.virtocommerce.org/koshalgarg155/32/1053_2.png) [@Koshalgarg155](https://www.virtocommerce.org/u/Koshalgarg155)\
**Post date:** [June 6, 2023, 1:56pm UTC](https://www.virtocommerce.org/t/payment-methods-on-customer-level/589/1 "2023-06-06T13:56:45Z")

</div>

Hi,  
Are there any payment methods on the customer level in the platform? So we can handle default payment method or store metadata of payment methods on the platform.

---

<div class="post-metadata">

**Author:** ![OlegoO](https://yyz2.discourse-cdn.com/flex032/user_avatar/www.virtocommerce.org/olegoo/32/27_2.png) [@OlegoO](https://www.virtocommerce.org/u/OlegoO)\
**Post date:** [June 8, 2023, 3:51pm UTC](https://www.virtocommerce.org/t/payment-methods-on-customer-level/589/2 "2023-06-08T15:51:07Z")

</div>

Are you talking about Checkout Defaults?

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/c/c4537c2b356bd2a60ed602ca409de0e93b124f4c.png)

Please review implementation in the code:  
[vc-theme-b2b-vue/useUserCheckoutDefaults.ts at dev · VirtoCommerce/vc-theme-b2b-vue (github.com)](https://github.com/VirtoCommerce/vc-theme-b2b-vue/blob/dev/client-app/shared/account/composables/useUserCheckoutDefaults.ts#L5)

Also you can use Dynamic Properties:

Steps:

1. Create dynamicproperties for contacts **DefaultPayment**
2. By default property is empty
3. When customer login to store - need to check property

```json
{
  contact(id:"3d5218ed-f223-4100-8c85-96802d1ae1c1"){
    name
    phones
   organizations
    {
      items
      {
        id
        name
      }
    }
  dynamicProperties
  {
    name
    value
  }
}}

```

1. Also you can update property from UX

```json
mutation updateContact ($command: InputUpdateContactType!) {
    updateContact (command: $command) {
    name
       dynamicProperties {
          name
          value
        }
    }
}

```

```json
{"command": {
    "id": "3d5218ed-f223-4100-8c85-96802d1ae1c1",
...

"dynamicProperties": [
     {
      "name": "DefaultPayment",
      "value": "SomeId"
    }
]
  }}

```

---

<div class="post-metadata">

**Author:** ![Koshalgarg155](https://yyz2.discourse-cdn.com/flex032/user_avatar/www.virtocommerce.org/koshalgarg155/32/1053_2.png) [@Koshalgarg155](https://www.virtocommerce.org/u/Koshalgarg155)\
**Post date:** [June 9, 2023, 9:43am UTC](https://www.virtocommerce.org/t/payment-methods-on-customer-level/589/3 "2023-06-09T09:43:29Z")

</div>

Thanks for the reply @OlegoO.  
I am looking for something like we can store payment cards metadata for each customer and then also we can assign default payment method for each customer.
