コード例 #1
0
 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;
 }
コード例 #2
0
 /**
  * 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();
     */
 }