Skip to main content
Product
Solutions
Docs
Pricing
Company
Sign in
Start building
Start building
Start building
Start building
Sign out
Dashboard
Dashboard
Dashboard
Dashboard
Docs
Search documentation
Ask AI
Dashboard
Dashboard
Sign Up
Sign Up
Select your SDK
Next.js
React
Expo
JavaScript
Express
React Router
Astro
iOS
Nuxt
Vue
Chrome Extension
Fastify
Remix
TanStack React Start
Beta
JS Backend SDK
C#
Go
Java
Python
Ruby / Rails / Sinatra
SDK Development
Community SDKs
Next.js
React
Expo
JavaScript
Express
React Router
Astro
iOS
Nuxt
Vue
Chrome Extension
Fastify
Remix
TanStack React Start
JS Backend SDK
C#
Go
Java
Python
Ruby / Rails / Sinatra
SDK Development
Community SDKs
Getting Started
Quickstart
App Router
Pages Router
Quickstart
Next steps
Core concepts
Add custom sign-in-or-up page
Add custom sign-up page
Protect pages
Astro + React
Protect content and access user data
Protect specific routes with middleware
Endpoints
Hybrid rendering
More
View all guides
Guides
Overview
Authentication flows
Authentication strategies
Add custom sign-in-or-up page
Add custom sign-up page
Add custom onboarding
Enable biometric sign-in for returning users
Customizing redirect URLs
Tasks after sign-up/sign-in
User management
Inviting users
Managing users
Reading Clerk data
Extending Clerk data
Impersonation
Session management
Session tokens
Session token customization
Verifying sessions
Manual JWT verification
JWT templates
Force a token refresh
Sync auth status between your Chrome Extension and web app
Customizing Clerk
Component customization
Account Portal
Adding items to UI components
Email and SMS templates
Localization (i18n)
Clerk Elements
Beta
Securing your app
Protect pages
Set up a waitlist
Restricting access
Authorization checks
Role-based access control (RBAC) without organizations
Geo blocking
Session options
Reverification (step-up)
Force multi-factor authentication for all users
Password protection and rules
Machine authentication
Bot protection
Preventing brute force attacks
Legal compliance
Security best practices
B2B (Organizations)
Overview
Verified domains
Roles and permissions
Invitations
Metadata
Manage enterprise SSO connections
Use org slugs in URLs
Billing
Overview
Billing for B2C
Billing for B2B
Free trials
Development
Hybrid rendering
Endpoints
Add React Router
Configure a consistent CRX ID
Web support
Enable offline support
Access the
Clerk
object outside of components
Rendering modes
Declarative mode
Verifying OAuth access tokens
SPA Mode
Managing environments
Clerk environment variables
Making requests
Overriding Clerk types/interfaces
Image optimization
shadcn/ui CLI
tRPC
Model Context Protocol (MCP)
Webhooks
Integrations
Build your own UI
Testing with Clerk
Troubleshooting
Deployment
Migrating your data
SDK Development
Upgrading Clerk
AI prompts
Clerk Dashboard
Overview
DNS & Domains
How Clerk works
Overview
Cookies
System limits
Routing
Tokens and signatures
Security at Clerk
Multi-tenant architecture
Reference
usePaymentAttempts()
Access and manage payment attempts in your React application with Clerk's usePaymentAttempts() hook.
This page is available for the following SDKs. Select the SDK you would like to use:
Next.js
React
Feedback
What did you think of this content?
It was helpful
It was not helpful
I have feedback
Edit this page on GitHub
Support