public function add($order, $value = null)
 {
     //Get valid coupon for this order
     $code = Convert::raw2sql($order->CouponCode);
     $date = date('Y-m-d');
     $coupon = Coupon::get()->where("\"Code\" = '{$code}' AND \"Expiry\" >= '{$date}'")->first();
     if ($coupon && $coupon->exists()) {
         //Generate the Modification
         $mod = new CouponModification();
         $mod->Price = $coupon->Amount($order)->getAmount();
         $mod->Currency = $coupon->Currency;
         $mod->Description = $coupon->Label();
         $mod->OrderID = $order->ID;
         $mod->Value = $coupon->ID;
         $mod->CouponID = $coupon->ID;
         $mod->write();
     }
 }
 function checkcoupon($request)
 {
     $data = array('errorMessage' => null);
     $code = Convert::raw2sql($request->postVar('CouponCode'));
     $date = date('Y-m-d');
     $coupon = Coupon::get()->where("\"Code\" = '{$code}' AND \"Expiry\" >= '{$date}'")->first();
     if (!$coupon || !$coupon->exists()) {
         $data['errorMessage'] = 'Coupon is invalid or expired.';
     }
     return json_encode($data);
 }