This is already a TODO in the code:

function commerce_license_billing_change_plan($license, $product_id) {
  if ($license->wrapper->product->cl_billing_type->value() == 'prepaid') {
    // We don't support changing plans for prepaid products for now.
    return;
  }

Apart from using it as the default for plan changes of prepaid products, we also need to allow it for plan changes of postpaid products, and we need to allow a usage group plugin to force this behavior to be ON (because it can't split-charge the usage consumed).

CommentFileSizeAuthor
#1 2141281-1-postpone-plan-changes.patch8.72 KBbojanz

Comments

bojanz’s picture

StatusFileSize
new8.72 KB

Initial thoughts. Very incomplete, possibly wrong.

bojanz’s picture

Status: Active » Fixed

All done in the latest few commits (API, usage groups API extension, per product settings via field).

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.