コード例 #1
0
        public static void DoReport()
        {
            DateTime from = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("M/d/yyyy") + " 00:00:00");
            DateTime to   = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("M/d/yyyy") + " 23:59:59");

            ReportingGateway gate = new ReportingGateway(authorizeLogin, authorizeTranKey, ServiceMode.Live);
            List <AuthorizeNet.Transaction> transactions = gate.GetTransactionList(from, to);

            List <AuthorizeNet.Transaction> transactionsDetail = new List <AuthorizeNet.Transaction>();

            foreach (AuthorizeNet.Transaction item in transactions)
            {
                AuthorizeNet.Transaction tr = new AuthorizeNet.Transaction();
                tr           = gate.GetTransactionDetails(item.TransactionID);
                tr.FirstName = item.FirstName;
                if (tr.Status == "settledSuccessfully")
                {
                    transactionsDetail.Add(tr);
                }
            }

            string fileName = "";

            if (ExcelReport.GenerateReport(transactionsDetail, out fileName))
            {
                Email.SendEmail(fileName);
            }
        }
コード例 #2
0
ファイル: AuthorizeNet.cs プロジェクト: wncoder/core
            internal AuthorizeNetSDK.Transaction Parse(NameValueCollection postData)
            {
                var t = new AuthorizeNetSDK.Transaction
                {
                    ResponseCode = GetIntValue(postData["x_response_code"], 0),
                    //x_response_subcode
                    //x_response_reason_code
                    ResponseReason    = postData["x_response_reason_text"],
                    AuthorizationCode = postData["x_auth_code"],
                    AVSCode           = postData["x_avs_code"],
                    TransactionID     = postData["x_trans_id"],
                    InvoiceNumber     = postData["x_invoice_num"],
                    Description       = postData["x_description"],
                    RequestedAmount   = GetDecimalValue(postData["x_amount"], 0),
                    //postData["x_method"],
                    TransactionType = postData["x_type"],
                    CustomerID      = postData["x_cust_id"],
                    FirstName       = postData["x_first_name"],
                    LastName        = postData["x_last_name"],
                    BillingAddress  = new AuthorizeNetSDK.Address
                    {
                        Company = postData["x_company"],
                        Street  = postData["x_address"],
                        City    = postData["x_city"],
                        State   = postData["x_state"],
                        Zip     = postData["x_zip"],
                        Country = postData["x_country"],
                        Phone   = postData["x_phone"],
                        Fax     = postData["x_fax"]
                    },
                    CustomerEmail   = postData["x_e-mail"],
                    ShippingAddress = new AuthorizeNetSDK.Address
                    {
                        First   = postData["x_ship_to_first_name"],
                        Last    = postData["x_ship_to_last_name"],
                        Company = postData["x_ship_to_company"],
                        Street  = postData["x_ship_to_address"],
                        City    = postData["x_ship_to_city"],
                        State   = postData["x_ship_to_state"],
                        Zip     = postData["x_ship_to_zip"],
                        Country = postData["x_ship_to_country"]
                    },
                    Tax  = GetDecimalValue(postData["x_tax"], 0),
                    Duty = GetDecimalValue(postData["x_duty"], 0),
                    //FraudFilters = postData["x_freight"],
                    TaxExempt = (postData["x_tax_exempt"] ?? string.Empty).ToUpper() == "TRUE",
                    PONumber  = postData["x_po_num"],
                    //postData["x_MD5_Hash"],
                    CardResponseCode = postData["x_cavv_response"],
                    //postData["x_test_request"],
                    Subscription = new AuthorizeNetSDK.SubscriptionPayment
                    {
                        ID     = GetIntValue(postData["x_subscription_id"], 0),
                        PayNum = GetIntValue(postData["x_subscription_paynum"], 0)
                    }
                };

                t.IsRecurring = t.Subscription.ID > 0;

                return(t);
            }
コード例 #3
0
ファイル: Transaction.cs プロジェクト: Sapbasu15/sdk-dotnet
        /// <summary>
        /// Creates a Transaction directly from the API Response
        /// </summary>
        /// <param name="trans">The trans.</param>
        /// <returns></returns>
        public static Transaction NewFromResponse(transactionDetailsType trans) {
            var result = new Transaction();

            result.TransactionID = trans.transId;
            result.DateSubmitted = trans.submitTimeUTC;
            result.TransactionType = trans.transactionType;
            result.Status = trans.transactionStatus;
            result.ResponseCode = trans.responseCode;
            result.ResponseReason = trans.responseReasonDescription;

            result.AuthorizationCode = trans.authCode;
            result.AVSCode = trans.AVSResponse;
            result.CardResponseCode = trans.cardCodeResponse;
            result.CAVVCode = trans.CAVVResponse;

            if (trans.FDSFilters != null) {
                for (int i = 0; i < trans.FDSFilters.Length; i++) {
                    var filter = (FDSFilterType)trans.FDSFilters[i];
                    result.FraudFilters.Add(filter.name);
                }
            }

            if (trans.batch != null) {
                result.BatchSettlementID = trans.batch.batchId;
                result.BatchSettlementState = trans.batch.settlementState;
                result.BatchSettledOn = trans.batch.settlementTimeUTC;
            }

            if (trans.order != null) {
                result.InvoiceNumber = trans.order.invoiceNumber;
                result.PONumber = trans.order.purchaseOrderNumber;
                result.OrderDescription = trans.order.description;
            }

            result.RequestedAmount = trans.requestedAmount;
            result.AuthorizationAmount = trans.authAmount;
            result.SettleAmount = trans.settleAmount;

            if (trans.tax != null) {
                result.Tax = trans.tax.amount;
                result.TaxDescription = trans.tax.description;

            }

            if (trans.shipping != null) {
                result.Shipping = trans.shipping.amount;
                result.ShippingDescription = trans.shipping.description;
            }

            if (trans.duty != null) {
                result.Duty = trans.duty.amount;
                result.DutyDescription = trans.duty.description;
            }

            if (trans.lineItems != null) {

                for (int i = 0; i < trans.lineItems.Length; i++) {
                    var item = (lineItemType)trans.lineItems[i];
                    var line = new LineItem();
                    line.Description = item.description;
                    line.ID = item.itemId;
                    line.Name = item.name;
                    line.Quantity = item.quantity;
                    line.Taxable = item.taxable;
                    line.UnitPrice = item.unitPrice;
                    result._lineItems.Add(line);
                }

            }
            if (trans.payment != null)
            {
                if (trans.payment.Item.GetType() == typeof (creditCardMaskedType))
                {
                    var cc = (creditCardMaskedType) trans.payment.Item;
                    result.CardNumber = cc.cardNumber;
                    result.CardExpiration = cc.expirationDate;
                    result.CardType = cc.cardType;
                }
                if (trans.payment.Item.GetType() == typeof (bankAccountMaskedType))
                {
                    var ba = (bankAccountMaskedType) trans.payment.Item;
                    result.eCheckBankAccount = new BankAccount()
                        {
                            accountTypeSpecified = ba.accountTypeSpecified,
                            accountType = (BankAccountType) Enum.Parse(typeof (BankAccountType), ba.accountType.ToString(), true),
                            routingNumber = ba.routingNumber,
                            nameOnAccount = ba.nameOnAccount,
                            echeckTypeSpecified = ba.echeckTypeSpecified,
                            echeckType = (EcheckType) Enum.Parse(typeof (EcheckType), ba.echeckType.ToString(), true),
                            bankName = ba.bankName
                        };
                }
            }
            if (trans.customer != null) {
                result.CustomerID = trans.customer.id;
                result.CustomerEmail = trans.customer.email;
            }

            if (trans.billTo != null) {
                result.BillingAddress = new Address(trans.billTo);
            }
            if (trans.shipTo != null) {
                result.ShippingAddress = new Address(trans.shipTo);
            }

            result.IsRecurring = trans.recurringBilling;
            result.TaxExempt = trans.taxExempt;

            result.MarketType = trans.marketType;
            result.Product = trans.product;
            result.MobileDeviceID = trans.mobileDeviceId;
            result.RefTransactionID = trans.refTransId;

            if ((trans.subscription != null) && (trans.subscription.id > 0))
            {
                result.Subscription = new SubscriptionPayment();
                result.Subscription.ID = trans.subscription.id;
                result.Subscription.PayNum = trans.subscription.payNum;
            }

            if ((trans.returnedItems != null) && (trans.returnedItems.Any()))
            {
                result.HasReturnedItems = NullableBooleanEnum.True;
                result.ReturnedItems = new ReturnedItemType[trans.returnedItems.Count()];
                int iRI = 0;
                foreach (var ri in trans.returnedItems)
                {
                    result.ReturnedItems[iRI] = new ReturnedItemType()
                        {
                            id = ri.id,
                            code = ri.code,
                            dateLocal = ri.dateLocal,
                            dateUTC = ri.dateUTC,
                            description = ri.description
                        };
                    iRI++;

                }
            }

            if ((trans.solution != null) && (trans.solution.id.Length > 0))
            {
                result.Solution = new SolutionType()
                    {
                        id = trans.solution.id,
                        name = trans.solution.name
                    };
            }

            return result;
        }
コード例 #4
0
ファイル: Transaction.cs プロジェクト: Sapbasu15/sdk-dotnet
        /// <summary>
        /// Creates a Transaction directly from the API Response
        /// </summary>
        /// <param name="trans">The trans.</param>
        /// <returns></returns>
        public static Transaction NewFromResponse(transactionSummaryType trans) {

            var result = new Transaction();

            result.TransactionID = trans.transId;
            result.DateSubmitted = trans.submitTimeUTC;
            result.Status = trans.transactionStatus;
            result.LastName = trans.lastName;
            result.InvoiceNumber = trans.invoiceNumber;
            result.FirstName = trans.firstName;
            result.SettleAmount = trans.settleAmount;
            result.CardNumber = trans.accountNumber;
            result.CardType = trans.accountType;

            result.MarketType = trans.marketType;
            result.Product = trans.product;
            result.MobileDeviceID = trans.mobileDeviceId;

            if ((trans.subscription != null) && (trans.subscription.id > 0))
            {
                result.Subscription = new SubscriptionPayment();
                result.Subscription.ID = trans.subscription.id;
                result.Subscription.PayNum = trans.subscription.payNum;
            }

            if (trans.hasReturnedItemsSpecified)
            {
                result.HasReturnedItems = trans.hasReturnedItems ? NullableBooleanEnum.True : NullableBooleanEnum.False;
            }
            else
            {
                result.HasReturnedItems = NullableBooleanEnum.Null;
            }

            return result;
        }
コード例 #5
0
ファイル: Transaction.cs プロジェクト: stokedout/WebsiteUpd8
        /// <summary>
        /// Creates a Transaction directly from the API Response
        /// </summary>
        /// <param name="trans">The trans.</param>
        /// <returns></returns>
        public static Transaction NewFromResponse(transactionDetailsType trans)
        {
            var result = new Transaction();

            result.TransactionID = trans.transId;
            result.DateSubmitted = trans.submitTimeUTC;
            result.TransactionType = trans.transactionType;
            result.Status = trans.transactionStatus;
            result.ResponseCode = trans.responseCode;
            result.ResponseReason = trans.responseReasonDescription;

            result.AuthorizationCode = trans.authCode;
            result.AVSCode = trans.AVSResponse;
            result.CardResponseCode = trans.cardCodeResponse;
            result.CAVVCode = trans.CAVVResponse;

            if (trans.FDSFilters != null) {
                for (int i = 0; i < trans.FDSFilters.Length; i++) {
                    var filter = (FDSFilterType)trans.FDSFilters[i];
                    result.FraudFilters.Add(filter.name);
                }
            }

            if (trans.batch != null) {
                result.BatchSettlementID = trans.batch.batchId;
                result.BatchSettlementState = trans.batch.settlementState;
                result.BatchSettledOn = trans.batch.settlementTimeUTC;
            }

            if (trans.order != null) {
                result.InvoiceNumber = trans.order.invoiceNumber;
                result.PONumber = trans.order.purchaseOrderNumber;
                result.OrderDescription = trans.order.description;
            }

            result.RequestedAmount = trans.requestedAmount;
            result.AuthorizationAmount = trans.authAmount;
            result.SettleAmount = trans.settleAmount;

            if (trans.tax != null) {
                result.Tax = trans.tax.amount;
                result.TaxDescription = trans.tax.description;

            }

            if (trans.shipping != null) {
                result.Shipping = trans.shipping.amount;
                result.ShippingDescription = trans.shipping.description;
            }

            if (trans.duty != null) {
                result.Duty = trans.duty.amount;
                result.DutyDescription = trans.duty.description;
            }

            if (trans.lineItems != null) {

                for (int i = 0; i < trans.lineItems.Length; i++) {
                    var item = (lineItemType)trans.lineItems[i];
                    var line = new LineItem();
                    line.Description = item.description;
                    line.ID = item.itemId;
                    line.Name = item.name;
                    line.Quantity = item.quantity;
                    line.Taxable = item.taxable;
                    line.UnitPrice = item.unitPrice;
                    result._lineItems.Add(line);
                }

            }
            if (trans.payment != null) {
                if (trans.payment.Item.GetType() == typeof(creditCardMaskedType))
                {
                    var cc = (creditCardMaskedType)trans.payment.Item;
                    result.CardNumber = cc.cardNumber;
                    result.CardExpiration = cc.expirationDate;
                    result.CardType = cc.cardType;
                }
            }
            if (trans.customer != null) {
                result.CustomerID = trans.customer.id;
                result.CustomerEmail = trans.customer.email;
            }

            if (trans.billTo != null) {
                result.BillingAddress = new Address(trans.billTo);
            }
            if (trans.shipTo != null) {
                result.ShippingAddress = new Address(trans.shipTo);
            }

            result.IsRecurring = trans.recurringBilling;
            result.TaxExempt = trans.taxExempt;
            return result;
        }
コード例 #6
0
ファイル: Transaction.cs プロジェクト: stokedout/WebsiteUpd8
        /// <summary>
        /// Creates a Transaction directly from the API Response
        /// </summary>
        /// <param name="trans">The trans.</param>
        /// <returns></returns>
        public static Transaction NewFromResponse(transactionSummaryType trans)
        {
            var result = new Transaction();

            result.TransactionID = trans.transId;
            result.DateSubmitted = trans.submitTimeUTC;
            result.Status = trans.transactionStatus;
            result.LastName = trans.lastName;
            result.InvoiceNumber = trans.invoiceNumber;
            result.FirstName = trans.firstName;
            result.SettleAmount = trans.settleAmount;
            result.CardNumber = trans.accountNumber;
            result.CardType = trans.accountType;

            return result;
        }