You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The number of license activation supported by the license. E.g. when the value is 1, the premium license can only be activated on single site.
Based on the above, I made a call as follows:
Method: PUT
Path: /plugins/123/plans/456/pricing/789.json
Body: {"annual_price":"10"}'
Expected result: the annual price for pricing 789 would be changed to 10. Actual result:
'error' =>
object(stdClass)[4452]
public 'type' => string 'ObjectExist' (length=11)
public 'message' => string 'There's already another pricing configured for installs license.' (length=65)
public 'code' => string 'pricing_exist' (length=13)
public 'http' => int 401
Notice that the message says "There's already another pricing configured for installs license". There are two spaces between "for" and "installs", which leads me to think that the response was generated by a sprintf() call which tried to embed the "licenses" argument (not passed with the call) into the message.
Hypothesis about the cause, and possible solution
The "PUT" call should update the attributes of the pricing, based on the ID. It should not try to create another pricing. My speculation is that the "licenses" argument is being used to identify the pricing together with the ID. That could make sense with a POST call, to avoid creating a duplicate pricing, but the PUT call should only use the pricing ID, as it's unique.
The text was updated successfully, but these errors were encountered:
The documentation (https://freemius.docs.apiary.io/#reference/pricing/plans-pricing/update-pricing) indicates the following:
Request Body JSON Data
Based on the above, I made a call as follows:
Expected result: the annual price for pricing 789 would be changed to 10.
Actual result:
Notice that the message says "There's already another pricing configured for installs license". There are two spaces between "for" and "installs", which leads me to think that the response was generated by a
sprintf()
call which tried to embed the "licenses" argument (not passed with the call) into the message.Hypothesis about the cause, and possible solution
The "PUT" call should update the attributes of the pricing, based on the ID. It should not try to create another pricing. My speculation is that the "licenses" argument is being used to identify the pricing together with the ID. That could make sense with a POST call, to avoid creating a duplicate pricing, but the PUT call should only use the pricing ID, as it's unique.
The text was updated successfully, but these errors were encountered: