/// <summary>
        /// Sets the MWS Auth Token
        /// </summary>
        /// <param name="mws_auth_token"></param>
        /// <returns>ChargeRequest</returns>
        public ChargeRequest WithMWSAuthToken(string mws_auth_token)
        {
            switch (chargeType)
            {
            case "OrderReference":
                getOrderReferenceDetails.WithMWSAuthToken(mws_auth_token);
                setOrderReferenceDetails.WithMWSAuthToken(mws_auth_token);
                confirmOrderReference.WithMWSAuthToken(mws_auth_token);
                authorizeOrderReference.WithMWSAuthToken(mws_auth_token);
                break;

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