public async Task Should_Update_Personal_Sub_Merchant() { CreateSubMerchantRequest createPersonalSubMerchantRequest = CreateSubMerchantRequestBuilder.Create() .PersonalSubMerchantRequest() .Build(); var merchant = await SubMerchant.CreateAsync(createPersonalSubMerchantRequest, Options); string subMerchantKey = merchant.SubMerchantKey; UpdateSubMerchantRequest updateSubMerchantRequest = UpdateSubMerchantRequestBuilder.Create() .SubMerchantKey(subMerchantKey) .ContactName("Jane") .ContactSurname("Doe") .IdentityNumber("31300864726") .Name("Jane's market") .Build(); SubMerchant subMerchant = await SubMerchant.UpdateAsync(updateSubMerchantRequest, Options); PrintResponse(subMerchant); Assert.AreEqual(Status.SUCCESS.ToString(), subMerchant.Status); Assert.AreEqual(Locale.TR.ToString(), subMerchant.Locale); Assert.AreEqual("123456789", subMerchant.ConversationId); Assert.NotNull(subMerchant.SystemTime); Assert.Null(subMerchant.ErrorCode); Assert.Null(subMerchant.ErrorMessage); Assert.Null(subMerchant.ErrorGroup); }
public async Task Should_Approve_Payment_Item() { CreateSubMerchantRequest request = CreateSubMerchantRequestBuilder.Create() .PersonalSubMerchantRequest() .Build(); SubMerchant subMerchant = await SubMerchant.CreateAsync(request, Options); CreatePaymentRequest paymentRequest = CreatePaymentRequestBuilder.Create() .MarketplacePayment(subMerchant.SubMerchantKey) .Build(); Payment payment = await Payment.CreateAsync(paymentRequest, Options); string paymentTransactionId = payment.PaymentItems[0].PaymentTransactionId; CreateApprovalRequest approvalRequest = CreateApprovalRequestBuilder.Create() .PaymentTransactionId(paymentTransactionId) .Build(); Approval approval = await Approval.CreateAsync(approvalRequest, Options); Assert.AreEqual(paymentTransactionId, approval.PaymentTransactionId); Assert.AreEqual(Locale.TR.ToString(), payment.Locale); Assert.AreEqual(Status.SUCCESS.ToString(), payment.Status); Assert.NotNull(payment.SystemTime); Assert.Null(payment.ErrorCode); Assert.Null(payment.ErrorMessage); Assert.Null(payment.ErrorGroup); }
public async Task Should_Update_Limited_Company_Sub_Merchant() { CreateSubMerchantRequest createLimitedCompanySubMerchantRequest = CreateSubMerchantRequestBuilder.Create() .LimitedCompanySubMerchantRequest() .Build(); var merchant = await SubMerchant.CreateAsync(createLimitedCompanySubMerchantRequest, Options); string subMerchantKey = merchant.SubMerchantKey; UpdateSubMerchantRequest updateSubMerchantRequest = UpdateSubMerchantRequestBuilder.Create() .SubMerchantKey(subMerchantKey) .Name("Jane's market") .IdentityNumber("31300864726") .TaxOffice("Tax office") .LegalCompanyTitle("ABC inc") .Build(); SubMerchant subMerchant = await SubMerchant.UpdateAsync(updateSubMerchantRequest, Options); PrintResponse(subMerchant); Assert.AreEqual(Status.SUCCESS.ToString(), subMerchant.Status); Assert.AreEqual(Locale.TR.ToString(), subMerchant.Locale); Assert.AreEqual("123456789", subMerchant.ConversationId); Assert.NotNull(subMerchant.SystemTime); Assert.Null(subMerchant.ErrorCode); Assert.Null(subMerchant.ErrorMessage); Assert.Null(subMerchant.ErrorGroup); }
public async Task Should_Retrieve_Sub_Merchant() { string subMerchantExternalId = RandomGenerator.RandomId; CreateSubMerchantRequest createLimitedCompanySubMerchantRequest = CreateSubMerchantRequestBuilder.Create() .LimitedCompanySubMerchantRequest() .SubMerchantExternalId(subMerchantExternalId) .Build(); await SubMerchant.CreateAsync(createLimitedCompanySubMerchantRequest, Options); RetrieveSubMerchantRequest request = RetrieveSubMerchantRequestBuilder.Create() .SubMerchantExternalId(subMerchantExternalId) .Build(); SubMerchant subMerchant = await SubMerchant.RetrieveAsync(request, Options); PrintResponse(subMerchant); Assert.AreEqual(Status.SUCCESS.ToString(), subMerchant.Status); Assert.AreEqual(Locale.TR.ToString(), subMerchant.Locale); Assert.AreEqual("123456789", subMerchant.ConversationId); Assert.AreEqual("9261877", subMerchant.TaxNumber); Assert.AreEqual("TR180006200119000006672315", subMerchant.Iban); Assert.AreEqual("Tax office", subMerchant.TaxOffice); Assert.AreEqual(subMerchantExternalId, subMerchant.SubMerchantExternalId); Assert.NotNull(subMerchant.SystemTime); Assert.Null(subMerchant.ErrorCode); Assert.Null(subMerchant.ErrorMessage); Assert.Null(subMerchant.ErrorGroup); }
public async Task Should_Create_Threeds_Payment_With_Physical_And_Virtual_Item_For_Marketplace_Merchant() { CreateSubMerchantRequest createSubMerchantRequest = CreateSubMerchantRequestBuilder.Create() .PersonalSubMerchantRequest() .Build(); SubMerchant subMerchant = await SubMerchant.CreateAsync(createSubMerchantRequest, Options); CreatePaymentRequest createPaymentRequest = CreatePaymentRequestBuilder.Create() .MarketplacePayment(subMerchant.SubMerchantKey) .CallbackUrl("https://www.merchant.com/callback") .Build(); ThreedsInitialize threedsInitialize = await ThreedsInitialize.CreateAsync(createPaymentRequest, Options); PrintResponse(threedsInitialize); Assert.AreEqual(Locale.TR.ToString(), threedsInitialize.Locale); Assert.AreEqual(Status.SUCCESS.ToString(), threedsInitialize.Status); Assert.NotNull(threedsInitialize.SystemTime); Assert.NotNull(threedsInitialize.HtmlContent); Assert.Null(threedsInitialize.ErrorCode); Assert.Null(threedsInitialize.ErrorMessage); Assert.Null(threedsInitialize.ErrorGroup); }
public async Task Should_Not_Update_Payment_Item_When_TransactionId_Is_Wrong() { CreateSubMerchantRequest createSubMerchantRequest = CreateSubMerchantRequestBuilder.Create() .PersonalSubMerchantRequest() .Build(); SubMerchant subMerchant = await SubMerchant.CreateAsync(createSubMerchantRequest, Options); string subMerchantKey = subMerchant.SubMerchantKey; CreatePaymentRequest request = CreatePaymentRequestBuilder .Create() .MarketplacePayment(subMerchantKey, "40", "30") .Price("40") .PaidPrice("40") .Build(); Payment payment = await Payment.CreateAsync(request, Options); UpdatePaymentItemRequest updateRequest = new UpdatePaymentItemRequest { Locale = Locale.TR.ToString(), ConversationId = payment.ConversationId, SubMerchantKey = subMerchantKey, PaymentTransactionId = "1", SubMerchantPrice = "25" }; PaymentItem paymentItem = await PaymentItem.UpdateAsync(updateRequest, Options); PrintResponse(paymentItem); Assert.NotNull(paymentItem); Assert.AreEqual(Status.FAILURE.ToString(), paymentItem.Status); }
public async Task Should_Create_Limited_Company_Sub_Merchant() { CreateSubMerchantRequest request = new CreateSubMerchantRequest { Locale = Locale.TR.ToString(), ConversationId = "123456789", SubMerchantExternalId = "AS49224", SubMerchantType = SubMerchantType.LIMITED_OR_JOINT_STOCK_COMPANY.ToString(), Address = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1", TaxOffice = "Tax office", TaxNumber = "9261877", LegalCompanyTitle = "XYZ inc", Email = "*****@*****.**", GsmNumber = "+905350000000", Name = "John's market", Iban = "TR180006200119000006672315", Currency = Currency.TRY.ToString() }; SubMerchant subMerchant = await SubMerchant.CreateAsync(request, Options); PrintResponse(subMerchant); Assert.AreEqual(Status.SUCCESS.ToString(), subMerchant.Status); Assert.AreEqual(Locale.TR.ToString(), subMerchant.Locale); Assert.AreEqual("123456789", subMerchant.ConversationId); Assert.IsNotNull(subMerchant.SystemTime); Assert.IsNull(subMerchant.ErrorCode); Assert.IsNull(subMerchant.ErrorMessage); Assert.IsNull(subMerchant.ErrorGroup); }
public async Task Should_Create_Personal_Sub_Merchant() { CreateSubMerchantRequest request = new CreateSubMerchantRequest { Locale = Locale.TR.ToString(), ConversationId = "123456789", SubMerchantExternalId = "B49224", SubMerchantType = SubMerchantType.PERSONAL.ToString(), Address = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1", ContactName = "John", ContactSurname = "Doe", Email = "*****@*****.**", GsmNumber = "+905350000000", Name = "John's market", Iban = "TR180006200119000006672315", IdentityNumber = "31300864726", Currency = Currency.TRY.ToString() }; SubMerchant subMerchant = await SubMerchant.CreateAsync(request, Options); PrintResponse(subMerchant); Assert.AreEqual(Status.SUCCESS.ToString(), subMerchant.Status); Assert.AreEqual(Locale.TR.ToString(), subMerchant.Locale); Assert.AreEqual("123456789", subMerchant.ConversationId); Assert.IsNotNull(subMerchant.SystemTime); Assert.IsNull(subMerchant.ErrorCode); Assert.IsNull(subMerchant.ErrorMessage); Assert.IsNull(subMerchant.ErrorGroup); }
public async Task Should_Update_Payment_Item() { CreateSubMerchantRequest createSubMerchantRequest = CreateSubMerchantRequestBuilder.Create() .PersonalSubMerchantRequest() .Build(); SubMerchant subMerchant = await SubMerchant.CreateAsync(createSubMerchantRequest, Options); string subMerchantKey = subMerchant.SubMerchantKey; CreatePaymentRequest request = CreatePaymentRequestBuilder .Create() .MarketplacePayment(subMerchantKey, "0.4", "0.3") .Price("0.4") .PaidPrice("0.4") .Build(); Payment payment = await Payment.CreateAsync(request, Options); UpdatePaymentItemRequest updateRequest = new UpdatePaymentItemRequest { Locale = Locale.TR.ToString(), ConversationId = payment.ConversationId, SubMerchantKey = subMerchantKey, PaymentTransactionId = payment.PaymentItems?[0]?.PaymentTransactionId, SubMerchantPrice = "0.23" }; PaymentItem paymentItem = await PaymentItem.UpdateAsync(updateRequest, Options); PrintResponse(paymentItem); Assert.NotNull(paymentItem); Assert.NotNull(paymentItem.Locale); Assert.NotNull(paymentItem.ConversationId); Assert.NotNull(paymentItem.SubMerchantKey); Assert.NotNull(paymentItem.PaymentTransactionId); Assert.NotNull(paymentItem.SubMerchantPrice); Assert.AreEqual(Status.SUCCESS.ToString(), paymentItem.Status); Assert.AreEqual(Locale.TR.ToString(), paymentItem.Locale); Assert.AreEqual(updateRequest.ConversationId, paymentItem.ConversationId); Assert.AreEqual(updateRequest.SubMerchantKey, paymentItem.SubMerchantKey); Assert.AreEqual(updateRequest.PaymentTransactionId, paymentItem.PaymentTransactionId); Assert.AreEqual(updateRequest.SubMerchantPrice, paymentItem.SubMerchantPrice); }
public async Task Should_Not_MakePayment_When_Price_And_PaidPrice_Are_Same() { CreateSubMerchantRequest createSubMerchantRequest = CreateSubMerchantRequestBuilder.Create() .PersonalSubMerchantRequest() .Build(); SubMerchant subMerchant = await SubMerchant.CreateAsync(createSubMerchantRequest, Options); string subMerchantKey = subMerchant.SubMerchantKey; CreatePaymentRequest request = CreatePaymentRequestBuilder.Create() .MarketplacePaymentWithSamePrice(subMerchantKey) .Build(); Payment payment = await Payment.CreateAsync(request, Options); Assert.AreEqual(Status.FAILURE.ToString(), payment.Status); Assert.NotNull(payment.ErrorCode); Assert.NotNull(payment.ErrorMessage); }
public async Task Should_Create_Marketplace_Payment() { CreateSubMerchantRequest createSubMerchantRequest = CreateSubMerchantRequestBuilder.Create() .PersonalSubMerchantRequest() .Build(); SubMerchant subMerchant = await SubMerchant.CreateAsync(createSubMerchantRequest, Options); string subMerchantKey = subMerchant.SubMerchantKey; CreatePaymentRequest request = CreatePaymentRequestBuilder.Create() .MarketplacePayment(subMerchantKey) .Build(); Payment payment = await Payment.CreateAsync(request, Options); PrintResponse(payment); Assert.Null(payment.ConnectorName); Assert.AreEqual(Locale.TR.ToString(), payment.Locale); Assert.AreEqual(Status.SUCCESS.ToString(), payment.Status); Assert.NotNull(payment.SystemTime); Assert.Null(payment.ErrorCode); Assert.Null(payment.ErrorMessage); Assert.Null(payment.ErrorGroup); Assert.NotNull(payment.PaymentId); Assert.NotNull(payment.BasketId); Assert.AreEqual("1", payment.Price); Assert.AreEqual("1.1", payment.PaidPrice); Assert.AreEqual("0.02887500", payment.IyziCommissionRateAmount); Assert.AreEqual("0.25000000", payment.IyziCommissionFee); Assert.AreEqual("10.00000000", payment.MerchantCommissionRate); Assert.AreEqual("0.1", payment.MerchantCommissionRateAmount); Assert.AreEqual(0.028875, payment.IyziCommissionRateAmount.ParseDouble()); Assert.AreEqual(0.25, payment.IyziCommissionFee.ParseDouble()); Assert.AreEqual(10, payment.MerchantCommissionRate.ParseDouble()); AssertDecimal.AreEqual(0.02887500M, payment.IyziCommissionRateAmount.ParseDecimal()); AssertDecimal.AreEqual(0.25000000M, payment.IyziCommissionFee.ParseDecimal()); AssertDecimal.AreEqual(10.00000000M, payment.MerchantCommissionRate.ParseDecimal()); Assert.AreEqual(1, payment.Installment); }
public async Task Should_Create_Limited_Company_Sub_Merchant() { string subMerchantExternalId = RandomGenerator.RandomId; CreateSubMerchantRequest request = CreateSubMerchantRequestBuilder.Create() .SubMerchantExternalId(subMerchantExternalId) .SubMerchantType(SubMerchantType.LIMITED_OR_JOINT_STOCK_COMPANY.ToString()) .TaxOffice("Tax office") .TaxNumber("9261877") .LegalCompanyTitle("XYZ inc") .Build(); SubMerchant subMerchant = await SubMerchant.CreateAsync(request, Options); PrintResponse(subMerchant); Assert.AreEqual(Status.SUCCESS.ToString(), subMerchant.Status); Assert.AreEqual(Locale.TR.ToString(), subMerchant.Locale); Assert.AreEqual("123456789", subMerchant.ConversationId); Assert.NotNull(subMerchant.SystemTime); Assert.Null(subMerchant.ErrorCode); Assert.Null(subMerchant.ErrorMessage); Assert.Null(subMerchant.ErrorGroup); }
public async Task Should_Create_Private_Sub_Merchant() { string subMerchantExternalId = RandomGenerator.RandomId; CreateSubMerchantRequest request = CreateSubMerchantRequestBuilder.Create() .SubMerchantType(SubMerchantType.PRIVATE_COMPANY.ToString()) .LegalCompanyTitle("John Doe inc") .TaxOffice("Tax office") .IdentityNumber("31300864726") .SubMerchantExternalId(subMerchantExternalId) .Build(); SubMerchant subMerchant = await SubMerchant.CreateAsync(request, Options); PrintResponse(subMerchant); Assert.AreEqual(Status.SUCCESS.ToString(), subMerchant.Status); Assert.AreEqual(Locale.TR.ToString(), subMerchant.Locale); Assert.AreEqual("123456789", subMerchant.ConversationId); Assert.NotNull(subMerchant.SystemTime); Assert.Null(subMerchant.ErrorCode); Assert.Null(subMerchant.ErrorMessage); Assert.Null(subMerchant.ErrorGroup); }
public async Task Should_Create_personal_Sub_Merchant() { string subMerchantExternalId = RandomGenerator.RandomId; CreateSubMerchantRequest request = CreateSubMerchantRequestBuilder.Create() .SubMerchantType(SubMerchantType.PERSONAL.ToString()) .ContactName("John") .ContactSurname("Doe") .IdentityNumber("123456789") .SubMerchantExternalId(subMerchantExternalId) .Build(); SubMerchant subMerchant = await SubMerchant.CreateAsync(request, Options); PrintResponse(subMerchant); Assert.AreEqual(Status.SUCCESS.ToString(), subMerchant.Status); Assert.AreEqual(Locale.TR.ToString(), subMerchant.Locale); Assert.AreEqual("123456789", subMerchant.ConversationId); Assert.NotNull(subMerchant.SystemTime); Assert.Null(subMerchant.ErrorCode); Assert.Null(subMerchant.ErrorMessage); Assert.Null(subMerchant.ErrorGroup); }
public async Task <IActionResult> CreateSubMerchant(int id) { CreateSubMerchantRequest request = new CreateSubMerchantRequest { Locale = Locale.TR.ToString(), ConversationId = "123456789", SubMerchantExternalId = "mor1", SubMerchantType = SubMerchantType.PERSONAL.ToString(), Address = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1", ContactName = "John", ContactSurname = "Doe", Email = "*****@*****.**", GsmNumber = "+905350000013", Name = "memo's market", Iban = "TR180006200119000006672315", IdentityNumber = "31300861213", Currency = Currency.TRY.ToString() }; SubMerchant subMerchant = await SubMerchant.CreateAsync(request, option); return(RedirectToAction(nameof(Index))); }