コード例 #1
0
		public void GeneratedValuesShouldAgreeWithTestVectors() {
			var now = new DateTimeOffset(new DateTime(2001, 10, 14, 12, 15, 00));
			var expected = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase) {
				{"entryid","switch"},
				{"appaction","doDirectPay"},
				{"switchaction","3"},
				{"handOverDatatype","1"},
				{"appname","ssse"},
				{"language","sv"},
				{"country","se"},
				{"butikid","9999"},
				{"ordernummer","ABCD000001"},
				{"orderbelopp","1100"},
				{"senastebokningstid", "20011015121500"},
				{"retururl","https://www.butik.com/cgi/checkorder"},
				{"kontrollsumma","26efb0517cdfbbacb13a61e91feae16d"}
			};
			var provider = new HandelsbankenPaymentProvider("account=9999&secret=aaaabbbb") {
				Clock = () => now, Language = "sv", Country = "se"
			};
			var actual = provider.GenerateDetails(expected["ordernummer"], 1100m, expected["retururl"], expected["retururl"], "ignored");
			Assert.Equal("https://secure.handelsbanken.se/bb/glss/servlet/ssco_dirapp", actual.Url);
			foreach(var key in expected.Keys) {
				Assert.Equal(expected[key], actual.Fields[key]);
			}
		}