You are here

function commerce_coupon_rollback_order_transactions in Commerce Coupon 7.2

Rollback coupon-related transactions found within an order.

Parameters

object $order: An order entity.

bool $save: Whether or not to save the order.

2 calls to commerce_coupon_rollback_order_transactions()
commerce_coupon_commerce_checkout_router in ./commerce_coupon.module
Implements hook_commerce_checkout_router().
commerce_coupon_form_commerce_checkout_form_alter in ./commerce_coupon.module
Implements hook_form_FORM_ID_alter().

File

./commerce_coupon.module, line 1359
Provides coupon functionality for Drupal Commerce.

Code

function commerce_coupon_rollback_order_transactions($order, $save = FALSE) {
  foreach (module_implements('commerce_coupon_final_checkout_transaction_rollback') as $module) {
    if (!empty($order->data['coupon_transaction_ids'][$module])) {
      foreach ($order->data['coupon_transaction_ids'][$module] as $key => $transaction_id) {

        // Hand off the rollback to each module's hook implementation.
        module_invoke($module, 'commerce_coupon_final_checkout_transaction_rollback', $transaction_id);
        unset($order->data['coupon_transaction_ids'][$module][$key]);
      }
      if ($save) {
        commerce_order_save($order);
      }
    }
  }
}