public void TestCastAttachmentToExtraMerchantDataIncorrectBody() { Attachment attachment = new Attachment { ContentType = "application/vnd.klarna.internal.emd-v2+json", Body = "{\"payment_history_full\":[{\"date_of_first_paid_purchase\":123}]}" }; Assert.Throws <JsonSerializationException>( delegate { ExtraMerchantData emd = attachment; }); }
public void TestCastAttachmentToExtraMerchantData() { Attachment attachment = new Attachment { ContentType = "application/vnd.klarna.internal.emd-v2+json", Body = JSON }; ExtraMerchantData emd = attachment; Assert.AreEqual(TICKS, emd.Body.PaymentHistoryFull[0].DateOfFirstPaidPurchase.Ticks); }
public void TestCastAttachmentToExtraMerchantDataIncorrectContentType(string contentType) { Attachment attachment = new Attachment { ContentType = contentType, Body = JSON }; InvalidCastException e = Assert.Throws <InvalidCastException>( delegate { ExtraMerchantData emd = attachment; }); Assert.AreEqual("Incorrect Content-Type", e.Message); }
public void TestCastExtraMerchantDataToAttachment() { ExtraMerchantData emd = new ExtraMerchantData { Body = new ExtraMerchantDataBody { PaymentHistoryFull = new List <PaymentHistoryFull> { new PaymentHistoryFull { DateOfFirstPaidPurchase = new DateTime(TICKS) } } } }; Attachment attachment = emd; Assert.AreEqual(emd.ContentType, attachment.ContentType); Assert.AreEqual(JSON, attachment.Body); }
/// <summary> /// Run the example code. /// </summary> public static void Main() { const string MerchantId = "0"; const string SharedSecret = "sharedSecret"; IConnector connector = ConnectorFactory.Create(MerchantId, SharedSecret, Client.EuTestBaseUrl); Client client = new Client(connector); ICheckoutOrder checkout = client.NewCheckoutOrder(); OrderLine orderLine = new OrderLine { Type = OrderLineType.Physical, Reference = "123050", Name = "Tomatoes", Quantity = 10, QuantityUnit = "kg", UnitPrice = 600, TaxRate = 2500, TotalAmount = 6000, TotalTaxAmount = 1200 }; OrderLine orderLine2 = new OrderLine { Type = OrderLineType.Physical, Reference = "543670", Name = "Bananas", Quantity = 1, QuantityUnit = "bag", UnitPrice = 5000, TaxRate = 2500, TotalAmount = 4000, TotalDiscountAmount = 1000, TotalTaxAmount = 800 }; MerchantUrls merchantUrls = new MerchantUrls { Terms = new Uri("http://www.merchant.com/toc"), Checkout = new Uri("http://www.merchant.com/checkout?klarna_order_id={checkout.order.id}"), Confirmation = new Uri("http://www.merchant.com/thank-you?klarna_order_id={checkout.order.id}"), Push = new Uri("http://www.merchant.com/create_order?klarna_order_id={checkout.order.id}") }; List <PaymentHistoryFull> purchaseHistoryFull = new List <PaymentHistoryFull> { new PaymentHistoryFull { UniqueAccountIdentifier = "Test Testperson", PaymentOption = "card", NumberPaidPurchases = 1, TotalAmountPaidPurchases = 10000, DateOfLastPaidPurchase = DateTime.Now, DateOfFirstPaidPurchase = DateTime.Now } }; ExtraMerchantData extraMerchantData = new ExtraMerchantData { Body = new ExtraMerchantDataBody { PaymentHistoryFull = purchaseHistoryFull } }; CheckoutOrderData orderData = new CheckoutOrderData() { PurchaseCountry = "gb", PurchaseCurrency = "gbp", Locale = "en-gb", OrderAmount = 10000, OrderTaxAmount = 2000, OrderLines = new List <OrderLine> { orderLine, orderLine2 }, MerchantUrls = merchantUrls, Attachment = extraMerchantData }; try { checkout.Create(orderData); orderData = checkout.Fetch(); string orderID = orderData.OrderId; ExtraMerchantData emd = orderData.Attachment; } catch (ApiException ex) { Console.WriteLine(ex.ErrorMessage.ErrorCode); Console.WriteLine(ex.ErrorMessage.ErrorMessages); Console.WriteLine(ex.ErrorMessage.CorrelationId); } catch (WebException ex) { Console.WriteLine(ex.Message); } }