/**
  *
  * @return Ajde_Shop_Transaction_Provider
  */
 public function getProvider()
 {
     return Ajde_Shop_Transaction_Provider::getProvider($this->payment_provider, $this);
 }
 public function callback()
 {
     $providerName = $this->getId();
     $provider = Ajde_Shop_Transaction_Provider::getProvider($providerName);
     $status = $provider->updatePayment();
     if ($status['success'] === true) {
         $transaction = $status['transaction'];
         if (isset($transaction)) {
             $this->mailUser($transaction);
             $this->mailUpdateAdmin($transaction, 'Order completed');
         }
         $this->redirect('shop/transaction:complete');
     } else {
         $transaction = $status['transaction'];
         if (isset($transaction)) {
             $this->mailUpdateAdmin($transaction, 'Order refused');
         }
         $this->redirect('shop/transaction:refused');
     }
 }
 public function callback()
 {
     $providerName = $this->getId();
     $provider = Ajde_Shop_Transaction_Provider::getProvider($providerName);
     if ($provider->updatePayment()) {
         $this->redirect('shop/transaction:complete');
     } else {
         $this->redirect('shop/transaction:refused');
     }
 }