Inheritance: IJsonSerializable
Exemplo n.º 1
0
        /// <summary>
        /// Creates a new Customer
        /// </summary>
        /// <param name="firstName">The customer first name</param>
        /// <param name="lastName">The customer last name</param>
        /// <param name="id">The customer id (optional)</param>
        /// <param name="ordersCount">The total number of orders made to the merchant by this customer (optional)</param>
        /// <param name="email">The customer email - as registered with (optional) </param>
        /// <param name="verifiedEmail">Signs if the email was verified by the merchant is some way (optional)</param>
        /// <param name="createdAt">The time of creation of the customer card (optional)</param>
        /// <param name="notes">Additional notes regarding the customer (optional)</param>
        public Customer(string firstName, string lastName, string id, int? ordersCount = null, string email = null, bool? verifiedEmail = null, DateTime? createdAt = null, string notes = null, SocialDetails[] social = null, BasicAddress address = null)
        {
            FirstName = firstName;
            LastName = lastName;

            // optional fields
            Id = id;
            Email = email;
            OrdersCount = ordersCount;
            VerifiedEmail = verifiedEmail;
            CreatedAt = createdAt;
            Note = notes;
            Social = social;
            Address = address;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Creates a new Customer
        /// </summary>
        /// <param name="firstName">The customer first name</param>
        /// <param name="lastName">The customer last name</param>
        /// <param name="id">The customer id (optional)</param>
        /// <param name="ordersCount">The total number of orders made to the merchant by this customer (optional)</param>
        /// <param name="email">The customer email - as registered with (optional) </param>
        /// <param name="verifiedEmail">Signs if the email was verified by the merchant is some way (optional)</param>
        /// <param name="createdAt">The time of creation of the customer card (optional)</param>
        /// <param name="notes">Additional notes regarding the customer (optional)</param>
        public Customer(string firstName, string lastName, string id, int?ordersCount = null, string email = null, bool?verifiedEmail = null, DateTime?createdAt = null, string notes = null, SocialDetails[] social = null, BasicAddress address = null)
        {
            FirstName = firstName;
            LastName  = lastName;

            // optional fields
            Id            = id;
            Email         = email;
            OrdersCount   = ordersCount;
            VerifiedEmail = verifiedEmail;
            CreatedAt     = createdAt;
            Note          = notes;
            Social        = social;
            Address       = address;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Creates a new Customer
        /// </summary>
        /// <param name="firstName">The customer first name</param>
        /// <param name="lastName">The customer last name</param>
        /// <param name="id">The customer id (optional)</param>
        /// <param name="ordersCount">The total number of orders made to the merchant by this customer (optional)</param>
        /// <param name="email">The customer email - as registered with (optional) </param>
        /// <param name="verifiedEmail">Signs if the email was verified by the merchant is some way (optional)</param>
        /// <param name="createdAt">The time of creation of the customer card (optional)</param>
        /// <param name="notes">Additional notes regarding the customer (optional)</param>
        public Customer(string firstName, string lastName, string id, int?ordersCount = null, string email = null, bool?verifiedEmail = null, DateTimeOffset?verifiedEmailAt = null, bool?verifiedPhone = null, DateTimeOffset?verifiedPhoneAt = null, DateTimeOffset?createdAt = null, DateTimeOffset?updatedAt = null, string notes = null, SocialDetails[] social = null, BasicAddress address = null, string accountType = null, int?linkedAccounts = null, DateTimeOffset?firstPurchaseAt = null, string documentId = null, string documentType = null)
        {
            FirstName = firstName;
            LastName  = lastName;

            // optional fields
            Id              = id;
            Email           = email;
            OrdersCount     = ordersCount;
            VerifiedEmail   = verifiedEmail;
            VerifiedEmailAt = verifiedEmailAt;
            VerifiedPhone   = verifiedPhone;
            VerifiedPhoneAt = verifiedPhoneAt;
            CreatedAt       = createdAt;
            UpdatedAt       = updatedAt;
            Note            = notes;
            Social          = social;
            Address         = address;
            AccountType     = accountType;
            LinkedAccounts  = linkedAccounts;
            FirstPurchaseAt = firstPurchaseAt;
            DocumentId      = documentId;
            DocumentType    = documentType;
        }
Exemplo n.º 4
0
 public RideTicketLineItem(
     // inherited
     string title,
     double price,
     int quantityPurchased,
     string productId            = null,
     string sku                  = null,
     string condition            = null,
     bool?requiresShipping       = null,
     string category             = null,
     string subCategory          = null,
     string brand                = null,
     Seller seller               = null,
     DeliveredToType?deliveredTo = null,
     DateTime?deliveredAt        = null,
     Policy policy               = null,
     // ride item specific
     DateTime?pickupDate         = null,
     float?pickupLatitude        = null,
     float?pickupLongitude       = null,
     BasicAddress pickupAddress  = null,
     DateTime?dropoffDate        = null,
     float?dropoffLatitude       = null,
     float?dropoffLongitude      = null,
     BasicAddress dropoffAddress = null,
     string transportMethod      = null,
     string priceBy            = null,
     string vehicleClass       = null,
     string carrierName        = null,
     string driverId           = null,
     string tariff             = null,
     string noteToDriver       = null,
     string meetNGreet         = null,
     string cancellationPolicy = null,
     float?authorizedPayments  = null,
     int?routeIndex            = null,
     int?legIndex = null
     ) : base(
         title: title, price: price, quantityPurchased: quantityPurchased, productId: productId, sku: sku,
         condition: condition,
         requiresShipping: requiresShipping, seller: seller, deliveredTo: deliveredTo, delivered_at: deliveredAt,
         category: category, subCategory: subCategory, brand: brand,
         productType: OrderElements.ProductType.RideTicket, policy: policy)
 {
     PickupDate         = pickupDate;
     PickupLatitude     = pickupLatitude;
     PickupLongitude    = pickupLongitude;
     PickupAddress      = pickupAddress;
     DropoffDate        = dropoffDate;
     DropoffLatitude    = dropoffLatitude;
     DropoffLongitude   = dropoffLongitude;
     DropoffAddress     = dropoffAddress;
     TransportMethod    = transportMethod;
     PriceBy            = priceBy;
     VehicleClass       = vehicleClass;
     CarrierName        = carrierName;
     DriverId           = driverId;
     Tariff             = tariff;
     NoteToDriver       = noteToDriver;
     MeetNGreet         = meetNGreet;
     CancellationPolicy = cancellationPolicy;
     AuthorizedPayments = authorizedPayments;
     RouteIndex         = routeIndex;
     LegIndex           = legIndex;
 }
        /// <summary>
        /// Generates a new order object
        /// Mind that some of the fields of the order (and it's sub-objects) are optional
        /// </summary>
        /// <param name="orderNum">The order number to put in the order object</param>
        /// <returns></returns>
        private static Order GenerateOrder(int orderNum)
        {
            var customerAddress = new BasicAddress(
                address1: "27 5th avenue",
                city: "Manhattan",
                country: "United States",
                countryCode: "US",
                phone: "5554321234",
                address2: "Appartment 5",
                zipCode: "54545"
                );

            // putting sample customer details
            var customer = new Customer(
                firstName: "John",
                lastName: "Doe",
                id: "405050606",
                ordersCount: 4,
                email: "*****@*****.**",
                verifiedEmail: true,
                createdAt: new DateTime(2013, 12, 8, 14, 12, 12, DateTimeKind.Local), // make sure to initialize DateTime with the correct timezone
                notes: "No additional info",
                address: customerAddress);

            // putting sample billing details
            var billing = new AddressInformation(
                firstName: "Ben",
                lastName: "Rolling",
                address1: "27 5th avenue",
                city: "Manhattan", 
                country: "United States",
                countryCode: "US",
                phone: "5554321234", 
                address2: "Appartment 5",
                zipCode: "54545",
                province: "New York",
                provinceCode: "NY",
                company: "IBM",
                fullName: "Ben Philip Rolling");

            var shipping = new AddressInformation(
                firstName: "Luke",
                lastName: "Rolling",
                address1: "4 Bermingham street", 
                city: "Cherry Hill",
                country: "United States",
                countryCode: "US", 
                phone: "55546665", 
                provinceCode: "NJ", 
                province: "New Jersey");

            var payments = new CreditCardPaymentDetails(
                avsResultCode: "Y",
                cvvResultCode: "n",
                creditCardBin: "124580", 
                creditCardCompany: "Visa",
                creditCardNumber: "XXXX-XXXX-XXXX-4242");

            var noChargeAmount = new NoChargeDetails(
                refundId: "123444",
                amount: 20.5,
                currency: "GBP",
                reason: "giftcard"
                );

            var lines = new[]
            {
                new ShippingLine(price: 22.22,title: "Mail"),
                new ShippingLine(price: 2,title: "Ship",code: "A22F")
            };

            var recipientSocial = new SocialDetails(
                                                    network: "Facebook",
                                                    publicUsername: "******",
                                                    accountUrl: "http://www.facebook.com/john.smith");

            var recipient = new Recipient(
                email: "*****@*****.**",
                phone: "96522444221",
                social: recipientSocial);


            var items = new[]
            {
                new LineItem(title: "Bag",price: 55.44,quantityPurchased: 1,productId: 48484,sku: "1272727",deliveredTo: DeliveredToType.StorePickup, delivered_at:new DateTime(2016, 12, 8, 14, 12, 12, DateTimeKind.Local)),
                new LineItem(title: "Monster", price: 22.3, quantityPurchased: 3, seller: new Seller(customer: customer,correspondence: 1, priceNegotiated: true, startingPrice: 120)),
                // Events Tickets Industry 
                new LineItem(title: "Concert", 
                             price: 123, 
                             quantityPurchased: 1, 
                             category: "Singers", 
                             subCategory: "Rock", 
                             eventName: "Bon Jovy", 
                             eventSectionName: "Section", 
                             eventCountry: "USA", 
                             eventCountryCode: "US",
                             latitude: 0,
                             longitude: 0),
                // Digital Goods (giftcard) industry
                new LineItem(title: "Concert", 
                            price: 123, 
                            quantityPurchased: 1, 
                            sender_name: "John", 
                            display_name: "JohnJohn", 
                            photo_uploaded: true, 
                            photo_url: "http://my_pic_url", 
                            greeting_photo_url: "http://my_greeting_pic_url", 
                            message: "Happy Birthday",
                            greeting_message: "Happy Birthday from John",
                            card_type: "regular",
                            card_sub_type: "birthday",
                            sender_email: "*****@*****.**",
                            recipient: recipient),
            };

            var discountCodes = new[] { new DiscountCode(moneyDiscountSum: 7, code: "1") };

            DecisionDetails decisionDetails = new DecisionDetails(ExternalStatusType.Approved, DateTime.Now); // make sure to initialize DateTime with the correct timezone

            // This is an example for an order with charge free sums (e.g. gift card payment)
            var chargeFreePayments = new ChargeFreePaymentDetails(
                gateway: "giftcard",
                amount: 45);

            // This is an example for client details section
            var clientDetails = new ClientDetails(
                accept_language: "en-CA",   
                user_agent: "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)");

            var order = new Order(
                merchantOrderId: orderNum.ToString(), 
                email: "*****@*****.**", 
                customer: customer, 
                paymentDetails: payments,
                billingAddress: billing,
                shippingAddress: shipping,
                lineItems: items,
                shippingLines: lines,
                gateway: "authorize_net",
                customerBrowserIp: "165.12.1.1",
                currency: "USD", 
                totalPrice: 100.60,
                createdAt: DateTime.Now, // make sure to initialize DateTime with the correct timezone
                updatedAt: DateTime.Now, // make sure to initialize DateTime with the correct timezone
                discountCodes: discountCodes,
                source: "web",
                noChargeDetails: noChargeAmount,
                decisionDetails: decisionDetails,
                vendorId: "2",
                vendorName: "domestic",
                additionalEmails: new [] {"*****@*****.**","*****@*****.**"},
                chargeFreePaymentDetails: chargeFreePayments,
                clientDetails: clientDetails,
                groupFounderOrderID: "2222"
                );

            return order;
        }