public function doCreditCheck(Tritac_CapayableApiClient_Models_CreditCheckRequest $request) { $args = $request->toArray(); if (!$request->getIsCorporation()) { unset($args['CocNumber']); unset($args['CorporationName']); unset($args['IsSoleProprietor']); } $path = self::VERSION_PATH . self::CREDITCHECK_PATH; $response = json_decode($this->makeRequest(Tritac_CapayableApiClient_Enums_HttpMethod::GET, $path, $this->buildQueryString($args, $path)), true); $creditCheckResponse = new Tritac_CapayableApiClient_Models_CreditCheckResponse(); if ($response['IsAccepted']) { $creditCheckResponse->setAccepted($response['TransactionNumber']); } else { $creditCheckResponse->setRefused($response['RefuseReason'], $response['RefuseContactName'], $response['RefuseContactPhoneNumber']); } return $creditCheckResponse; }
/** * Customer credit check with Capayable. * Can take quote or order object. * * @param Tritac_Capayable_Model_Customer $_customer * @param float $amount * @param bool $isFinal * @return bool|Tritac_CapayableApiClient_Models_CreditCheckResponse */ public function checkCredit(Tritac_Capayable_Model_Customer $_customer, $amount, $isFinal = false) { /** * Initialize new request model and fill all requested fields */ $req = new Tritac_CapayableApiClient_Models_CreditCheckRequest(); $req->setLastName($_customer->getCustomerLastname()); $req->setInitials($_customer->getCustomerMiddlename()); $gender = Tritac_CapayableApiClient_Enums_Gender::UNKNOWN; if ($_customer->getCustomerGender() == 1) { $gender = Tritac_CapayableApiClient_Enums_Gender::MALE; } elseif ($_customer->getCustomerGender() == 2) { $gender = Tritac_CapayableApiClient_Enums_Gender::FEMALE; } $req->setGender($gender); $req->setBirthDate($_customer->getCustomerDob()); $req->setStreetName($_customer->getStreet()); $req->setHouseNumber($_customer->getHouseNumber()); $req->setHouseNumberSuffix($_customer->getHouseSuffix()); $req->setZipCode($_customer->getPostcode()); $req->setCity($_customer->getCity()); $req->setCountryCode($_customer->getCountryId()); $req->setPhoneNumber($_customer->getTelephone()); $req->setFaxNumber($_customer->getFax()); $req->setEmailAddress($_customer->getCustomerEmail()); $req->setIsCorporation((bool) $_customer->getIsCorporation()); $req->setCorporationName($_customer->getCorporationName()); $req->setCocNumber($_customer->getCocNumber()); // Set to true in case of a small business / freelancer / independent contractor etc (zzp/eenmanszaak) $req->setIsSoleProprietor((bool) $_customer->getIsSoleProprietor()); $req->setIsFinal($isFinal); $req->setClaimAmount($amount); $result = $this->_client->doCreditCheck($req); Mage::log('001: CreditCheck: ' . ($result->getIsAccepted() ? 'ACCEPTED' : 'REJECTED: (' . Tritac_CapayableApiClient_Enums_RefuseReason::toString($result->getRefuseReason()) . ')') . "\r\n"); return $result; /** * If request is final return result array which contain transaction id. */ /* if($isFinal) { return $result; } return $result->getIsAccepted(); */ }