Algorithm to find Unique users from their transactions Scenario
An eCommerce site allow users to purchase items without creating an Account. However, it captures following attributes from the Purchases based on the type of payment and type of delivery:

Name
Address
Email Address
Card/Account Number

Note: It is possible one type of transaction only get one subset of attributes (e.g. Name and Address) and another type of transaction get another subset of attributes (e.g. Name and Card Number)
Expectation
To offer customized products or to prevent Fraud, it want to find individual users.
E.g. It should identify following three transactions are done by single user:

name: Alice, email: alice@wonder.land
email: alice@wonder.land, Card Number: 123456
name: Bob, Card Number: 123456 (Alice made purchase for Bob).

As you can see car-number/email is a stronger link than Name. So different attributes have different weights.
I have looked at couple classification algorithms (k-mean, k-mode..), but none of them is addressing this use case as I don't want to classify users but identify individual users.
Is this a standard data science problem and which algorithm will best fit here? Thank you!
You don't need any ML here: in the question you just gave the full algorithm to find the target output ;) At best a ML system would find just the same method after using a lot of annotated data.
The method is essentially what you said:

Group the users by their card number or email (easily done with a map for each), this gives you the cases of &quot;sure&quot; identical users.
Group the users by their name, this gives you the cases of &quot;possible&quot; identical users. For this part you might want to use string similarity measures.