/// <summary>
        /// Sets the Merchant ID
        /// </summary>
        /// <param name="merchant_id"></param>
        /// <returns>ChargeRequest</returns>
        public ChargeRequest WithMerchantId(string merchant_id)
        {
            switch (chargeType)
            {
            case "OrderReference":
                getOrderReferenceDetails.WithMerchantId(merchant_id);
                setOrderReferenceDetails.WithMerchantId(merchant_id);
                confirmOrderReference.WithMerchantId(merchant_id);
                authorizeOrderReference.WithMerchantId(merchant_id);
                break;

            case "BillingAgreement":
                getBillingAgreementDetails.WithMerchantId(merchant_id);
                setBillingAgreementDetails.WithMerchantId(merchant_id);
                confirmBillingAgreement.WithMerchantId(merchant_id);
                authorizeOnBillingAgreement.WithMerchantId(merchant_id);
                break;
            }
            return(this);
        }