示例#1
0
        public void Should_Update_Limited_Company_Sub_Merchant()
        {
            CreateSubMerchantRequest createLimitedCompanySubMerchantRequest = CreateSubMerchantRequestBuilder.Create()
                                                                              .LimitedCompanySubMerchantRequest()
                                                                              .Build();

            string subMerchantKey = SubMerchant.Create(createLimitedCompanySubMerchantRequest, Options).SubMerchantKey;

            UpdateSubMerchantRequest updateSubMerchantRequest = UpdateSubMerchantRequestBuilder.Create()
                                                                .SubMerchantKey(subMerchantKey)
                                                                .Name("Jane's market")
                                                                .IdentityNumber("31300864726")
                                                                .TaxOffice("Tax office")
                                                                .LegalCompanyTitle("ABC inc")
                                                                .Build();

            SubMerchant subMerchant = SubMerchant.Update(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 void Should_Create_Limited_Company_Sub_Merchant()
        {
            CreateSubMerchantRequest request = new CreateSubMerchantRequest();
            request.Locale = Locale.TR.ToString();
            request.ConversationId = "123456789";
            request.SubMerchantExternalId = "AS49224";
            request.SubMerchantType = SubMerchantType.LIMITED_OR_JOINT_STOCK_COMPANY.ToString();
            request.Address = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1";
            request.TaxOffice = "Tax office";
            request.TaxNumber = "9261877";
            request.LegalCompanyTitle = "XYZ inc";
            request.Email = "*****@*****.**";
            request.GsmNumber = "+905350000000";
            request.Name = "John's market";
            request.Iban = "TR180006200119000006672315";
            request.Currency = Currency.TRY.ToString();

            SubMerchant subMerchant = SubMerchant.Create(request, options);

            PrintResponse<SubMerchant>(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 void Should_Create_Personal_Sub_Merchant()
        {
            CreateSubMerchantRequest request = new CreateSubMerchantRequest();
            request.Locale = Locale.TR.ToString();
            request.ConversationId = "123456789";
            request.SubMerchantExternalId = "B49224";
            request.SubMerchantType = SubMerchantType.PERSONAL.ToString();
            request.Address = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1";
            request.ContactName = "John";
            request.ContactSurname = "Doe";
            request.Email = "*****@*****.**";
            request.GsmNumber = "+905350000000";
            request.Name = "John's market";
            request.Iban = "TR180006200119000006672315";
            request.IdentityNumber = "31300864726";
            request.Currency = Currency.TRY.ToString();

            SubMerchant subMerchant = SubMerchant.Create(request, options);

            PrintResponse<SubMerchant>(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);
        }
示例#4
0
        public void Should_Update_Personal_Sub_Merchant()
        {
            CreateSubMerchantRequest createPersonalSubMerchantRequest = CreateSubMerchantRequestBuilder.Create()
                                                                        .PersonalSubMerchantRequest()
                                                                        .Build();

            string subMerchantKey = SubMerchant.Create(createPersonalSubMerchantRequest, Options).SubMerchantKey;

            UpdateSubMerchantRequest updateSubMerchantRequest = UpdateSubMerchantRequestBuilder.Create()
                                                                .SubMerchantKey(subMerchantKey)
                                                                .ContactName("Jane")
                                                                .ContactSurname("Doe")
                                                                .IdentityNumber("31300864726")
                                                                .Name("Jane's market")
                                                                .Build();

            SubMerchant subMerchant = SubMerchant.Update(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);
        }
示例#5
0
        public void Should_Retrieve_Sub_Merchant()
        {
            string subMerchantExternalId = RandomGenerator.RandomId;
            CreateSubMerchantRequest createLimitedCompanySubMerchantRequest = CreateSubMerchantRequestBuilder.Create()
                                                                              .LimitedCompanySubMerchantRequest()
                                                                              .SubMerchantExternalId(subMerchantExternalId)
                                                                              .Build();

            SubMerchant.Create(createLimitedCompanySubMerchantRequest, Options);

            RetrieveSubMerchantRequest request = RetrieveSubMerchantRequestBuilder.Create()
                                                 .SubMerchantExternalId(subMerchantExternalId)
                                                 .Build();

            SubMerchant subMerchant = SubMerchant.Retrieve(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 void Should_Create_Marketplace_Payment()
        {
            CreateSubMerchantRequest createSubMerchantRequest = CreateSubMerchantRequestBuilder.Create()
                                                                .PersonalSubMerchantRequest()
                                                                .Build();

            string subMerchantKey        = SubMerchant.Create(createSubMerchantRequest, Options).SubMerchantKey;
            CreatePaymentRequest request = CreatePaymentRequestBuilder.Create()
                                           .MarketplacePayment(subMerchantKey)
                                           .Build();

            Payment payment = Payment.Create(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.028875", payment.IyziCommissionRateAmount.RemoveTrailingZeros());
            Assert.AreEqual("0.25", payment.IyziCommissionFee.RemoveTrailingZeros());
            Assert.AreEqual("10", payment.MerchantCommissionRate.RemoveTrailingZeros());
            Assert.AreEqual("0.1", payment.MerchantCommissionRateAmount.RemoveTrailingZeros());
            Assert.AreEqual(1, payment.Installment);
        }
示例#7
0
        public async Task Should_Update_Payment_Item_When_Price_Does_Not_Have_Dot()
        {
            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 = payment.PaymentItems?[0]?.PaymentTransactionId,
                SubMerchantPrice     = "25"
            };

            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);
        }
示例#8
0
        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);
        }
示例#9
0
        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);
        }
示例#10
0
        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)));
        }
        public CreateSubMerchantRequest Build()
        {
            CreateSubMerchantRequest createSubMerchantRequest = new CreateSubMerchantRequest();

            createSubMerchantRequest.Locale                = _locale;
            createSubMerchantRequest.ConversationId        = _conversationId;
            createSubMerchantRequest.Name                  = _name;
            createSubMerchantRequest.Email                 = _email;
            createSubMerchantRequest.GsmNumber             = _gsmNumber;
            createSubMerchantRequest.Address               = _address;
            createSubMerchantRequest.Iban                  = _iban;
            createSubMerchantRequest.TaxOffice             = _taxOffice;
            createSubMerchantRequest.ContactName           = _contactName;
            createSubMerchantRequest.ContactSurname        = _contactSurname;
            createSubMerchantRequest.LegalCompanyTitle     = _legalCompanyTitle;
            createSubMerchantRequest.SubMerchantExternalId = _subMerchantExternalId;
            createSubMerchantRequest.IdentityNumber        = _identityNumber;
            createSubMerchantRequest.TaxNumber             = _taxNumber;
            createSubMerchantRequest.SubMerchantType       = _subMerchantType;
            createSubMerchantRequest.Currency              = _currency;
            createSubMerchantRequest.SwiftCode             = _swiftCode;
            return(createSubMerchantRequest);
        }
示例#12
0
        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);
        }
示例#13
0
        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);
        }
示例#14
0
        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);
        }
示例#15
0
 // Async
 public static async Task <SubMerchant> CreateAsync(CreateSubMerchantRequest request, Options options)
 {
     return(await RestHttpClient.Create().PostAsync <SubMerchant>(options.BaseUrl + "/onboarding/submerchant", GetHttpHeaders(request, options), request));
 }
示例#16
0
 // sync
 public static SubMerchant Create(CreateSubMerchantRequest request, Options options)
 {
     return(RestHttpClient.Create().Post <SubMerchant>(options.BaseUrl + "/onboarding/submerchant", GetHttpHeaders(request, options), request));
 }
示例#17
0
 public static async Task <SubMerchant> CreateAsync(CreateSubMerchantRequest request, Options options)
 {
     return(await RestHttpClient.Instance.PostAsync <SubMerchant>(options.BaseUrl + SubMerchantUrl, GetHttpHeaders(request, options), request));
 }
示例#18
0
 public static SubMerchant Create(CreateSubMerchantRequest request, Options options)
 {
     return(RestHttpClient.Instance.Post <SubMerchant>(options.BaseUrl + SubMerchantUrl, GetHttpHeaders(request, options), request));
 }
示例#19
0
 public static SubMerchant Create(CreateSubMerchantRequest request, Options options)
 {
     return RestHttpClient.Create().Post<SubMerchant>(options.BaseUrl + "/onboarding/submerchant", GetHttpHeaders(request, options), request);
 }