From 6273adb190187c2a72c848feb91a5f5d9e0e11bf Mon Sep 17 00:00:00 2001 From: 0xFirekeeper <0xFirekeeper@gmail.com> Date: Wed, 2 Jul 2025 23:28:39 +0700 Subject: [PATCH 1/4] Pass purchaseData prop to payment components Added the purchaseData prop from payOptions to the payment components in PayEmbed. This enables passing additional purchase-related data to the payment flows. --- packages/thirdweb/src/react/web/ui/PayEmbed.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/thirdweb/src/react/web/ui/PayEmbed.tsx b/packages/thirdweb/src/react/web/ui/PayEmbed.tsx index dc1031ee231..87446b4e5db 100644 --- a/packages/thirdweb/src/react/web/ui/PayEmbed.tsx +++ b/packages/thirdweb/src/react/web/ui/PayEmbed.tsx @@ -363,6 +363,7 @@ export function PayEmbed(props: PayEmbedProps) { ? ["card"] : ["crypto", "card"] } + purchaseData={props.payOptions?.purchaseData} theme={theme} title={metadata?.name || "Buy"} tokenAddress={ @@ -387,6 +388,7 @@ export function PayEmbed(props: PayEmbedProps) { ? ["crypto"] : ["crypto", "card"] } + purchaseData={props.payOptions?.purchaseData} seller={props.payOptions.paymentInfo.sellerAddress as Address} theme={theme} tokenAddress={ @@ -408,6 +410,7 @@ export function PayEmbed(props: PayEmbedProps) { ? ["crypto"] : ["crypto", "card"] } + purchaseData={props.payOptions?.purchaseData} theme={theme} title={metadata?.name} transaction={props.payOptions.transaction} From d28e0049bbaa25050825af3d1ca1eadd701ee9f2 Mon Sep 17 00:00:00 2001 From: 0xFirekeeper <0xFirekeeper@gmail.com> Date: Wed, 2 Jul 2025 23:36:04 +0700 Subject: [PATCH 2/4] Add type assertion for purchaseData prop in PayEmbed Explicitly casts the purchaseData prop to Record | undefined in multiple locations within PayEmbed.tsx to ensure correct typing and prevent potential type errors. --- packages/thirdweb/src/react/web/ui/PayEmbed.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/thirdweb/src/react/web/ui/PayEmbed.tsx b/packages/thirdweb/src/react/web/ui/PayEmbed.tsx index 87446b4e5db..210e4ecad3b 100644 --- a/packages/thirdweb/src/react/web/ui/PayEmbed.tsx +++ b/packages/thirdweb/src/react/web/ui/PayEmbed.tsx @@ -363,7 +363,7 @@ export function PayEmbed(props: PayEmbedProps) { ? ["card"] : ["crypto", "card"] } - purchaseData={props.payOptions?.purchaseData} + purchaseData={props.payOptions?.purchaseData as Record | undefined} theme={theme} title={metadata?.name || "Buy"} tokenAddress={ @@ -388,7 +388,7 @@ export function PayEmbed(props: PayEmbedProps) { ? ["crypto"] : ["crypto", "card"] } - purchaseData={props.payOptions?.purchaseData} + purchaseData={props.payOptions?.purchaseData as Record | undefined} seller={props.payOptions.paymentInfo.sellerAddress as Address} theme={theme} tokenAddress={ @@ -410,7 +410,7 @@ export function PayEmbed(props: PayEmbedProps) { ? ["crypto"] : ["crypto", "card"] } - purchaseData={props.payOptions?.purchaseData} + purchaseData={props.payOptions?.purchaseData as Record | undefined} theme={theme} title={metadata?.name} transaction={props.payOptions.transaction} From 3962d12ad89cae9d6c0e6f777d26474b8f1a2d9f Mon Sep 17 00:00:00 2001 From: 0xFirekeeper <0xFirekeeper@gmail.com> Date: Wed, 2 Jul 2025 23:38:30 +0700 Subject: [PATCH 3/4] changeset --- .changeset/short-foxes-decide.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/short-foxes-decide.md diff --git a/.changeset/short-foxes-decide.md b/.changeset/short-foxes-decide.md new file mode 100644 index 00000000000..10bb5bd3084 --- /dev/null +++ b/.changeset/short-foxes-decide.md @@ -0,0 +1,5 @@ +--- +"thirdweb": patch +--- + +Fix purchaseData propagation in PayEmbed component to new widget implementations From e490364fd62bb6768ab097a7cd4a5f4b0fe846d1 Mon Sep 17 00:00:00 2001 From: 0xFirekeeper <0xFirekeeper@gmail.com> Date: Wed, 2 Jul 2025 23:39:11 +0700 Subject: [PATCH 4/4] lint fix --- packages/thirdweb/src/react/web/ui/PayEmbed.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/thirdweb/src/react/web/ui/PayEmbed.tsx b/packages/thirdweb/src/react/web/ui/PayEmbed.tsx index 210e4ecad3b..c15ea32cdc1 100644 --- a/packages/thirdweb/src/react/web/ui/PayEmbed.tsx +++ b/packages/thirdweb/src/react/web/ui/PayEmbed.tsx @@ -363,7 +363,9 @@ export function PayEmbed(props: PayEmbedProps) { ? ["card"] : ["crypto", "card"] } - purchaseData={props.payOptions?.purchaseData as Record | undefined} + purchaseData={ + props.payOptions?.purchaseData as Record | undefined + } theme={theme} title={metadata?.name || "Buy"} tokenAddress={ @@ -388,7 +390,9 @@ export function PayEmbed(props: PayEmbedProps) { ? ["crypto"] : ["crypto", "card"] } - purchaseData={props.payOptions?.purchaseData as Record | undefined} + purchaseData={ + props.payOptions?.purchaseData as Record | undefined + } seller={props.payOptions.paymentInfo.sellerAddress as Address} theme={theme} tokenAddress={ @@ -410,7 +414,9 @@ export function PayEmbed(props: PayEmbedProps) { ? ["crypto"] : ["crypto", "card"] } - purchaseData={props.payOptions?.purchaseData as Record | undefined} + purchaseData={ + props.payOptions?.purchaseData as Record | undefined + } theme={theme} title={metadata?.name} transaction={props.payOptions.transaction}