public function responseBniEcollection($response, $clientId, $secretKey) { if (v::json()->validate($response) === false) { throw new BillingException('Format response from bni ecollection is invalid'); } $responseArray = json_decode($response, true); if ($responseArray['status'] != '000') { throw new BillingException($responseArray['message']); } $decryptData = DclHashing::parseData($responseArray['data'], $clientId, $secretKey); if ($decryptData == null) { throw new BillingException('Failed decrypt response from bni ecollection'); } return json_encode(['status' => true, 'data' => $decryptData]); }
/** * Set the value of Request * * @return self */ public function setRequest() { $requestArray = ["client_id" => $this->getClientId(), "trx_amount" => $this->getTrxAmount(), "customer_name" => $this->getCustomerName(), "customer_email" => $this->getCustomerEmail(), "customer_phone" => $this->getCustomerPhone(), "virtual_account" => $this->getVirtualAccount(), "trx_id" => $this->getTrxId(), "datetime_expired" => $this->getDateTimeExpired(), "description" => $this->getDescription(), "type" => $this->getTypeTransaction(), "billing_type" => $this->getBillingType()]; $requestHash = DclHashing::hashData($requestArray, $this->getClientId(), $this->getSecretKey()); if (is_null($requestHash)) { throw new BillingException("Hashing data is fail"); } $this->request = json_encode(['client_id' => $this->getClientId(), 'data' => $requestHash]); return $this; }