Confirm the renewal key of a Tempo subscription
shop.subscription.confirm_pullConfirms a Tempo subscription pull setup by submitting the paying wallet's authorization transaction hash, so the merchant can renew periods using its authorized renewal key.
Instructions
Tempo subscription of a merchant that runs its own renewal key: shop.subscription.get then carries pull_setup {key_id, token, limit, expiry, how}. Authorize that key address from the paying account (viem/tempo accessKey.authorize with expiry and limits [{token, amount: limit}], key address = pull_setup.key_id), then call this with the authorize tx_hash. The platform reads the keychain: the key must be authorized by the paying wallet, not revoked, not expired, and its remaining USDC limit must cover one period (400 keychain_not_authorized | keychain_expired | keychain_limit_too_low). On success pull_mode = tempo_keychain: the merchant renews each period with its key and pays the gas; you never sign again. Cancel with shop.subscription.cancel (the merchant then has nothing to pull) or revoke the key yourself with accessKey.revoke. Active or past_due, Tempo only; another identity's subscription is 404.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tx_hash | Yes | ||
| subscription_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | ||
| status | Yes | ||
| period_no | Yes | ||
| pull_mode | Yes | ||
| pull_setup | No | ||
| canceled_at | No | ||
| max_periods | Yes | ||
| renewal_key | No | ||
| access_until | No | ||
| status_reason | Yes | ||
| next_charge_at | Yes | ||
| subscription_id | Yes | ||
| current_period_end | Yes |