Skip to content

Commit 1d54cff

Browse files
[SDK] Add support for extra metadata in x402 payment requests (#8358)
1 parent fd04eef commit 1d54cff

File tree

4 files changed

+10
-0
lines changed

4 files changed

+10
-0
lines changed

.changeset/four-ghosts-tickle.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"thirdweb": patch
3+
---
4+
5+
Add support for extraMetadata in x402 payment requirements

packages/thirdweb/src/x402/common.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ export async function decodePaymentRequest(
4444
routeConfig = {},
4545
method,
4646
paymentData,
47+
extraMetadata,
4748
} = args;
4849
const { errorMessages } = routeConfig;
4950

@@ -54,6 +55,7 @@ export async function decodePaymentRequest(
5455
price,
5556
routeConfig,
5657
payTo,
58+
extraMetadata,
5759
});
5860

5961
// Check for payment header, if none, return the payment requirements

packages/thirdweb/src/x402/facilitator.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,7 @@ export function facilitator(
281281
routeConfig: args.routeConfig,
282282
serverWalletAddress: facilitator.address,
283283
recipientAddress: args.payTo,
284+
extraMetadata: args.extraMetadata,
284285
}),
285286
});
286287
if (res.status !== 402) {

packages/thirdweb/src/x402/types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ export type PaymentArgs = {
3535
routeConfig?: PaymentMiddlewareConfig;
3636
/** Optional recipient address to receive the payment if different from your facilitator address */
3737
payTo?: string;
38+
/** Optional extra data to be included in the payment request */
39+
extraMetadata?: Record<string, unknown>;
3840
};
3941

4042
export type SettlePaymentArgs = PaymentArgs & {

0 commit comments

Comments
 (0)