public override ApiInfo GetStatus(Order order, IDictionary <string, string> settings)
        {
            ApiInfo apiInfo = null;

            try {
                order.MustNotBeNull("order");
                settings.MustNotBeNull("settings");
                settings.MustContainKey("merchantnumber", "settings");

                TransactionInformationType tit = new TransactionInformationType();
                int ePayResponse = 0;

                if (GetEPayServiceClient().gettransaction(int.Parse(settings["merchantnumber"]), long.Parse(order.TransactionInformation.TransactionId), settings.ContainsKey("webservicepassword") ? settings["webservicepassword"] : string.Empty, ref tit, ref ePayResponse))
                {
                    apiInfo = new ApiInfo(tit.transactionid.ToString(CultureInfo.InvariantCulture), GetPaymentState(tit.status, tit.creditedamount));
                }
                else
                {
                    LoggingService.Instance.Warn <ePay>("ePay(" + order.OrderNumber + ") - Error making API request - error code: " + ePayResponse);
                }
            } catch (Exception exp) {
                LoggingService.Instance.Error <ePay>("ePay(" + order.OrderNumber + ") - Get status", exp);
            }

            return(apiInfo);
        }
Esempio n. 2
0
        public override ApiInfo GetStatus( Order order, IDictionary<string, string> settings )
        {
            ApiInfo apiInfo = null;

              try {
            order.MustNotBeNull( "order" );
            settings.MustNotBeNull( "settings" );
            settings.MustContainKey( "merchantnumber", "settings" );

            TransactionInformationType tit = new TransactionInformationType();
            int ePayResponse = 0;

            if ( GetEPayServiceClient().gettransaction( int.Parse( settings[ "merchantnumber" ] ), long.Parse( order.TransactionInformation.TransactionId ), settings.ContainsKey( "webservicepassword" ) ? settings[ "webservicepassword" ] : string.Empty, ref tit, ref ePayResponse ) ) {
              apiInfo = new ApiInfo( tit.transactionid.ToString( CultureInfo.InvariantCulture ), GetPaymentState( tit.status, tit.creditedamount ) );
            } else {
              LoggingService.Instance.Warn<ePay>( "ePay(" + order.OrderNumber + ") - Error making API request - error code: " + ePayResponse );
            }
              } catch ( Exception exp ) {
            LoggingService.Instance.Error<ePay>( "ePay(" + order.OrderNumber + ") - Get status", exp );
              }

              return apiInfo;
        }