Get top-up link status
Poll after handing out a link, every 30–60 seconds. Scoped to the calling account: another account’s id returns 404.
Stop polling when status is CREDITED (the wallet moved), EXPIRED or MISMATCH (the link is dead; mint a new one — for MISMATCH contact support with the payment_order_id), or once expires_at has passed (the status flips to EXPIRED on an hourly sweep, so it can lag expires_at by up to an hour). Keep polling on CREATED, ATTEMPTED and FAILED; FAILED is not final, the payer can retry on the same link.
The credit is applied by Razorpay’s webhook, usually within seconds of payment; an hourly reconciliation job covers a missed webhook, so a paid link can take up to about an hour to show CREDITED.