public async Task <GetMerchantPaymentMethodsResponse> GetMerchantPaymentMethods( string clientRequestId, string currencyCode = null, string countryCode = null, string languageCode = null, string type = null, string userId = null, DeviceDetails deviceDetails = null, string rebillingType = null, string authenticationTypeOnly = null, SubMerchant subMerchant = null, Addendums addendums = null) { var request = new GetMerchantPaymentMethodsRequest( merchantInfo, sessionToken, clientRequestId) { CurrencyCode = currencyCode, CountryCode = countryCode, LanguageCode = languageCode, Type = type, UserId = userId, DeviceDetails = deviceDetails, RebillingType = rebillingType, AuthenticationTypeOnly = authenticationTypeOnly, SubMerchant = subMerchant, Addendums = addendums }; return(await safechargeRequestExecutor.GetMerchantPaymentMethods(request)); }
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 void Should_Disapprove_Payment() { CreateSubMerchantRequest request = CreateSubMerchantRequestBuilder.Create() .PersonalSubMerchantRequest() .Build(); SubMerchant subMerchant = SubMerchant.Create(request, _options); CreatePaymentRequest paymentRequest = CreatePaymentRequestBuilder.Create() .MarketplacePayment(subMerchant.SubMerchantKey) .Build(); Payment payment = Payment.Create(paymentRequest, _options); String paymentTransactionId = payment.PaymentItems[0].PaymentTransactionId; CreateApprovalRequest approvalRequest = CreateApprovalRequestBuilder.Create() .PaymentTransactionId(paymentTransactionId) .Build(); Approval.Create(approvalRequest, _options); Disapproval disapproval = Disapproval.Create(approvalRequest, _options); PrintResponse(disapproval); Assert.AreEqual(paymentTransactionId, disapproval.PaymentTransactionId); Assert.AreEqual(Status.SUCCESS.ToString(), disapproval.Status); Assert.AreEqual(Locale.TR.ToString(), disapproval.Locale); Assert.NotNull(disapproval.SystemTime); Assert.Null(disapproval.ErrorCode); Assert.Null(disapproval.ErrorMessage); Assert.Null(disapproval.ErrorGroup); }
public void Should_Create_Personal_Sub_Merchant() { CreateSubMerchantRequest request = new CreateSubMerchantRequest(); request.ConversationId = "123456"; request.Locale = Locale.TR.GetName(); request.SubMerchantExternalId = "B49224"; request.SubMerchantType = SubMerchantType.PERSONAL.ToString(); request.Address = "Nidakule Göztepe İş Merkezi Merdivenköy Mah. Bora Sok. No:1 Kat:19 Bağımsız 70/73 Göztepe Kadıköy 34732"; request.ContactName = "Sabri Onur"; request.ContactSurname = "Tüzün"; request.Email = "*****@*****.**"; request.GsmNumber = "+905350000000"; request.Name = "Sabri Onur'un mağazası"; request.Iban = "TR180006200119000006672315"; request.IdentityNumber = "1234567890"; SubMerchant subMerchant = SubMerchant.Create(request, options); PrintResponse <SubMerchant>(subMerchant); Assert.IsNotNull(subMerchant.SystemTime); Assert.AreEqual(Status.SUCCESS.ToString(), subMerchant.Status); Assert.AreEqual(Locale.TR.GetName(), subMerchant.Locale); Assert.AreEqual("123456789", subMerchant.ConversationId); }
public void Should_Create_Limited_Company_Sub_Merchant() { CreateSubMerchantRequest request = new CreateSubMerchantRequest(); request.ConversationId = "123456"; request.Locale = Locale.TR.GetName(); request.SubMerchantExternalId = "AS49224"; request.SubMerchantType = SubMerchantType.LIMITED_OR_JOINT_STOCK_COMPANY.ToString(); request.Address = "Nidakule Göztepe İş Merkezi Merdivenköy Mah. Bora Sok. No:1 Kat:19 Bağımsız 70/73 Göztepe Kadıköy 34732"; request.TaxOffice = "Kadıköy V.D."; request.TaxNumber = "9261877"; request.LegalCompanyTitle = "XYZ Bilişim Hizmetleri A.Ş."; request.Email = "*****@*****.**"; request.GsmNumber = "+905350000000"; request.Name = "Sabri Onur'un mağazası"; request.Iban = "TR180006200119000006672315"; SubMerchant subMerchant = SubMerchant.Create(request, options); PrintResponse <SubMerchant>(subMerchant); Assert.IsNotNull(subMerchant.SystemTime); Assert.AreEqual(Status.SUCCESS.ToString(), subMerchant.Status); Assert.AreEqual(Locale.TR.GetName(), subMerchant.Locale); Assert.AreEqual("123456789", subMerchant.ConversationId); }
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 <GetCardDetailsResponse> GetCardDetails( string clientUniqueId, string cardNumber, string userId = null, DeviceDetails deviceDetails = null, string rebillingType = null, string authenticationTypeOnly = null, SubMerchant subMerchant = null, Addendums addendums = null) { var request = new GetCardDetailsRequest( merchantInfo, sessionToken, clientUniqueId, cardNumber) { UserId = userId, DeviceDetails = deviceDetails, RebillingType = rebillingType, AuthenticationTypeOnly = authenticationTypeOnly, SubMerchant = subMerchant, Addendums = addendums }; return(await safechargeRequestExecutor.GetCardDetails(request)); }
public void Should_Update_Private_Sub_Merchant() { CreateSubMerchantRequest createPrivateSubMerchantRequest = CreateSubMerchantRequestBuilder.Create() .PrivateSubMerchantRequest() .Build(); string subMerchantKey = SubMerchant.Create(createPrivateSubMerchantRequest, _options).SubMerchantKey; UpdateSubMerchantRequest updateSubMerchantRequest = UpdateSubMerchantRequestBuilder.Create() .SubMerchantKey(subMerchantKey) .IdentityNumber("31300864726") .TaxOffice("Tax office") .LegalCompanyTitle("Jane Doe 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_Update_Private_Sub_Merchant() { UpdateSubMerchantRequest request = new UpdateSubMerchantRequest(); request.Locale = Locale.TR.ToString(); request.ConversationId = "123456789"; request.SubMerchantKey = "sub merchant key"; request.Address = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1"; request.TaxOffice = "Tax office"; request.LegalCompanyTitle = "Jane Doe inc"; request.Email = "*****@*****.**"; request.GsmNumber = "+905350000000"; request.Name = "Jane's market"; request.Iban = "TR180006200119000006672315"; request.IdentityNumber = "31300864726"; request.Currency = Currency.TRY.ToString(); SubMerchant subMerchant = SubMerchant.Update(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 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_Create_Private_Sub_Merchant() { CreateSubMerchantRequest request = new CreateSubMerchantRequest { Locale = Locale.TR.ToString(), ConversationId = "123456789", SubMerchantExternalId = "S49222", SubMerchantType = SubMerchantType.PRIVATE_COMPANY.ToString(), Address = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1", TaxOffice = "Tax office", LegalCompanyTitle = "John Doe inc", 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_Personal_Sub_Merchant() { UpdateSubMerchantRequest request = new UpdateSubMerchantRequest { Locale = Locale.TR.ToString(), ConversationId = "123456789", SubMerchantKey = "sub merchant key", Iban = "TR630006200027700006678204", Address = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1", ContactName = "Jane", ContactSurname = "Doe", Email = "*****@*****.**", GsmNumber = "+905350000000", Name = "Jane's market", IdentityNumber = "31300864726", Currency = Currency.TRY.ToString() }; SubMerchant subMerchant = await SubMerchant.UpdateAsync(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_Limited_Company_Sub_Merchant() { UpdateSubMerchantRequest request = new UpdateSubMerchantRequest { Locale = Locale.TR.ToString(), ConversationId = "123456789", SubMerchantKey = "sub merchant key", Address = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1", TaxOffice = "Tax office", TaxNumber = "9261877", LegalCompanyTitle = "ABC inc", Email = "*****@*****.**", GsmNumber = "+905350000000", Name = "Jane's market", Iban = "TR180006200119000006672315", Currency = Currency.TRY.ToString() }; SubMerchant subMerchant = await SubMerchant.UpdateAsync(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); }
/// <summary> /// 更新子商户 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="info">子商户数据</param> /// <returns></returns> public JsonResult <SubMerchant> UpdateSubMerchant(string access_token, SubMerchant info) { var obj = new { info }; string url = $"{Config.WxApi}card/submerchant/update?access_token={access_token}"; return(WxAPI.RequestData <SubMerchant>(url, obj, Method.POST)); }
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); }
public void Should_Update_Personal_Sub_Merchant() { UpdateSubMerchantRequest request = new UpdateSubMerchantRequest(); request.ConversationId = "123456789"; request.Locale = Locale.TR.GetName(); request.SubMerchantKey = "sub merchant key"; request.Address = "Nidakule Göztepe İş Merkezi Merdivenköy Mah. Bora Sok. No:1 Kat:19 Bağımsız 70/73 Göztepe Kadıköy 34732"; request.ContactName = "Hakan"; request.ContactSurname = "Erdoğan"; request.Email = "*****@*****.**"; request.GsmNumber = "+905350000000"; request.Name = "Hakan Erdoğan'ın mağazası"; request.Iban = "TR630006200027700006678204"; request.IdentityNumber = "31300864726"; SubMerchant subMerchant = SubMerchant.Update(request, options); PrintResponse <SubMerchant>(subMerchant); Assert.IsNotNull(subMerchant.SystemTime); Assert.AreEqual(Status.SUCCESS.ToString(), subMerchant.Status); Assert.AreEqual(Locale.TR.GetName(), subMerchant.Locale); Assert.AreEqual("123456789", subMerchant.ConversationId); }
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); }
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 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_Threeds_Payment_With_Physical_And_Virtual_Item_For_Marketplace_Merchant() { CreateSubMerchantRequest createSubMerchantRequest = CreateSubMerchantRequestBuilder.Create() .PersonalSubMerchantRequest() .Build(); SubMerchant subMerchant = SubMerchant.Create(createSubMerchantRequest, _options); CreatePaymentRequest createPaymentRequest = CreatePaymentRequestBuilder.Create() .MarketplacePayment(subMerchant.SubMerchantKey) .CallbackUrl("https://www.merchant.com/callback") .Build(); ThreedsInitialize threedsInitialize = ThreedsInitialize.Create(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 <Authorize3dResponse> Authorize3d( string currency, string amount, PaymentOption paymentOption, string relatedTransactionId, List <Item> items = null, string userTokenId = null, string clientUniqueId = null, string clientRequestId = null, int?isRebilling = null, AmountDetails amountDetails = null, DeviceDetails deviceDetails = null, CashierUserDetails userDetails = null, UserAddress shippingAddress = null, UserAddress billingAddress = null, DynamicDescriptor dynamicDescriptor = null, MerchantDetails merchantDetails = null, Addendums addendums = null, UrlDetails urlDetails = null, string customSiteName = null, string productId = null, string customData = null, string transactionType = null, bool autoPayment3D = default, string userId = null, string rebillingType = null, string authenticationTypeOnly = null, SubMerchant subMerchant = null) { var request = new Authorize3dRequest(merchantInfo, sessionToken, currency, amount, paymentOption, relatedTransactionId) { Items = items, UserTokenId = userTokenId, ClientRequestId = clientRequestId, ClientUniqueId = clientUniqueId, IsRebilling = isRebilling, AmountDetails = amountDetails, DeviceDetails = deviceDetails, UserDetails = userDetails, ShippingAddress = shippingAddress, BillingAddress = billingAddress, DynamicDescriptor = dynamicDescriptor, MerchantDetails = merchantDetails, Addendums = addendums, UrlDetails = urlDetails, CustomSiteName = customSiteName, ProductId = productId, CustomData = customData, TransactionType = transactionType, AutoPayment3D = autoPayment3D, UserId = userId, RebillingType = rebillingType, AuthenticationTypeOnly = authenticationTypeOnly, SubMerchant = subMerchant }; return(await safechargeRequestExecutor.Authorize3d(request)); }
public async Task <IActionResult> GetSubMerchant(int id) { RetrieveSubMerchantRequest request = new RetrieveSubMerchantRequest { Locale = Locale.TR.ToString(), SubMerchantExternalId = "mor1", ConversationId = "123456789" }; MerchantVM.SubMerchant = await SubMerchant.RetrieveAsync(request, option); return(View(MerchantVM)); }
public async Task <SettleTransactionResponse> SettleTransaction( string currency, string amount, string relatedTransactionId, string clientUniqueId = null, string clientRequestId = null, string userId = null, Addendums addendums = null, string descriptorMerchantName = null, string descriptorMerchantPhone = null, DynamicDescriptor dynamicDescriptor = null, UrlDetails urlDetails = null, string authCode = null, string customData = null, string comment = null, string customSiteName = null, string productId = null, DeviceDetails deviceDetails = null, string rebillingType = null, string authenticationTypeOnly = null, SubMerchant subMerchant = null) { var request = new SettleTransactionRequest( merchantInfo, sessionToken, currency, amount, relatedTransactionId) { AuthCode = authCode, ClientUniqueId = clientUniqueId, ClientRequestId = clientRequestId, UserId = userId, Addendums = addendums, DescriptorMerchantName = dynamicDescriptor?.MerchantName ?? descriptorMerchantName, DescriptorMerchantPhone = dynamicDescriptor?.MerchantPhone ?? descriptorMerchantPhone, UrlDetails = urlDetails, CustomData = customData, Comment = comment, CustomSiteName = customSiteName, ProductId = productId, DeviceDetails = deviceDetails, RebillingType = rebillingType, AuthenticationTypeOnly = authenticationTypeOnly, SubMerchant = subMerchant }; return(await safechargeRequestExecutor.SettleTransaction(request)); }
public void Should_Retrieve_Sub_Merchant() { RetrieveSubMerchantRequest request = new RetrieveSubMerchantRequest(); request.ConversationId = "123456789"; request.Locale = Locale.TR.GetName(); request.SubMerchantExternalId = "AS49224"; SubMerchant subMerchant = SubMerchant.Retrieve(request, options); PrintResponse <SubMerchant>(subMerchant); Assert.IsNotNull(subMerchant.SystemTime); Assert.AreEqual(Status.SUCCESS.ToString(), subMerchant.Status); Assert.AreEqual(Locale.TR.GetName(), subMerchant.Locale); Assert.AreEqual("123456789", subMerchant.ConversationId); }
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 <PayoutResponse> Payout( string userTokenId, string clientUniqueId, string amount, string currency, UserPaymentOption userPaymentOption, string comment = null, DynamicDescriptor dynamicDescriptor = null, MerchantDetails merchantDetails = null, UrlDetails urlDetails = null, DeviceDetails deviceDetails = null, CardData cardData = null, string userId = null, string rebillingType = null, string authenticationTypeOnly = null, SubMerchant subMerchant = null, Addendums addendums = null) { var request = new PayoutRequest( merchantInfo, sessionToken, userTokenId, clientUniqueId, amount, currency, userPaymentOption) { Comment = comment, DynamicDescriptor = dynamicDescriptor, MerchantDetails = merchantDetails, UrlDetails = urlDetails, DeviceDetails = deviceDetails, CardData = cardData, UserId = userId, RebillingType = rebillingType, AuthenticationTypeOnly = authenticationTypeOnly, SubMerchant = subMerchant, Addendums = addendums }; return(await safechargeRequestExecutor.Payout(request)); }
public async Task Should_Retrieve_Sub_Merchant() { RetrieveSubMerchantRequest request = new RetrieveSubMerchantRequest { Locale = Locale.TR.ToString(), ConversationId = "123456789", SubMerchantExternalId = "AS49224" }; 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.IsNotNull(subMerchant.SystemTime); Assert.IsNull(subMerchant.ErrorCode); Assert.IsNull(subMerchant.ErrorMessage); Assert.IsNull(subMerchant.ErrorGroup); }
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); }