diff --git a/frontend/src/lib/components/payments/CardSelection.svelte b/frontend/src/lib/components/payments/CardSelection.svelte
new file mode 100644
index 0000000..3f6a9b5
--- /dev/null
+++ b/frontend/src/lib/components/payments/CardSelection.svelte
@@ -0,0 +1,202 @@
+
+
+{#if cards.length > 0}
+
+ {#each cards as card (card.id)}
+
+ {/each}
+
+
+
+{/if}
+
+{#if showNewCardForm || cards.length === 0}
+
+
+ {#if cardError}
+
{cardError}
+ {/if}
+
+{/if}
diff --git a/frontend/src/lib/components/payments/UserPaymentModal.svelte b/frontend/src/lib/components/payments/UserPaymentModal.svelte
index 525620c..93e63e5 100644
--- a/frontend/src/lib/components/payments/UserPaymentModal.svelte
+++ b/frontend/src/lib/components/payments/UserPaymentModal.svelte
@@ -1,6 +1,5 @@