iaPlan::extractFunds PHP Method

extractFunds() public method

Write funds off from member balance
public extractFunds ( array $transactionData ) : boolean
$transactionData array data about transaction
return boolean true on success
    public function extractFunds(array $transactionData)
    {
        if (!iaUsers::hasIdentity()) {
            return false;
        }
        $iaUsers = $this->iaCore->factory('users');
        $iaTransaction = $this->iaCore->factory('transaction');
        $userInfo = $iaUsers->getInfo(iaUsers::getIdentity()->id);
        $remainingBalance = $userInfo['funds'] - $transactionData['amount'];
        if ($remainingBalance >= 0) {
            $result = (bool) $iaUsers->update(array('funds' => $remainingBalance), iaDb::convertIds($userInfo['id']));
            if ($result) {
                iaUsers::reloadIdentity();
                $updatedValues = array('status' => iaTransaction::PASSED, 'gateway' => iaTransaction::TRANSACTION_MEMBER_BALANCE, 'reference_id' => date('YmdHis'), 'member_id' => iaUsers::getIdentity()->id);
                $iaTransaction->update($updatedValues, $transactionData['id']);
            }
            return $result;
        }
        return false;
    }