import { PaymentRequest,BuildPayload } from './PaymentRequest';


export class MerchantBalanceRequest extends PaymentRequest {
    merchantId?: string;
    
  
    constructor(
        paymentRequest: PaymentRequest,

        merchantId?: string
       
    ) {
        super(paymentRequest.requestTime, paymentRequest.version, paymentRequest.nonceStr);

      this.merchantId = merchantId;
          }
  
    toJSON(): object {
      return {
        requestTime: this.requestTime,
        version: this.version,
        nonceStr: this.nonceStr,
        merchantId: this.merchantId
       };
    }
  }


  export class MerchantBalanceRequestBuilder extends BuildPayload {
   
    private merchantId?: string;
    
  
   
  
    public setMerchantId(merchantId: string): MerchantBalanceRequestBuilder {
      this.merchantId = merchantId;
      return this;
    }
  
  
   
    
  
    public build(): MerchantBalanceRequest {
      return new MerchantBalanceRequest(
        super.build(),
        this.merchantId
      );
    }
  }
  

  
  