Lightning invoices and their associated paymentHash typically expire within 10 minutes. If payment is not detected within this window, the polling script will timeout, and you must generate a new subscription request.
WireGuard Keys
In the examples above, we leave wgPublicKey empty in the /claim request. This tells the TunnelSats server to generate a fresh keypair for you. If you prefer to use your own keys, include your Public Key (Base64) in the request body.
Case Sensitivity Reality
Status/Create/Renew: Use camelCase (e.g., paymentHash, subscriptionEnd).
Subscription List: Uses snake_case (e.g., payment_hash, subscription_end). Always verify your JSON keys against the endpoint documentation.