You are here

function commerce_coupon_usage_commerce_coupon_final_checkout_validate in Commerce Coupon 7.2

Implements hook_commerce_coupon_final_checkout_validate().

File

modules/usage/commerce_coupon_usage.module, line 154

Code

function commerce_coupon_usage_commerce_coupon_final_checkout_validate($form, $form_state, EntityDrupalWrapper $order_wrapper) {
  if (!commerce_coupon_order_allows_coupons($order_wrapper
    ->value())) {
    return;
  }
  $transaction_ids = array();
  foreach ($order_wrapper->commerce_coupons as $coupon_wrapper) {

    // Attempt to use the coupon.
    $usage_id = commerce_coupon_usage_transaction_write($coupon_wrapper->coupon_id
      ->value(), $order_wrapper->order_id
      ->value());
    if ($usage_id) {
      $transaction_ids[] = $usage_id;
    }
    else {
      form_set_error('', t('Unable to process payment. Please try again.'));
      return FALSE;
    }
  }
  return $transaction_ids;
}