Storing Multiple Payment Methods / Addresses in User Profile

I’m currently working on a project where I am tasked with implementing the following:
Profile Management

  • Can manage personal information (name, email address, home address) and nickname
  • Can manage multiple credit card info
  • Can manage multiple shipping addresses

I have implemented the first bullet point, however, I’m struggling with how to go about having a user manage multiple payment methods & shipping addresses.

The users should be able to add, modify, and remove both payment methods and shipping addresses.
I was thinking of something like this:

What would be the best way to accomplish this?