Skip to main content

Change Plan API

Full API docs for updating subscriptions.

Plan Change Preview

See charge amounts before changing plans.

Integration Guide

Step-by-step subscription setup.

What is a subscription upgrade or downgrade?

Changing plans lets you move a customer between subscription tiers or quantities. Use it to:
  • Align pricing with usage or features
  • Move from monthly to annual (or vice versa)
  • Adjust quantity for seat-based products
Plan changes can trigger an immediate charge depending on the proration mode you choose.

When to use plan changes

  • Upgrade when a customer needs more features, usage, or seats
  • Downgrade when usage decreases
  • Migrate users to a new product or price without cancelling their subscription

Plan Change Flow

Prerequisites

Before implementing subscription plan changes, ensure you have:
  • A Dodo Payments merchant account with active subscription products
  • API credentials (API key and webhook secret key) from the dashboard
  • An existing active subscription to modify
  • Webhook endpoint configured to handle subscription events
For detailed setup instructions, see our Integration Guide.

Step-by-Step Implementation Guide

Follow this comprehensive guide to implement subscription plan changes in your application:
1

Understand Plan Change Requirements

Before implementing, determine:
  • Which subscription products can be changed to which others
  • What proration mode fits your business model
  • How to handle failed plan changes gracefully
  • Which webhook events to track for state management
Test plan changes thoroughly in test mode before implementing in production.
2

Choose Your Proration Strategy

Select the billing approach that aligns with your business needs:
Best for: SaaS applications wanting to charge fairly for unused time
  • Calculates exact prorated amount based on remaining cycle time
  • Charges a prorated amount based on unused time remaining in the cycle
  • Provides transparent billing to customers
3

Implement the Change Plan API

Use the Change Plan API to modify subscription details:
string
आवश्यक
The ID of the active subscription to modify.
string
आवश्यक
The new product ID to change the subscription to.
integer
आवश्यक
Number of units for the new plan (for seat-based products).
string
आवश्यक
How to handle immediate billing: prorated_immediately, full_immediately, difference_immediately, or do_not_bill.
array
Optional addons for the new plan. Leaving this empty removes any existing addons.
string
Controls behavior when the plan change payment fails:
  • prevent_change: Keep subscription on current plan until payment succeeds
  • apply_change (default): Apply plan change immediately regardless of payment outcome
If not specified, uses the business-level default setting.
Subscription के saved payment method से charge करने के बजाय, payment link के माध्यम से plan-change राशि collect करें। Customer hosted checkout page पर भुगतान करता है।इसके लिए business की allow_plan_change_via_payment_link capability (Settings → Subscriptions → Collect Plan Change Payments by Payment Link), effective_at: immediately और on_payment_failure: prevent_change आवश्यक हैं। Collecting Payment via a Checkout Link देखें।Preview route द्वारा इसे अनदेखा किया जाता है।
array
नए plan पर लागू करने के लिए वैकल्पिक stacked discount codes (अधिकतम 20, array order में लागू)। व्यवहार इस बात पर निर्भर करता है कि आप क्या pass करते हैं:
  • प्रदान नहीं किया गया / nullpreserve_on_plan_change=true वाले existing discounts को नए product पर लागू होने पर सुरक्षित रखा जाता है।
  • [] (empty array) — subscription से सभी existing discounts हटा देता है।
  • ["CODE_A", "CODE_B", ...] — किसी भी existing discounts को इस stacked set से replace करता है।
string
अप्रचलित
Deprecated — नए integrations के लिए discount_codes को प्राथमिकता दें। यह field backward compatibility के लिए अभी भी काम करता है, लेकिन उसी request में इसे discount_codes के साथ combine नहीं किया जा सकता।
string
डिफ़ॉल्ट:"immediately"
Plan change कब लागू करना है:
  • immediately (default): Plan change तुरंत लागू करें
  • next_billing_date: Change को अगली billing date के लिए schedule करें। Billing period समाप्त होने तक customer अपना current plan रखता है।
Downgrades के लिए next_billing_date का उपयोग करें, ताकि billing period के अंत तक customers को अपने current plan के benefits मिलते रहें।
4

Handle Webhook Events

Plan change के परिणाम track करने के लिए webhook handling सेट अप करें:
  • subscription.active: Plan change सफल, subscription updated
  • subscription.plan_changed: Subscription plan बदला गया (upgrade/downgrade/addon update)
  • subscription.on_hold: Plan change charge विफल, renewals रोके गए
  • payment.succeeded: Plan change के लिए immediate charge सफल
  • payment.failed: Immediate charge विफल
Webhook signatures को हमेशा verify करें और idempotent event processing लागू करें।
5

Update Your Application State

Webhook events के आधार पर अपना application update करें:
  • नए plan के आधार पर features grant/revoke करें
  • नए plan के विवरण के साथ customer dashboard update करें
  • Plan changes के बारे में confirmation emails भेजें
  • Audit purposes के लिए billing changes log करें
6

Test and Monitor

अपने implementation का पूरी तरह परीक्षण करें:
  • अलग-अलग scenarios के साथ सभी proration modes का परीक्षण करें
  • Verify करें कि webhook handling सही ढंग से काम करती है
  • Plan change success rates monitor करें
  • Failed plan changes के लिए alerts सेट अप करें
आपका subscription plan change implementation अब production use के लिए तैयार है।

Plan Changes का Preview

Plan change commit करने से पहले, customers को ठीक-ठीक यह दिखाने के लिए Preview API का उपयोग करें कि उनसे कितना charge लिया जाएगा:
Customers के plan change confirm करने से पहले उन्हें exact charge दिखाने वाले confirmation dialogs बनाने के लिए Preview API का उपयोग करें।

Change Plan API

Active subscription के product, quantity और proration behavior को modify करने के लिए Change Plan API का उपयोग करें।

Quick start examples

सफल plan change तुरंत 200 OK लौटाता है — इससे पहले कि कोई charge वास्तव में settle हुआ हो। Body (ChangePlanResponse) में क्या शामिल है, यह इस बात पर निर्भर करता है कि change कैसे collect किया गया था:
हर case में यह response payment result नहीं है — केवल यह बताता है कि request स्वयं स्वीकार की गई है। इससे यह पता नहीं चलता कि immediate charge वास्तव में सफल हुआ या नहीं।Ordinary immediate charge के लिए यह outcome call के तुरंत बाद off-session resolve हो जाता है।collect_via_payment_link request के लिए यह बाद में और asynchronously resolve होता है — response आपको केवल checkout link देता है, subscription अपने current plan पर रहती है, और outcome के बारे में तब तक कुछ पता नहीं चलता जब तक customer उस link पर payment पूरा नहीं करता।किसी भी स्थिति में, इस response से outcome का अनुमान न लगाएँ। इसकी पुष्टि webhook (payment.succeeded, payment.failed, subscription.plan_changed) के माध्यम से करें या GET /subscriptions/{subscription_id} से subscription को दोबारा पढ़ें — payment-link case के लिए विशेष रूप से What Happens While the Link Is Unpaid देखें।
यदि immediate charge विफल होता है, तो payment सफल होने तक subscription subscription.on_hold पर जा सकती है।
Default रूप से, immediate plan change subscription के saved payment method से सीधे charge करता है। Customer को इसके बजाय hosted checkout page पर भेजने के लिए collect_via_payment_link: true सेट करें — यह तब उपयोगी है जब ऐसा कोई saved payment method न हो जिसे आप off-session charge कर सकें, या जब आप customer से नई price को सक्रिय रूप से confirm करवाना चाहते हों।
यही Settings → Subscriptions में मौजूद Collect Plan Change Payments by Payment Link toggle को power करता है। यह built-in Customer Portal के plan-change flow को saved card के बजाय checkout के माध्यम से route करता है।

Requirements

collect_via_payment_link: true केवल तब सफल होता है जब निम्न सभी शर्तें पूरी हों — अन्यथा request 422 के साथ विफल होती है:
  • Business में allow_plan_change_via_payment_link capability enabled हो (Settings → Subscriptions → Collect Plan Change Payments by Payment Link)।
  • effective_at, immediately हो (default)। Scheduled change (next_billing_date) को checkout page की आवश्यकता कभी नहीं होती, क्योंकि charge उसके लागू होने तक नहीं किया जाता।
  • Effective on_payment_failure, prevent_change पर resolve हो। इसे explicitly भेजना आवश्यक नहीं है — यदि आपका business-level default (नीचे Business & Collection Defaults देखें) पहले से prevent_change है, तो field को छोड़ना भी पर्याप्त है। Explicit apply_change या apply_change का resolved default, 422 के साथ विफल होता है।
collect_via_payment_link केवल upgrades तक सीमित नहीं है — यह downgrades सहित किसी भी ऐसे immediate change पर लागू होता है जिससे charge बनता है, बशर्ते ऊपर दी गई requirements पूरी हों।
यदि change का परिणाम zero या credit हो — proration_billing_mode: do_not_bill या कोई अन्य mode जो इस cycle में शून्य net करे — तो checkout page पर रखने के लिए कुछ नहीं है। कोई payment link जारी नहीं किया जाता, payment_link और अन्य fields null के रूप में लौटते हैं, और change तुरंत लागू हो जाता है, ठीक वैसे ही जैसे collect_via_payment_link के बिना होता। यह 422 नहीं है; flag केवल तब प्रभावी होता है जब collect करने के लिए positive amount हो। यदि आप स्पष्ट upgrades के बजाय सामान्य रूप से plan changes पर collect_via_payment_link सेट करते हैं, तो पहले Preview Plan Change call करें और केवल तभी link request करें जब preview की गई राशि collect करने योग्य हो।
सफल request checkout handles लौटाती है:
  • Subscription अपने current plan पर रहती है — product_id, recurring_pre_tax_amount और next_billing_date तब तक अपरिवर्तित रहते हैं जब तक link का भुगतान नहीं हो जाता।
  • Link pending रहने के दौरान उसी subscription पर किया गया अगला change-plan request 409 PendingPlanChangeExists के साथ reject हो जाता है। आवश्यकता होने पर scheduled change को DELETE /subscriptions/{subscription_id}/change-plan/scheduled से cancel करें, लेकिन वह endpoint pending payment-link change को cancel नहीं करता — केवल successful payment या expiry ऐसा करता है।
  • Decline के बाद customer उसी checkout session पर card retry कर सकता है; नया change-plan call retry का तरीका नहीं है।
  • यदि link का कभी भुगतान नहीं होता, तो expires_on के बाद वह काम करना बंद कर देता है — subscription थोड़े समय बाद नया plan-change request स्वीकार करने के लिए स्वतः उपलब्ध हो जाती है।
  • यदि कोई scheduled change (next_billing_date) पहले से मौजूद था और आप उसे cancel_scheduled_change_plan: true से replace करते हैं, तो link unpaid रहने तक original schedule बना रहता है और link का भुगतान होने पर ही cancel होता है — उसी transaction में जिसमें नया plan लागू होता है।
एक बार immediate payment-link change जारी हो जाने पर, उस subscription पर किया गया हर अगला plan-change request — side-effect-free preview सहित — link resolve होने तक blocked रहता है। ऐसा link जारी न करें जिसे आप customer से तुरंत pay करवाने का इरादा नहीं रखते।

Addons Manage करना

Subscription plans बदलते समय आप addons को भी modify कर सकते हैं:
Addons proration calculation में शामिल किए जाते हैं और selected proration mode के अनुसार charge किए जाएंगे।

Discount Codes लागू करना

Subscription plans बदलते समय आप एक या अधिक stacked discount codes लागू कर सकते हैं (अधिकतम 20, array order में लागू)। यह upgrades या migrations पर promotional pricing देने के लिए उपयोगी है।

Plan change पर discount behavior

इस endpoint का singular discount_code field deprecated है, लेकिन backward compatibility के लिए अभी भी काम करता है — existing integrations को तुरंत बदलने की आवश्यकता नहीं है। इसे उसी request में discount_codes के साथ combine नहीं किया जा सकता। सुविधा के अनुसार array form पर migrate करें।
Plan change confirm करने से पहले customers को ठीक-ठीक यह दिखाने के लिए Preview Plan Change API को discount_codes के साथ उपयोग करें कि वे कितनी बचत करेंगे।

Proration modes

Plans बदलते समय customer को bill करने का तरीका चुनें:

prorated_immediately

  • Current cycle में partial difference का charge करता है
  • Trial में होने पर तुरंत charge करता है और अभी नए plan पर switch करता है
  • Downgrade: future renewals पर लागू होने वाला prorated credit बना सकता है

full_immediately

  • नए plan की पूरी राशि तुरंत charge करता है
  • पुराने plan का बचा हुआ समय अनदेखा करता है
difference_immediately का उपयोग करके downgrades से बनाए गए credits subscription-scoped होते हैं और Credit-Based Billing entitlements से अलग होते हैं। वे उसी subscription के future renewals पर automatically लागू होते हैं और subscriptions के बीच transfer नहीं किए जा सकते।

difference_immediately

  • Upgrade: पुराने और नए plans के बीच price difference तुरंत charge करें
  • Downgrade: बची हुई value को subscription में internal credit के रूप में जोड़ें और renewals पर automatically लागू करें

do_not_bill

  • कोई charges या credits calculate नहीं किए जाते
  • Customer बिना किसी billing adjustment के तुरंत नए plan पर switch करता है
  • Billing cycle अपरिवर्तित रहता है
  • Courtesy migrations, free plan switches या cost differences absorb करने के लिए सर्वोत्तम

Example scenarios

इन canonical numbers का लगातार उपयोग करें:
  • Current plan: Basic, $30/month
  • Upgrade target: Pro, $80/month
  • Downgrade target (Pro से): Starter, $20/month
  • Billing cycle: 30 days, January 1 से शुरू
  • Plan change January 16 को होता है (15 दिन शेष, 15 दिन उपयोग किए गए)

प्रत्येक mode billing को कैसे process करता है

Fair-time accounting के लिए prorated_immediately चुनें; billing restart करने के लिए full_immediately चुनें; simple upgrades और downgrades पर automatic credit के लिए difference_immediately उपयोग करें; या बिना किसी billing adjustment के plans switch करने के लिए do_not_bill उपयोग करें।

Payment Failures को Handle करना

on_payment_failure parameter का उपयोग करके नियंत्रित करें कि plan change payment विफल होने पर क्या होता है।

Payment Failure Modes

यदि निर्दिष्ट नहीं किया गया है, तो on_payment_failure parameter dashboard में configured business-level default setting का उपयोग करता है।

प्रत्येक Mode का उपयोग कब करें

Business और Collection Defaults

हर plan change पर proration parameters pass करने के बजाय, business level पर default upgrade & downgrade behavior एक बार set कर सकते हैं। ये defaults सभी customer-portal plan changes पर लागू होते हैं और per product collection override किए जा सकते हैं। Upgrades और downgrades के लिए अलग-अलग defaults होते हैं: Business defaults को Settings → Subscriptions में और collection overrides को प्रत्येक product collection पर configure करें। प्रत्येक collection field independent है — इसे unset छोड़ने पर यह business default से inherit करता है, या केवल उस collection के लिए override करने हेतु कोई value set करें।

Resolution order

किसी भी plan change के लिए प्रत्येक setting इस order में resolve होती है:
Change Plan API को explicitly pass की गई value हमेशा प्राथमिकता पाती है। Business और collection defaults तभी प्रभावी होते हैं जब कोई explicit value supply न की गई हो — customer portal से शुरू किए गए सभी plan changes में यही स्थिति होती है।
एक सामान्य setup यह है: upgrades को immediately + difference_immediately रखें, ताकि customers difference का payment करें और तुरंत access पाएं; तथा downgrades को next_billing_date पर रखें, ताकि cycle समाप्त होने तक customers अपना current plan बनाए रखें।

Webhooks Handle करना

Plan changes और payments की पुष्टि करने के लिए webhooks के माध्यम से subscription state track करें।

Handle करने योग्य Event types

  • subscription.active: subscription activated
  • subscription.plan_changed: subscription plan changed (upgrade/downgrade/addon changes)
  • subscription.on_hold: charge failed, renewals stopped
  • subscription.renewed: renewal succeeded
  • payment.succeeded: plan change या renewal का payment succeeded
  • payment.failed: payment failed
हम business logic को subscription events से drive करने और confirmation तथा reconciliation के लिए payment events का उपयोग करने की सलाह देते हैं।

Signatures verify करें और intents handle करें

विस्तृत payload schemas के लिए Subscription webhook payloads और Payment webhook payloads देखें।

Best Practices

Reliable subscription plan changes के लिए इन recommendations का पालन करें:

Plan Change Strategy

  • Thoroughly test करें: Production से पहले test mode में plan changes का हमेशा परीक्षण करें
  • Proration सावधानी से चुनें: अपने business model के अनुरूप proration mode चुनें
  • Failures को gracefully handle करें: उचित error handling और retry logic लागू करें
  • Success rates monitor करें: Plan change success/failure rates track करें और issues की जांच करें

Webhook Implementation

  • Signatures verify करें: Authenticity सुनिश्चित करने के लिए webhook signatures को हमेशा validate करें
  • Idempotency लागू करें: Duplicate webhook events को gracefully handle करें
  • Asynchronously process करें: Heavy operations से webhook responses को block न करें
  • सब कुछ log करें: Debugging और audit purposes के लिए detailed logs रखें

User Experience

  • स्पष्ट रूप से communicate करें: Customers को billing changes और timing के बारे में बताएं
  • Confirmations प्रदान करें: सफल plan changes के लिए email confirmations भेजें
  • Edge cases handle करें: Trial periods, prorations और failed payments पर विचार करें
  • UI तुरंत update करें: अपने application interface में plan changes दिखाएं

Common Issues और Solutions

Subscription plan changes के दौरान आने वाली सामान्य समस्याओं का समाधान करें:
Symptoms: API call सफल होती है, लेकिन subscription पुराने plan पर बनी रहती हैCommon causes:
  • Webhook processing विफल या delayed था
  • Webhooks प्राप्त होने के बाद application state update नहीं हुआ
  • State update के दौरान database transaction issues
Solutions:
  • Retry logic के साथ robust webhook handling लागू करें
  • State updates के लिए idempotent operations का उपयोग करें
  • Missed webhook events detect और alert करने के लिए monitoring जोड़ें
  • Verify करें कि webhook endpoint accessible है और सही ढंग से respond कर रहा है
Symptoms: Customer downgrade करता है, लेकिन credit balance दिखाई नहीं देताCommon causes:
  • Proration mode की अपेक्षाएं: difference_immediately के साथ downgrades full plan price difference को credit करते हैं, जबकि prorated_immediately cycle में बचे समय के आधार पर prorated credit बनाता है
  • Credits subscription-specific होते हैं और subscriptions के बीच transfer नहीं होते
  • Customer dashboard में credit balance दिखाई नहीं देता
Solutions:
  • Automatic credits चाहने पर downgrades के लिए difference_immediately का उपयोग करें
  • Customers को समझाएं कि credits उसी subscription के future renewals पर लागू होते हैं
  • Credit balances दिखाने के लिए customer portal लागू करें
  • Applied credits देखने के लिए next invoice preview check करें
Symptoms: Invalid signature के कारण webhook events reject हो जाते हैंCommon causes:
  • Incorrect webhook secret key
  • Signature verification से पहले raw request body modify की गई
  • गलत signature verification algorithm
Solutions:
  • Verify करें कि dashboard से सही DODO_WEBHOOK_SECRET उपयोग कर रहे हैं
  • किसी भी JSON parsing middleware से पहले raw request body पढ़ें
  • अपने platform के लिए standard webhook verification library का उपयोग करें
  • Development environment में webhook signature verification का परीक्षण करें
Symptoms: API 422 Unprocessable Entity error लौटाती हैCommon causes:
  • Invalid subscription ID या product ID
  • Subscription active state में नहीं है
  • Required parameters missing हैं
  • Product plan changes के लिए उपलब्ध नहीं है
Solutions:
  • Verify करें कि subscription मौजूद और active है
  • Check करें कि product ID valid और available है
  • सुनिश्चित करें कि सभी required parameters दिए गए हैं
  • Parameter requirements के लिए API documentation देखें
Symptoms: Plan change शुरू किया गया, लेकिन immediate charge विफल हो गयाCommon causes:
  • Customer के payment method में insufficient funds
  • Payment method expired या invalid है
  • Bank ने transaction decline कर दिया
  • Fraud detection ने charge block कर दिया
Solutions:
  • payment.failed webhook events को उचित ढंग से handle करें
  • Customer को payment method update करने के लिए notify करें
  • Temporary failures के लिए retry logic लागू करें
  • Failed immediate charges के साथ plan changes allow करने पर विचार करें
Symptoms: Plan change charge विफल होता है और subscription on_hold state में चली जाती हैWhat happens: जब plan change charge विफल होता है, तो subscription automatically on_hold state में चली जाती है। Payment method update होने तक subscription automatically renew नहीं होगी।Solution: Subscription को reactivate करने के लिए payment method update करेंFailed plan change के बाद subscription को on_hold state से reactivate करने के लिए:
  1. Payment method update करें: Update Payment Method API का उपयोग करें
  2. Automatic charge creation: API remaining dues के लिए automatically charge बनाती है
  3. Invoice generation: Charge के लिए invoice generate की जाती है
  4. Payment processing: नए payment method का उपयोग करके payment process किया जाता है
  5. Reactivation: Successful payment के बाद subscription active state में reactivate हो जाती है
Monitor करने योग्य Webhook events:
  • subscription.on_hold: Subscription hold पर रखी गई (plan change charge विफल होने पर प्राप्त)
  • payment.succeeded: Remaining dues का payment सफल (payment method update करने के बाद)
  • subscription.active: Successful payment के बाद subscription reactivated
Best practices:
  • Plan change charge विफल होने पर customers को तुरंत notify करें
  • Payment method update करने का स्पष्ट तरीका बताएं
  • Reactivation status track करने के लिए webhook events monitor करें
  • Temporary payment failures के लिए automatic retry logic लागू करने पर विचार करें

Update Payment Method API Reference

Payment methods update करने और subscriptions reactivate करने के लिए complete API documentation देखें।

अपने Implementation का परीक्षण

अपने subscription plan change implementation का पूरी तरह परीक्षण करने के लिए इन steps का पालन करें:
1

Set up test environment

  • Test API keys और test products का उपयोग करें
  • अलग-अलग plan types वाली test subscriptions बनाएं
  • Test webhook endpoint configure करें
  • Monitoring और logging सेट अप करें
2

Test different proration modes

  • विभिन्न billing cycle positions के साथ prorated_immediately का परीक्षण करें
  • Upgrades और downgrades के लिए difference_immediately का परीक्षण करें
  • Billing cycles reset करने के लिए full_immediately का परीक्षण करें
  • No-charge/no-credit plan switches के लिए do_not_bill का परीक्षण करें
  • Verify करें कि credit calculations सही हैं
3

Test webhook handling

  • Verify करें कि सभी relevant webhook events प्राप्त हो रहे हैं
  • Webhook signature verification का परीक्षण करें
  • Duplicate webhook events को gracefully handle करें
  • Webhook processing failure scenarios का परीक्षण करें
4

Test error scenarios

  • Invalid subscription IDs के साथ परीक्षण करें
  • Expired payment methods के साथ परीक्षण करें
  • Network failures और timeouts का परीक्षण करें
  • Insufficient funds के साथ परीक्षण करें
5

Monitor in production

  • Failed plan changes के लिए alerts सेट अप करें
  • Webhook processing times monitor करें
  • Plan change success rates track करें
  • Plan change issues के लिए customer support tickets review करें

Error Handling

अपने implementation में common API errors को gracefully handle करें:

HTTP Status Codes

Plan change request successfully process हुई। Successful collect_via_payment_link request को छोड़कर response body empty होती है; ऐसी request checkout handles लौटाती है — Collecting Payment via a Checkout Link देखें। यदि on_payment_failure=prevent_change है, तो payment सफल होने तक plan change pending रहती है।
Invalid request parameters। Check करें कि सभी required fields दिए गए हैं और सही format में हैं।
API key invalid या missing है। Verify करें कि आपका DODO_PAYMENTS_API_KEY सही है और उसके पास उचित permissions हैं।
Subscription ID नहीं मिली या आपके account से संबंधित नहीं है।
इस subscription के लिए pending plan change पहले से मौजूद है (PendingPlanChangeExists)। Scheduled change के लिए नया change submit करने से पहले इसे DELETE /subscriptions/{subscription_id}/change-plan/scheduled से cancel करें। Pending payment-link change के लिए कोई cancel endpoint नहीं है — customer के payment करने या link expire होने के बाद subscription नया plan-change request स्वीकार करती है।
Subscription inactive या on-demand है, या request collect_via_payment_link के लिए eligible नहीं है — business में capability enabled नहीं है, effective_at immediately नहीं है, या on_payment_failure prevent_change नहीं है। Requirements देखें।
Server error हुआ। थोड़ी देर बाद request retry करें।

Error Response Format

Next steps

अंतिम संशोधन 26 अगस्त 2026