JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbrstatus, self::$PAID_STATUS); } /** * Check if the transacton was refunded. Status must include refunded. * * @return boolean */ public function wasRefunded() { return strpos($this->status, 'refunded') !== false; } /** * Check if the transacton was partially refunded. Status must include partially_refunded. * * @return boolean */ public function wasPartiallyRefunded() { return strpos($this->status, 'partially_refunded') !== false; } /** * Generate a payment token and url * @return FedaPay\FedaPayObject */ public function generateToken($params = [], $headers = []) { $url = $this->instanceUrl() . '/token'; list($response, $opts) = static::_staticRequest('post', $url, $params, $headers); return Util::arrayToFedaPayObject($response, $opts); } /** * Send Mobile Money request with token * @param string $mode * @param string $token * @param array $params * @param array $headers * * @return FedaPay\FedaPayObject */ public function sendNowWithToken($mode, $token, $params = [], $headers = []) { static::mobileMoneyModeAvailable($mode); $url = '/' . $mode; $params = array_merge(['token' => $token], $params); list($response, $opts) = static::_staticRequest('post', $url, $params, $headers); return Util::arrayToFedaPayObject($response, $opts); } /** * Return transaction receipt URL * @param array $force * @param array $params * @param array $headers * * @return string */ public function getReceiptURL($force = false, $params = [], $headers = []) { $receipt_url = $this->receipt_url; if (is_null($receipt_url) || $force) { $url = $this->instanceUrl() . '/receipt_url'; // Force Api to generate url if ($force) { $params['force'] = true; } list($response, $opts) = static::_staticRequest('post', $url, $params, $headers); $urlObject = Util::arrayToFedaPayObject($response, $opts); $receipt_url = $urlObject->url; } return $receipt_url; } /** * Send Mobile Money request * @param string $mode * @param array $params * @param array $headers * * @return FedaPay\FedaPayObject */ public function sendNow($mode, $params = [], $headers = []) { $tokenObject = $this->generateToken([], $headers); return $this->sendNowWithToken($mode, $tokenObject->token, $params, $headers); } /** * Get transactions fees details * @param string $token * @param string $mode * @param array $params * @param array $headers * * @return FedaPay\FedaPayObject */ public function getFees($token, $mode, $params = [], $headers = []) { $url = static::classPath() . '/fees'; $params = array_merge(['token' => $token, 'mode' => $mode], $params); list($response, $opts) = static::_staticRequest('get', $url, $params, $headers); return Util::arrayToFedaPayObject($response, $opts); } }