I'm testing this App Store Server API in the sandbox environment and it seems like this API cannot be properly tested there. https://developer.apple.com/documentation/appstoreserverapi/extend_a_subscription_renewal_date
I can only call this API on an active subscription, but the effectiveDate in ExtendRenewalDateResponse is the same value as the subscription's original expiry date and is not extended at all by the extendByDays I specified in the API request. Also the subscription doesn't renew after it expires, so even if the call to the subscription extension API appeared to have succeeded it has no actual effect.
I suppose this is not the intended behavior and expect that the production environment to behave differently.
Is the expiresDate in the current subscription supposed to be extended after this API call? Or would it remain the same and the extended part of the subscription become a separate transaction after expiresDate?
Thank you for reaching out, I'm making some assumptions based on the timing of your post, but here is what I believed happened.
To your first point, about the API having no effect. Due to the way that Sandbox scaling works, when converting the number of days to minutes to extend the subscription, two of your three requests resulted in rounding to 0 minutes. However your middle request was successful in increasing the renewal time by 1 minute. Please file a ticket in Feedback Assistant and post the FB number here if you would like more information.
To your second point, for your final request your subscription had hit its renewal limit in Sandbox, therefore it did not renew. Again looking at your second request of three, it did renew after that request for several more times, and if you fetch the transaction history https://developer.apple.com/documentation/appstoreserverapi/get_transaction_history, you should be able to see this in effect. Again, please feel free to file a ticket in Feedback assistant for more specifics.