public function init($arr = null)
 {
     if ($arr != null) {
         foreach ($arr as $arry) {
             if ($arry != null && isset($arry['text']) && $arry['name'] == 'creditcardtype') {
                 $this->CreditCardType = $arry["text"];
             }
             if ($arry != null && isset($arry['text']) && $arry['name'] == 'creditcardnumber') {
                 $this->CreditCardNumber = $arry["text"];
             }
             if ($arry != null && isset($arry['text']) && $arry['name'] == 'expmonth') {
                 $this->ExpMonth = $arry["text"];
             }
             if ($arry != null && isset($arry['text']) && $arry['name'] == 'expyear') {
                 $this->ExpYear = $arry["text"];
             }
             if (is_array($arry["children"]) && $arry["children"] != null) {
                 if ($arry["name"] == 'cardowner') {
                     $this->CardOwner = new PayerInfoType();
                     $this->CardOwner->init($arry["children"]);
                 }
             }
             if ($arry != null && isset($arry['text']) && $arry['name'] == 'cvv2') {
                 $this->CVV2 = $arry["text"];
             }
             if ($arry != null && isset($arry['text']) && $arry['name'] == 'startmonth') {
                 $this->StartMonth = $arry["text"];
             }
             if ($arry != null && isset($arry['text']) && $arry['name'] == 'startyear') {
                 $this->StartYear = $arry["text"];
             }
             if ($arry != null && isset($arry['text']) && $arry['name'] == 'issuenumber') {
                 $this->IssueNumber = $arry["text"];
             }
             if (is_array($arry["children"]) && $arry["children"] != null) {
                 if ($arry["name"] == 'threedsecurerequest') {
                     $this->ThreeDSecureRequest = new ThreeDSecureRequestType();
                     $this->ThreeDSecureRequest->init($arry["children"]);
                 }
             }
         }
     }
 }