Behaviour for lifecycle hooks around facilitator verify and settle operations.
Hooks run around each operation in this order:
before_verify/2orbefore_settle/2after_verify/2orafter_settle/2on successon_verify_failure/2oron_settle_failure/2on failure
before_* callbacks can continue with {:cont, context} or abort with
{:halt, reason}.
on_*_failure callbacks can continue failure handling with {:cont, context}
or recover the operation with {:recover, result}.
Summary
Types
Return type for after_* callbacks.
Return type for before_* callbacks.
Hook callback identifier.
Hook execution error tuple returned by X402.Facilitator.
Lifecycle callback metadata passed to hooks.
Return type for on_*_failure callbacks.
Callbacks
Runs after a successful settle request.
Runs after a successful verify request.
Runs before a settle request is sent.
Runs before a verify request is sent.
Runs after a failed settle request.
Runs after a failed verify request.
Functions
Validates that a value is a module implementing X402.Hooks.
Types
@type after_result() :: {:cont, X402.Hooks.Context.t()}
Return type for after_* callbacks.
@type before_result() :: {:cont, X402.Hooks.Context.t()} | {:halt, term()}
Return type for before_* callbacks.
@type callback_name() ::
:before_verify
| :after_verify
| :on_verify_failure
| :before_settle
| :after_settle
| :on_settle_failure
Hook callback identifier.
@type hook_error() :: {:hook_halted, callback_name(), term()} | {:hook_callback_failed, callback_name(), term()} | {:hook_invalid_return, callback_name(), term()}
Hook execution error tuple returned by X402.Facilitator.
Lifecycle callback metadata passed to hooks.
@type on_failure_result() :: {:cont, X402.Hooks.Context.t()} | {:recover, map()}
Return type for on_*_failure callbacks.
Callbacks
@callback after_settle(X402.Hooks.Context.t(), metadata()) :: after_result()
Runs after a successful settle request.
@callback after_verify(X402.Hooks.Context.t(), metadata()) :: after_result()
Runs after a successful verify request.
@callback before_settle(X402.Hooks.Context.t(), metadata()) :: before_result()
Runs before a settle request is sent.
@callback before_verify(X402.Hooks.Context.t(), metadata()) :: before_result()
Runs before a verify request is sent.
@callback on_settle_failure(X402.Hooks.Context.t(), metadata()) :: on_failure_result()
Runs after a failed settle request.
@callback on_verify_failure(X402.Hooks.Context.t(), metadata()) :: on_failure_result()
Runs after a failed verify request.
Functions
Validates that a value is a module implementing X402.Hooks.
This function is designed for NimbleOptions custom validation.