//-----------------------------------------------------------------------------------------
        // GetCardBalance - Gets the current balance on a gift card, egift card, loyalty card, or certificate.
        //-----------------------------------------------------------------------------------------
        public CardResponse GetCardBalance(string cardNumber, string tenderCode, Guid?customerUid = null)
        {
            var svc = GetPaymentEngineService();

            try
            {
                CardBalanceRequest request = new CardBalanceRequest
                {
                    CustomerUid = customerUid ?? Guid.Empty,
                    TenderCode  = tenderCode,
                    CardNumber  = cardNumber,
                    CardPin     = "",    // Some clients require a PIN.
                    Swiped      = false, // Set to true when a card is swiped and false if manually keyed.
                };

                CardResponse response = svc.GetCardBalance(_accessKey, _storeCode, _deviceCode, request);     // StoreCode and DeviceCode are not required if you are using a device AccessKey.

                List <string> msg = new List <string>();
                if (response.Status == CardRequestStatus.Approved)
                {
                    msg.Add(string.Format("CardBalance() succeeded.  Current Balance={0}, Available Balance={1} ", response.CurrentBalance, response.AvailableBalance));
                }
                else
                {
                    msg.Add(string.Format("CardBalance() FAILED.  Status={0} ", response.Status));
                    msg.Add(string.Format("    Message:{0} ", response.Message));
                }
                //tbResults.Lines = msg.ToArray();

                svc.Close(); // Closes the transport channel.
                svc = null;

                return(response);
            }
            catch (bLoyal.Connectors.ApiException ex)
            {
                if (ex != null && !string.IsNullOrWhiteSpace(ex.Code) && ex.Code == "ServiceRedirect")
                {
                    ServiceURLHelper.IsbLoyalServiceUrlDown = true;
                }
                _logger.WriteLogError(ex, "GetCardBalance in PaymentEngineConnector");
            }
            catch (Exception ex)
            {
                //tbResults.Text = string.Format("GetCardBalance() failed.  Exception: {0}", ex.ToString());
                _logger.WriteLogError(ex, "GetCardBalance in PaymentEngineConnector");
            }
            finally
            {
                if (svc != null)
                {
                    svc.Abort();
                }
            }
            return(null);
        }
Beispiel #2
0
        //-----------------------------------------------------------------------------------------
        // GetCardBalance - Gets the current balance on a gift card, egift card, loyalty card, or certificate.
        //-----------------------------------------------------------------------------------------
        public CardResponse GetCardBalance(string cardNumber, string tenderCode, Guid?customerUid = null)
        {
            var svc = GetPaymentEngineService();

            try
            {
                CardBalanceRequest request = new CardBalanceRequest();
                request.CustomerUid = customerUid ?? Guid.Empty;
                request.TenderCode  = tenderCode;
                request.CardNumber  = cardNumber;
                request.CardPin     = "";                                                                  // Some clients require a PIN.
                request.Swiped      = false;                                                               // Set to true when a card is swiped and false if manually keyed.
                CardResponse  response = svc.GetCardBalance(_accessKey, _storeCode, _deviceCode, request); // StoreCode and DeviceCode are not required if you are using a device AccessKey.
                List <string> msg      = new List <string>();
                if (response.Status == CardRequestStatus.Approved)
                {
                    msg.Add(string.Format("CardBalance() succeeded.  Current Balance={0}, Available Balance={1} ", response.CurrentBalance, response.AvailableBalance));
                }
                else
                {
                    msg.Add(string.Format("CardBalance() FAILED.  Status={0} ", response.Status));
                    msg.Add(string.Format("    Message:{0} ", response.Message));
                }
                //tbResults.Lines = msg.ToArray();

                svc.Close(); // Closes the transport channel.
                svc = null;

                return(response);
            }
            catch (System.Exception ex)
            {
                //tbResults.Text = string.Format("GetCardBalance() failed.  Exception: {0}", ex.ToString());
            }
            finally
            {
                if (svc != null)
                {
                    svc.Abort();
                }
            }
            return(null);
        }