public function toXMLString()
 {
     $str = '';
     if ($this->OrderTotal != null) {
         $str .= '<ebl:OrderTotal';
         $str .= $this->OrderTotal->toXMLString();
         $str .= '</ebl:OrderTotal>';
     }
     if ($this->ReturnURL != null) {
         $str .= '<ebl:ReturnURL>' . PPUtils::escapeInvalidXmlCharsRegex($this->ReturnURL) . '</ebl:ReturnURL>';
     }
     if ($this->CancelURL != null) {
         $str .= '<ebl:CancelURL>' . PPUtils::escapeInvalidXmlCharsRegex($this->CancelURL) . '</ebl:CancelURL>';
     }
     if ($this->TrackingImageURL != null) {
         $str .= '<ebl:TrackingImageURL>' . PPUtils::escapeInvalidXmlCharsRegex($this->TrackingImageURL) . '</ebl:TrackingImageURL>';
     }
     if ($this->giropaySuccessURL != null) {
         $str .= '<ebl:giropaySuccessURL>' . PPUtils::escapeInvalidXmlCharsRegex($this->giropaySuccessURL) . '</ebl:giropaySuccessURL>';
     }
     if ($this->giropayCancelURL != null) {
         $str .= '<ebl:giropayCancelURL>' . PPUtils::escapeInvalidXmlCharsRegex($this->giropayCancelURL) . '</ebl:giropayCancelURL>';
     }
     if ($this->BanktxnPendingURL != null) {
         $str .= '<ebl:BanktxnPendingURL>' . PPUtils::escapeInvalidXmlCharsRegex($this->BanktxnPendingURL) . '</ebl:BanktxnPendingURL>';
     }
     if ($this->Token != null) {
         $str .= '<ebl:Token>' . PPUtils::escapeInvalidXmlCharsRegex($this->Token) . '</ebl:Token>';
     }
     if ($this->MaxAmount != null) {
         $str .= '<ebl:MaxAmount';
         $str .= $this->MaxAmount->toXMLString();
         $str .= '</ebl:MaxAmount>';
     }
     if ($this->OrderDescription != null) {
         $str .= '<ebl:OrderDescription>' . PPUtils::escapeInvalidXmlCharsRegex($this->OrderDescription) . '</ebl:OrderDescription>';
     }
     if ($this->Custom != null) {
         $str .= '<ebl:Custom>' . PPUtils::escapeInvalidXmlCharsRegex($this->Custom) . '</ebl:Custom>';
     }
     if ($this->InvoiceID != null) {
         $str .= '<ebl:InvoiceID>' . PPUtils::escapeInvalidXmlCharsRegex($this->InvoiceID) . '</ebl:InvoiceID>';
     }
     if ($this->ReqConfirmShipping != null) {
         $str .= '<ebl:ReqConfirmShipping>' . PPUtils::escapeInvalidXmlCharsRegex($this->ReqConfirmShipping) . '</ebl:ReqConfirmShipping>';
     }
     if ($this->ReqBillingAddress != null) {
         $str .= '<ebl:ReqBillingAddress>' . PPUtils::escapeInvalidXmlCharsRegex($this->ReqBillingAddress) . '</ebl:ReqBillingAddress>';
     }
     if ($this->BillingAddress != null) {
         $str .= '<ebl:BillingAddress>';
         $str .= $this->BillingAddress->toXMLString();
         $str .= '</ebl:BillingAddress>';
     }
     if ($this->NoShipping != null) {
         $str .= '<ebl:NoShipping>' . PPUtils::escapeInvalidXmlCharsRegex($this->NoShipping) . '</ebl:NoShipping>';
     }
     if ($this->AddressOverride != null) {
         $str .= '<ebl:AddressOverride>' . PPUtils::escapeInvalidXmlCharsRegex($this->AddressOverride) . '</ebl:AddressOverride>';
     }
     if ($this->LocaleCode != null) {
         $str .= '<ebl:LocaleCode>' . PPUtils::escapeInvalidXmlCharsRegex($this->LocaleCode) . '</ebl:LocaleCode>';
     }
     if ($this->PageStyle != null) {
         $str .= '<ebl:PageStyle>' . PPUtils::escapeInvalidXmlCharsRegex($this->PageStyle) . '</ebl:PageStyle>';
     }
     if ($this->cppheaderimage != null) {
         $str .= '<ebl:cpp-header-image>' . PPUtils::escapeInvalidXmlCharsRegex($this->cppheaderimage) . '</ebl:cpp-header-image>';
     }
     if ($this->cppheaderbordercolor != null) {
         $str .= '<ebl:cpp-header-border-color>' . PPUtils::escapeInvalidXmlCharsRegex($this->cppheaderbordercolor) . '</ebl:cpp-header-border-color>';
     }
     if ($this->cppheaderbackcolor != null) {
         $str .= '<ebl:cpp-header-back-color>' . PPUtils::escapeInvalidXmlCharsRegex($this->cppheaderbackcolor) . '</ebl:cpp-header-back-color>';
     }
     if ($this->cpppayflowcolor != null) {
         $str .= '<ebl:cpp-payflow-color>' . PPUtils::escapeInvalidXmlCharsRegex($this->cpppayflowcolor) . '</ebl:cpp-payflow-color>';
     }
     if ($this->cppcartbordercolor != null) {
         $str .= '<ebl:cpp-cart-border-color>' . PPUtils::escapeInvalidXmlCharsRegex($this->cppcartbordercolor) . '</ebl:cpp-cart-border-color>';
     }
     if ($this->cpplogoimage != null) {
         $str .= '<ebl:cpp-logo-image>' . PPUtils::escapeInvalidXmlCharsRegex($this->cpplogoimage) . '</ebl:cpp-logo-image>';
     }
     if ($this->Address != null) {
         $str .= '<ebl:Address>';
         $str .= $this->Address->toXMLString();
         $str .= '</ebl:Address>';
     }
     if ($this->PaymentAction != null) {
         $str .= '<ebl:PaymentAction>' . PPUtils::escapeInvalidXmlCharsRegex($this->PaymentAction) . '</ebl:PaymentAction>';
     }
     if ($this->SolutionType != null) {
         $str .= '<ebl:SolutionType>' . PPUtils::escapeInvalidXmlCharsRegex($this->SolutionType) . '</ebl:SolutionType>';
     }
     if ($this->LandingPage != null) {
         $str .= '<ebl:LandingPage>' . PPUtils::escapeInvalidXmlCharsRegex($this->LandingPage) . '</ebl:LandingPage>';
     }
     if ($this->BuyerEmail != null) {
         $str .= '<ebl:BuyerEmail>' . PPUtils::escapeInvalidXmlCharsRegex($this->BuyerEmail) . '</ebl:BuyerEmail>';
     }
     if ($this->ChannelType != null) {
         $str .= '<ebl:ChannelType>' . PPUtils::escapeInvalidXmlCharsRegex($this->ChannelType) . '</ebl:ChannelType>';
     }
     if ($this->BillingAgreementDetails != null) {
         for ($i = 0; $i < count($this->BillingAgreementDetails); $i++) {
             $str .= '<ebl:BillingAgreementDetails>';
             $str .= $this->BillingAgreementDetails[$i]->toXMLString();
             $str .= '</ebl:BillingAgreementDetails>';
         }
     }
     if ($this->PromoCodes != null) {
         for ($i = 0; $i < count($this->PromoCodes); $i++) {
             $str .= '<ebl:PromoCodes>' . PPUtils::escapeInvalidXmlCharsRegex($this->PromoCodes[$i]) . '</ebl:PromoCodes>';
         }
     }
     if ($this->PayPalCheckOutBtnType != null) {
         $str .= '<ebl:PayPalCheckOutBtnType>' . PPUtils::escapeInvalidXmlCharsRegex($this->PayPalCheckOutBtnType) . '</ebl:PayPalCheckOutBtnType>';
     }
     if ($this->ProductCategory != null) {
         $str .= '<ebl:ProductCategory>' . PPUtils::escapeInvalidXmlCharsRegex($this->ProductCategory) . '</ebl:ProductCategory>';
     }
     if ($this->ShippingMethod != null) {
         $str .= '<ebl:ShippingMethod>' . PPUtils::escapeInvalidXmlCharsRegex($this->ShippingMethod) . '</ebl:ShippingMethod>';
     }
     if ($this->ProfileAddressChangeDate != null) {
         $str .= '<ebl:ProfileAddressChangeDate>' . PPUtils::escapeInvalidXmlCharsRegex($this->ProfileAddressChangeDate) . '</ebl:ProfileAddressChangeDate>';
     }
     if ($this->AllowNote != null) {
         $str .= '<ebl:AllowNote>' . PPUtils::escapeInvalidXmlCharsRegex($this->AllowNote) . '</ebl:AllowNote>';
     }
     if ($this->FundingSourceDetails != null) {
         $str .= '<ebl:FundingSourceDetails>';
         $str .= $this->FundingSourceDetails->toXMLString();
         $str .= '</ebl:FundingSourceDetails>';
     }
     if ($this->BrandName != null) {
         $str .= '<ebl:BrandName>' . PPUtils::escapeInvalidXmlCharsRegex($this->BrandName) . '</ebl:BrandName>';
     }
     if ($this->CallbackURL != null) {
         $str .= '<ebl:CallbackURL>' . PPUtils::escapeInvalidXmlCharsRegex($this->CallbackURL) . '</ebl:CallbackURL>';
     }
     if ($this->EnhancedCheckoutData != null) {
         $str .= '<ebl:EnhancedCheckoutData>';
         $str .= $this->EnhancedCheckoutData->toXMLString();
         $str .= '</ebl:EnhancedCheckoutData>';
     }
     if ($this->OtherPaymentMethods != null) {
         for ($i = 0; $i < count($this->OtherPaymentMethods); $i++) {
             $str .= '<ebl:OtherPaymentMethods>';
             $str .= $this->OtherPaymentMethods[$i]->toXMLString();
             $str .= '</ebl:OtherPaymentMethods>';
         }
     }
     if ($this->BuyerDetails != null) {
         $str .= '<ebl:BuyerDetails>';
         $str .= $this->BuyerDetails->toXMLString();
         $str .= '</ebl:BuyerDetails>';
     }
     if ($this->PaymentDetails != null) {
         for ($i = 0; $i < count($this->PaymentDetails); $i++) {
             $str .= '<ebl:PaymentDetails>';
             $str .= $this->PaymentDetails[$i]->toXMLString();
             $str .= '</ebl:PaymentDetails>';
         }
     }
     if ($this->FlatRateShippingOptions != null) {
         for ($i = 0; $i < count($this->FlatRateShippingOptions); $i++) {
             $str .= '<ebl:FlatRateShippingOptions>';
             $str .= $this->FlatRateShippingOptions[$i]->toXMLString();
             $str .= '</ebl:FlatRateShippingOptions>';
         }
     }
     if ($this->CallbackTimeout != null) {
         $str .= '<ebl:CallbackTimeout>' . PPUtils::escapeInvalidXmlCharsRegex($this->CallbackTimeout) . '</ebl:CallbackTimeout>';
     }
     if ($this->CallbackVersion != null) {
         $str .= '<ebl:CallbackVersion>' . PPUtils::escapeInvalidXmlCharsRegex($this->CallbackVersion) . '</ebl:CallbackVersion>';
     }
     if ($this->CustomerServiceNumber != null) {
         $str .= '<ebl:CustomerServiceNumber>' . PPUtils::escapeInvalidXmlCharsRegex($this->CustomerServiceNumber) . '</ebl:CustomerServiceNumber>';
     }
     if ($this->GiftMessageEnable != null) {
         $str .= '<ebl:GiftMessageEnable>' . PPUtils::escapeInvalidXmlCharsRegex($this->GiftMessageEnable) . '</ebl:GiftMessageEnable>';
     }
     if ($this->GiftReceiptEnable != null) {
         $str .= '<ebl:GiftReceiptEnable>' . PPUtils::escapeInvalidXmlCharsRegex($this->GiftReceiptEnable) . '</ebl:GiftReceiptEnable>';
     }
     if ($this->GiftWrapEnable != null) {
         $str .= '<ebl:GiftWrapEnable>' . PPUtils::escapeInvalidXmlCharsRegex($this->GiftWrapEnable) . '</ebl:GiftWrapEnable>';
     }
     if ($this->GiftWrapName != null) {
         $str .= '<ebl:GiftWrapName>' . PPUtils::escapeInvalidXmlCharsRegex($this->GiftWrapName) . '</ebl:GiftWrapName>';
     }
     if ($this->GiftWrapAmount != null) {
         $str .= '<ebl:GiftWrapAmount';
         $str .= $this->GiftWrapAmount->toXMLString();
         $str .= '</ebl:GiftWrapAmount>';
     }
     if ($this->BuyerEmailOptInEnable != null) {
         $str .= '<ebl:BuyerEmailOptInEnable>' . PPUtils::escapeInvalidXmlCharsRegex($this->BuyerEmailOptInEnable) . '</ebl:BuyerEmailOptInEnable>';
     }
     if ($this->SurveyEnable != null) {
         $str .= '<ebl:SurveyEnable>' . PPUtils::escapeInvalidXmlCharsRegex($this->SurveyEnable) . '</ebl:SurveyEnable>';
     }
     if ($this->SurveyQuestion != null) {
         $str .= '<ebl:SurveyQuestion>' . PPUtils::escapeInvalidXmlCharsRegex($this->SurveyQuestion) . '</ebl:SurveyQuestion>';
     }
     if ($this->SurveyChoice != null) {
         for ($i = 0; $i < count($this->SurveyChoice); $i++) {
             $str .= '<ebl:SurveyChoice>' . PPUtils::escapeInvalidXmlCharsRegex($this->SurveyChoice[$i]) . '</ebl:SurveyChoice>';
         }
     }
     if ($this->TotalType != null) {
         $str .= '<ebl:TotalType>' . PPUtils::escapeInvalidXmlCharsRegex($this->TotalType) . '</ebl:TotalType>';
     }
     if ($this->NoteToBuyer != null) {
         $str .= '<ebl:NoteToBuyer>' . PPUtils::escapeInvalidXmlCharsRegex($this->NoteToBuyer) . '</ebl:NoteToBuyer>';
     }
     if ($this->Incentives != null) {
         for ($i = 0; $i < count($this->Incentives); $i++) {
             $str .= '<ebl:Incentives>';
             $str .= $this->Incentives[$i]->toXMLString();
             $str .= '</ebl:Incentives>';
         }
     }
     if ($this->ReqInstrumentDetails != null) {
         $str .= '<ebl:ReqInstrumentDetails>' . PPUtils::escapeInvalidXmlCharsRegex($this->ReqInstrumentDetails) . '</ebl:ReqInstrumentDetails>';
     }
     if ($this->ExternalRememberMeOptInDetails != null) {
         $str .= '<ebl:ExternalRememberMeOptInDetails>';
         $str .= $this->ExternalRememberMeOptInDetails->toXMLString();
         $str .= '</ebl:ExternalRememberMeOptInDetails>';
     }
     if ($this->FlowControlDetails != null) {
         $str .= '<ebl:FlowControlDetails>';
         $str .= $this->FlowControlDetails->toXMLString();
         $str .= '</ebl:FlowControlDetails>';
     }
     if ($this->DisplayControlDetails != null) {
         $str .= '<ebl:DisplayControlDetails>';
         $str .= $this->DisplayControlDetails->toXMLString();
         $str .= '</ebl:DisplayControlDetails>';
     }
     if ($this->ExternalPartnerTrackingDetails != null) {
         $str .= '<ebl:ExternalPartnerTrackingDetails>';
         $str .= $this->ExternalPartnerTrackingDetails->toXMLString();
         $str .= '</ebl:ExternalPartnerTrackingDetails>';
     }
     if ($this->CoupledBuckets != null) {
         for ($i = 0; $i < count($this->CoupledBuckets); $i++) {
             $str .= '<ebl:CoupledBuckets>';
             $str .= $this->CoupledBuckets[$i]->toXMLString();
             $str .= '</ebl:CoupledBuckets>';
         }
     }
     return $str;
 }
 public function toXMLString()
 {
     $str = '';
     if ($this->OrderTotal != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //prop containsattribute
         $str .= '<ebl:OrderTotal';
         $str .= $this->OrderTotal->toXMLString();
         $str .= '</ebl:OrderTotal>';
     }
     if ($this->ReturnURL != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:ReturnURL>' . $this->ReturnURL . '</ebl:ReturnURL>';
     }
     if ($this->CancelURL != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:CancelURL>' . $this->CancelURL . '</ebl:CancelURL>';
     }
     if ($this->TrackingImageURL != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:TrackingImageURL>' . $this->TrackingImageURL . '</ebl:TrackingImageURL>';
     }
     if ($this->giropaySuccessURL != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:giropaySuccessURL>' . $this->giropaySuccessURL . '</ebl:giropaySuccessURL>';
     }
     if ($this->giropayCancelURL != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:giropayCancelURL>' . $this->giropayCancelURL . '</ebl:giropayCancelURL>';
     }
     if ($this->BanktxnPendingURL != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:BanktxnPendingURL>' . $this->BanktxnPendingURL . '</ebl:BanktxnPendingURL>';
     }
     if ($this->Token != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:Token>' . $this->Token . '</ebl:Token>';
     }
     if ($this->MaxAmount != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //prop containsattribute
         $str .= '<ebl:MaxAmount';
         $str .= $this->MaxAmount->toXMLString();
         $str .= '</ebl:MaxAmount>';
     }
     if ($this->OrderDescription != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:OrderDescription>' . $this->OrderDescription . '</ebl:OrderDescription>';
     }
     if ($this->Custom != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:Custom>' . $this->Custom . '</ebl:Custom>';
     }
     if ($this->InvoiceID != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:InvoiceID>' . $this->InvoiceID . '</ebl:InvoiceID>';
     }
     if ($this->ReqConfirmShipping != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:ReqConfirmShipping>' . $this->ReqConfirmShipping . '</ebl:ReqConfirmShipping>';
     }
     if ($this->ReqBillingAddress != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:ReqBillingAddress>' . $this->ReqBillingAddress . '</ebl:ReqBillingAddress>';
     }
     if ($this->BillingAddress != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //does not contain attribute or is attribute
         $str .= '<ebl:BillingAddress>';
         $str .= $this->BillingAddress->toXMLString();
         $str .= '</ebl:BillingAddress>';
     }
     if ($this->NoShipping != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:NoShipping>' . $this->NoShipping . '</ebl:NoShipping>';
     }
     if ($this->AddressOverride != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:AddressOverride>' . $this->AddressOverride . '</ebl:AddressOverride>';
     }
     if ($this->LocaleCode != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:LocaleCode>' . $this->LocaleCode . '</ebl:LocaleCode>';
     }
     if ($this->PageStyle != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:PageStyle>' . $this->PageStyle . '</ebl:PageStyle>';
     }
     if ($this->cppheaderimage != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:cpp-header-image>' . $this->cppheaderimage . '</ebl:cpp-header-image>';
     }
     if ($this->cppheaderbordercolor != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:cpp-header-border-color>' . $this->cppheaderbordercolor . '</ebl:cpp-header-border-color>';
     }
     if ($this->cppheaderbackcolor != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:cpp-header-back-color>' . $this->cppheaderbackcolor . '</ebl:cpp-header-back-color>';
     }
     if ($this->cpppayflowcolor != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:cpp-payflow-color>' . $this->cpppayflowcolor . '</ebl:cpp-payflow-color>';
     }
     if ($this->cppcartbordercolor != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:cpp-cart-border-color>' . $this->cppcartbordercolor . '</ebl:cpp-cart-border-color>';
     }
     if ($this->cpplogoimage != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:cpp-logo-image>' . $this->cpplogoimage . '</ebl:cpp-logo-image>';
     }
     if ($this->Address != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //does not contain attribute or is attribute
         $str .= '<ebl:Address>';
         $str .= $this->Address->toXMLString();
         $str .= '</ebl:Address>';
     }
     if ($this->PaymentAction != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:PaymentAction>' . $this->PaymentAction . '</ebl:PaymentAction>';
     }
     if ($this->SolutionType != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:SolutionType>' . $this->SolutionType . '</ebl:SolutionType>';
     }
     if ($this->LandingPage != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:LandingPage>' . $this->LandingPage . '</ebl:LandingPage>';
     }
     if ($this->BuyerEmail != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:BuyerEmail>' . $this->BuyerEmail . '</ebl:BuyerEmail>';
     }
     if ($this->ChannelType != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:ChannelType>' . $this->ChannelType . '</ebl:ChannelType>';
     }
     if ($this->BillingAgreementDetails != null) {
         for ($i = 0; $i < count($this->BillingAgreementDetails); $i++) {
             //property is collection
             //prop.complex
             //does not contain attribute or is attribute
             $str .= '<ebl:BillingAgreementDetails>';
             $str .= $this->BillingAgreementDetails[$i]->toXMLString();
             $str .= '</ebl:BillingAgreementDetails>';
         }
     }
     if ($this->PromoCodes != null) {
         for ($i = 0; $i < count($this->PromoCodes); $i++) {
             //property is collection
             //not a complex member
             //prop is not a value
             $str .= '<ebl:PromoCodes>' . $this->PromoCodes[$i] . '</ebl:PromoCodes>';
         }
     }
     if ($this->PayPalCheckOutBtnType != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:PayPalCheckOutBtnType>' . $this->PayPalCheckOutBtnType . '</ebl:PayPalCheckOutBtnType>';
     }
     if ($this->ProductCategory != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:ProductCategory>' . $this->ProductCategory . '</ebl:ProductCategory>';
     }
     if ($this->ShippingMethod != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:ShippingMethod>' . $this->ShippingMethod . '</ebl:ShippingMethod>';
     }
     if ($this->ProfileAddressChangeDate != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:ProfileAddressChangeDate>' . $this->ProfileAddressChangeDate . '</ebl:ProfileAddressChangeDate>';
     }
     if ($this->AllowNote != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:AllowNote>' . $this->AllowNote . '</ebl:AllowNote>';
     }
     if ($this->FundingSourceDetails != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //does not contain attribute or is attribute
         $str .= '<ebl:FundingSourceDetails>';
         $str .= $this->FundingSourceDetails->toXMLString();
         $str .= '</ebl:FundingSourceDetails>';
     }
     if ($this->BrandName != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:BrandName>' . $this->BrandName . '</ebl:BrandName>';
     }
     if ($this->CallbackURL != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:CallbackURL>' . $this->CallbackURL . '</ebl:CallbackURL>';
     }
     if ($this->EnhancedCheckoutData != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //does not contain attribute or is attribute
         $str .= '<ebl:EnhancedCheckoutData>';
         $str .= $this->EnhancedCheckoutData->toXMLString();
         $str .= '</ebl:EnhancedCheckoutData>';
     }
     if ($this->OtherPaymentMethods != null) {
         for ($i = 0; $i < count($this->OtherPaymentMethods); $i++) {
             //property is collection
             //prop.complex
             //does not contain attribute or is attribute
             $str .= '<ebl:OtherPaymentMethods>';
             $str .= $this->OtherPaymentMethods[$i]->toXMLString();
             $str .= '</ebl:OtherPaymentMethods>';
         }
     }
     if ($this->BuyerDetails != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //does not contain attribute or is attribute
         $str .= '<ebl:BuyerDetails>';
         $str .= $this->BuyerDetails->toXMLString();
         $str .= '</ebl:BuyerDetails>';
     }
     if ($this->PaymentDetails != null) {
         for ($i = 0; $i < count($this->PaymentDetails); $i++) {
             //property is collection
             //prop.complex
             //does not contain attribute or is attribute
             $str .= '<ebl:PaymentDetails>';
             $str .= $this->PaymentDetails[$i]->toXMLString();
             $str .= '</ebl:PaymentDetails>';
         }
     }
     if ($this->FlatRateShippingOptions != null) {
         for ($i = 0; $i < count($this->FlatRateShippingOptions); $i++) {
             //property is collection
             //prop.complex
             //does not contain attribute or is attribute
             $str .= '<ebl:FlatRateShippingOptions>';
             $str .= $this->FlatRateShippingOptions[$i]->toXMLString();
             $str .= '</ebl:FlatRateShippingOptions>';
         }
     }
     if ($this->CallbackTimeout != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:CallbackTimeout>' . $this->CallbackTimeout . '</ebl:CallbackTimeout>';
     }
     if ($this->CallbackVersion != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:CallbackVersion>' . $this->CallbackVersion . '</ebl:CallbackVersion>';
     }
     if ($this->CustomerServiceNumber != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:CustomerServiceNumber>' . $this->CustomerServiceNumber . '</ebl:CustomerServiceNumber>';
     }
     if ($this->GiftMessageEnable != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:GiftMessageEnable>' . $this->GiftMessageEnable . '</ebl:GiftMessageEnable>';
     }
     if ($this->GiftReceiptEnable != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:GiftReceiptEnable>' . $this->GiftReceiptEnable . '</ebl:GiftReceiptEnable>';
     }
     if ($this->GiftWrapEnable != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:GiftWrapEnable>' . $this->GiftWrapEnable . '</ebl:GiftWrapEnable>';
     }
     if ($this->GiftWrapName != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:GiftWrapName>' . $this->GiftWrapName . '</ebl:GiftWrapName>';
     }
     if ($this->GiftWrapAmount != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //prop containsattribute
         $str .= '<ebl:GiftWrapAmount';
         $str .= $this->GiftWrapAmount->toXMLString();
         $str .= '</ebl:GiftWrapAmount>';
     }
     if ($this->BuyerEmailOptInEnable != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:BuyerEmailOptInEnable>' . $this->BuyerEmailOptInEnable . '</ebl:BuyerEmailOptInEnable>';
     }
     if ($this->SurveyEnable != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:SurveyEnable>' . $this->SurveyEnable . '</ebl:SurveyEnable>';
     }
     if ($this->SurveyQuestion != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:SurveyQuestion>' . $this->SurveyQuestion . '</ebl:SurveyQuestion>';
     }
     if ($this->SurveyChoice != null) {
         for ($i = 0; $i < count($this->SurveyChoice); $i++) {
             //property is collection
             //not a complex member
             //prop is not a value
             $str .= '<ebl:SurveyChoice>' . $this->SurveyChoice[$i] . '</ebl:SurveyChoice>';
         }
     }
     if ($this->TotalType != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:TotalType>' . $this->TotalType . '</ebl:TotalType>';
     }
     if ($this->NoteToBuyer != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:NoteToBuyer>' . $this->NoteToBuyer . '</ebl:NoteToBuyer>';
     }
     if ($this->Incentives != null) {
         for ($i = 0; $i < count($this->Incentives); $i++) {
             //property is collection
             //prop.complex
             //does not contain attribute or is attribute
             $str .= '<ebl:Incentives>';
             $str .= $this->Incentives[$i]->toXMLString();
             $str .= '</ebl:Incentives>';
         }
     }
     if ($this->ReqInstrumentDetails != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:ReqInstrumentDetails>' . $this->ReqInstrumentDetails . '</ebl:ReqInstrumentDetails>';
     }
     if ($this->ExternalRememberMeOptInDetails != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //does not contain attribute or is attribute
         $str .= '<ebl:ExternalRememberMeOptInDetails>';
         $str .= $this->ExternalRememberMeOptInDetails->toXMLString();
         $str .= '</ebl:ExternalRememberMeOptInDetails>';
     }
     if ($this->FlowControlDetails != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //does not contain attribute or is attribute
         $str .= '<ebl:FlowControlDetails>';
         $str .= $this->FlowControlDetails->toXMLString();
         $str .= '</ebl:FlowControlDetails>';
     }
     if ($this->DisplayControlDetails != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //does not contain attribute or is attribute
         $str .= '<ebl:DisplayControlDetails>';
         $str .= $this->DisplayControlDetails->toXMLString();
         $str .= '</ebl:DisplayControlDetails>';
     }
     if ($this->ExternalPartnerTrackingDetails != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //does not contain attribute or is attribute
         $str .= '<ebl:ExternalPartnerTrackingDetails>';
         $str .= $this->ExternalPartnerTrackingDetails->toXMLString();
         $str .= '</ebl:ExternalPartnerTrackingDetails>';
     }
     return $str;
 }