iaPlan::prePayment PHP Method

prePayment() public method

Payment pre-processing actions
public prePayment ( $itemName, $itemData, $planId, string $returnUrl = IA_URL ) : boolean | string
$itemName item name
$itemData current item data, id field is mandatory
$planId plan id to be paid for
$returnUrl string post payment return url
return boolean | string
    public function prePayment($itemName, $itemData, $planId, $returnUrl = IA_URL)
    {
        if (!$planId || !isset($this->_plans[$planId])) {
            return $returnUrl;
        }
        if (empty($itemData)) {
            return false;
        }
        $cost = $this->_plans[$planId]['cost'];
        if ('members' != $itemName && !empty($itemData[self::SPONSORED])) {
            /*
            $rdbmsDate = $this->iaDb->one('CURDATE()');
            $daysLeft = strtotime($itemData[self::SPONSORED_DATE_END]) - strtotime($rdbmsDate);
            $daysLeft = $daysLeft > 0 ? $daysLeft / 86400 : 0;
            $cost -= round($daysLeft * ($itemData['cost'] / $itemData['days']), 2);
            */
        }
        $iaTransaction = $this->iaCore->factory('transaction');
        $paymentId = $iaTransaction->create(null, $cost, $itemName, $itemData, $returnUrl, $planId, true);
        return IA_URL . 'pay' . IA_URL_DELIMITER . $paymentId . IA_URL_DELIMITER;
    }