コード例 #1
0
        public void ReturnCorrectSerialization()
        {
            //For more info https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNIntro/#id08CKFJ00JYK
            const string expected = "mc_gross=19.95&protection_eligibility=Eligible&address_status=confirmed&payer_id=LPLWNMTBWMFAY&tax=0.00&address_street=1+Main+St&payment_date=20%3A12%3A59+Jan+13%2C+2009+PST&payment_status=Completed&charset=windows-1252&address_zip=95131&first_name=Test&mc_fee=0.88&address_country_code=US&address_name=Test+User&notify_version=2.6&custom=&payer_status=verified&address_country=United+States&address_city=San+Jose&quantity=1&verify_sign=AtkOfCXbDm2hu0ZELryHFjY-Vb7PAUvS6nMXgysbElEn9v-1XcmSoGtf&payer_email=gpmac_1231902590_per%40paypal.com&txn_id=61E67681CH3238416&payment_type=instant&last_name=User&address_state=CA&receiver_email=gpmac_1231902686_biz%40paypal.com&payment_fee=0.88&receiver_id=S8XGHLYDW9T3S&txn_type=express_checkout&item_name=&mc_currency=USD&item_number=&residence_country=US&test_ipn=1&handling_amount=0.00&transaction_subject=&payment_gross=19.95&shipping=0.00";

            var data = new NameValueCollection();

            data.Add("mc_gross", "19.95");
            data.Add("protection_eligibility", "Eligible");
            data.Add("address_status", "confirmed");
            data.Add("payer_id", "LPLWNMTBWMFAY");
            data.Add("tax", "0.00");
            data.Add("address_street", "1 Main St");
            data.Add("payment_date", "20:12:59 Jan 13, 2009 PST");
            data.Add("payment_status", "Completed");
            data.Add("charset", "windows-1252");
            data.Add("address_zip", "95131");
            data.Add("first_name", "Test");
            data.Add("mc_fee", "0.88");
            data.Add("address_country_code", "US");
            data.Add("address_name", "Test User");
            data.Add("notify_version", "2.6");
            data.Add("custom", "");
            data.Add("payer_status", "verified");
            data.Add("address_country", "United States");
            data.Add("address_city", "San Jose");
            data.Add("quantity", "1");
            data.Add("verify_sign", "AtkOfCXbDm2hu0ZELryHFjY-Vb7PAUvS6nMXgysbElEn9v-1XcmSoGtf");
            data.Add("payer_email", "*****@*****.**");
            data.Add("txn_id", "61E67681CH3238416");
            data.Add("payment_type", "instant");
            data.Add("last_name", "User");
            data.Add("address_state", "CA");
            data.Add("receiver_email", "*****@*****.**");
            data.Add("payment_fee", "0.88");
            data.Add("receiver_id", "S8XGHLYDW9T3S");
            data.Add("txn_type", "express_checkout");
            data.Add("item_name", "");
            data.Add("mc_currency", "USD");
            data.Add("item_number", "");
            data.Add("residence_country", "US");
            data.Add("test_ipn", "1");
            data.Add("handling_amount", "0.00");
            data.Add("transaction_subject", "");
            data.Add("payment_gross", "19.95");
            data.Add("shipping", "0.00");

            var payPalInfo = new PayPalInfo(data);
            var result     = payPalInfo.SerializedMessage();

            Assert.True(expected.ToUpper().StartsWith(result.ToUpper()));
            Assert.Equal(result.ToUpper(), expected.ToUpper());
        }
コード例 #2
0
        public void ShouldDoSomething()
        {
            var parser     = new FileIniDataParser();
            var parsedData = parser.ReadFile(@"../../../LicenseGeneratorWorkflowDataFiles/LicenseGeneratorWorkflow.ini");

            var smtpSettings = new SmtpSettings();

            smtpSettings.Server   = parsedData["SMTP"].GetKeyData("smtpServer").Value;
            smtpSettings.Port     = Convert.ToInt32(parsedData["SMTP"].GetKeyData("smtpPort").Value);
            smtpSettings.UseSsl   = Convert.ToBoolean(parsedData["SMTP"].GetKeyData("smtpUseSsl").Value);
            smtpSettings.Username = parsedData["SMTP"].GetKeyData("smtpUsername").Value;
            smtpSettings.Password = parsedData["SMTP"].GetKeyData("smtpPassword").Value;

            var cryptoLicenseSettings = new CryptoLicenseSettings();

            cryptoLicenseSettings.LicenseCode         = parsedData["CryptoLicensing"].GetKeyData("LicenseCode").Value;
            cryptoLicenseSettings.LicenseFileLocation = parsedData["CryptoLicensing"].GetKeyData("LicenseFileLocation").Value;

            var emailSettings = new EmailSettings();

            emailSettings.Subject = parsedData["Email"].GetKeyData("Subject").Value;
            emailSettings.EndUserEmailTemaplateFileLocation = parsedData["Email"].GetKeyData("EndUserEmailTemaplateFileLocation").Value;
            emailSettings.ProductName = parsedData["Email"].GetKeyData("ProductName").Value;
            emailSettings.From        = parsedData["Email"].GetKeyData("From").Value;

            var cryptoLicenseGeneratorWrapper = new CryptoLicenseGeneratorWrapper(cryptoLicenseSettings);
            var emailSender            = new EmailSender(smtpSettings);
            var userLicenseEmail       = new UserLicenseEmail(emailSettings, new TemplateToMessageConverter(), new EmailTemplatePlaceholders());
            var adminLicenseEmail      = new AdminLicenseEmail(emailSettings, new TemplateToMessageConverter(), new EmailTemplatePlaceholders());
            var paypalSettings         = new PayPalSettings();
            var paypalValidation       = new PaypalIpnValidation(paypalSettings);
            var productProfileSettings = new ProductProfileSettings();

            var licenseWorkflow = new PaypalLicenseWorkflow(
                cryptoLicenseGeneratorWrapper,
                emailSender,
                userLicenseEmail,
                paypalValidation,
                productProfileSettings);

            var payPalInfo = new PayPalInfo();

            licenseWorkflow.Run(payPalInfo);
            Assert.True(true);
        }