Faremeter API / types/src / facilitator
facilitator
Interfaces
FacilitatorHandler
Defined in: packages/types/src/facilitator.ts:26 Handler interface implemented by payment scheme facilitators. Each method returns null when the request doesn’t match the handler’s payment scheme, allowing multiple handlers to be composed.Properties
getRequirements()
getRequirements: (Defined in: packages/types/src/facilitator.ts:30 Filters and enriches payment requirements this handler can processargs) =>Promise<object[]>
Parameters
args
GetRequirementsArgs
Returns
Promise<object[]>
getSigners()?
Defined in: packages/types/src/facilitator.ts:44 Returns signer addresses organized by network (optional)optionalgetSigners: () =>Promise<Record<string,string[]>>
Returns
Promise<Record<string, string[]>>
getSupported()?
Defined in: packages/types/src/facilitator.ts:28 Returns the payment schemes this handler supportsoptionalgetSupported: () =>Promise<{extra?:object;network:string;scheme:string;x402Version:2; }>[]
Returns
Promise<{ extra?: object; network: string; scheme: string; x402Version: 2; }>[]
handleSettle()
handleSettle: (Defined in: packages/types/src/facilitator.ts:39 Settles a payment by executing the on-chain transactionrequirements,payment) =>Promise<null| {errorReason?:string;extensions?:object;network:string;payer?:string;success:boolean;transaction:string; }>
Parameters
requirements
amount
string = "string.numeric"
asset
string = "string"
extra?
object = "object"
maxTimeoutSeconds
number = "number.integer"
network
string = "string"
payTo
string = "string"
scheme
string = "string"
payment
accepted
{amount: string; asset: string; extra?: object; maxTimeoutSeconds: number; network: string; payTo: string; scheme: string; } = x402PaymentRequirements
accepted.amount
string = "string.numeric"
accepted.asset
string = "string"
accepted.extra?
object = "object"
accepted.maxTimeoutSeconds
number = "number.integer"
accepted.network
string = "string"
accepted.payTo
string = "string"
accepted.scheme
string = "string"
extensions?
object = "object"
payload
object = "object"
resource?
{description?: string; mimeType?: string; url: string; } = x402ResourceInfo
resource.description?
string = "string"
resource.mimeType?
string = "string"
resource.url
string = "string"
x402Version
2 = "2"
Returns
Promise<null | { errorReason?: string; extensions?: object; network: string; payer?: string; success: boolean; transaction: string; }>
handleVerify()?
Defined in: packages/types/src/facilitator.ts:34 Verifies a payment without settling it (optional)optionalhandleVerify: (requirements,payment) =>Promise<null| {invalidReason?:string;isValid:boolean;payer?:string; }>
Parameters
requirements
amount
string = "string.numeric"
asset
string = "string"
extra?
object = "object"
maxTimeoutSeconds
number = "number.integer"
network
string = "string"
payTo
string = "string"
scheme
string = "string"
payment
accepted
{amount: string; asset: string; extra?: object; maxTimeoutSeconds: number; network: string; payTo: string; scheme: string; } = x402PaymentRequirements
accepted.amount
string = "string.numeric"
accepted.asset
string = "string"
accepted.extra?
object = "object"
accepted.maxTimeoutSeconds
number = "number.integer"
accepted.network
string = "string"
accepted.payTo
string = "string"
accepted.scheme
string = "string"
extensions?
object = "object"
payload
object = "object"
resource?
{description?: string; mimeType?: string; url: string; } = x402ResourceInfo
resource.description?
string = "string"
resource.mimeType?
string = "string"
resource.url
string = "string"
x402Version
2 = "2"
Returns
Promise<null | { invalidReason?: string; isValid: boolean; payer?: string; }>
GetRequirementsArgs
Defined in: packages/types/src/facilitator.ts:13 Arguments passed to the facilitator’s getRequirements method.Properties
accepts
accepts: object[]
Defined in: packages/types/src/facilitator.ts:15
Payment requirements the server is willing to accept
amount
amount:string="string.numeric"
asset
asset:string="string"
extra?
optionalextra:object="object"
maxTimeoutSeconds
maxTimeoutSeconds:number="number.integer"
network
network:string="string"
payTo
payTo:string="string"
scheme
scheme:string="string"
resource?
Defined in: packages/types/src/facilitator.ts:17 Optional resource information for the protected contentoptionalresource:object
description?
optionaldescription:string="string"
mimeType?
optionalmimeType:string="string"
url
url:string="string"