public static function YM_transaction_o()
 {
     $value = $_GET['value'];
     $usr = usr::getCurrentUser(1);
     if ($usr == null) {
         header('Location: /');
         exit;
     }
     $purseList = Purse::findBy(array('UID' => $usr->getId(), 'CurId' => 4));
     if (empty($purseList)) {
         header('Location: /usr/mypage?err=1');
         exit;
     }
     $purse = $purseList[0];
     $to = $_GET['yar_path'];
     if ($purse['Value'] < $value) {
         header('Location: /usr/mypage?err=1');
         exit;
     }
     if ($purse['out_id'] == '') {
         $await = new AtYm();
         $await->setUID($usr->getId());
         $await->setWallet($to);
         $await->insert();
         header('Location: /usr/mypage?err=4');
         exit;
     }
     $prs = new Purse();
     $newValue = $purse['Value'];
     //- $value;
     $prs->setId($purse['id']);
     $prs->update(array('value' => $newValue));
     $ym = new YandexMoney(YM_OUT_ACCESSTOKEN);
     $resp = $ym->requestPaymentP2P($purse['out_id'], $to, $value);
     if (!$resp->isSuccess()) {
         header('Location: /usr/mypage?err=2');
         exit;
     }
     $requestId = $resp->getRequestId();
     $resp = $ym->processPaymentByWallet($purse['out_id'], $requestId);
     if (!$resp->isSuccess()) {
         header('Location: /usr/mypage?err=3');
         exit;
     }
     header('Location: /usr/mypage?err=0');
     exit;
 }