public async Task <string> GenerateToken(string cardNumber, string cvv) { CardTokenRequest cardTokenRequest = new CardTokenRequest() { cardNumber = cardNumber, customerEmail = cardRequestModel.customerEmail, customerMobile = cardRequestModel.customerMobile, customerProfileId = cardRequestModel.customerProfileId, merchantCode = cardRequestModel.merchantCode, cvv = cvv, }; using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("https://atfawry.fawrystaging.com//ECommerceWeb/Fawry/cards/cardToken"); string JsonContent = JsonConvert.SerializeObject(cardTokenRequest); HttpContent requestContent = new StringContent(JsonContent, System.Text.Encoding.UTF8, "application/json"); HttpResponseMessage response = await client.PostAsync("https://atfawry.fawrystaging.com//ECommerceWeb/Fawry/cards/cardToken", requestContent); string responseContent = await response.Content.ReadAsStringAsync(); CardTokenResponse cardTokenResponse = (CardTokenResponse)JsonConvert.DeserializeObject(responseContent); CardToken = cardTokenResponse.card.token; return(CardToken); } }
public void PaymentCSRetailTest() { DecidirConnector decidir = new DecidirConnector(Ambiente.AMBIENTE_SANDBOX, "566f2c897b5e4bfaa0ec2452f5d67f13", "b192e4cb99564b84bf5db5550112adea"); CardDataCyberSource data = GetCardDataCyberSource(); CardTokenResponse resultCardData = new CardTokenResponse(); PaymentResponse resultPaymentResponse = new PaymentResponse(); GetAllPaymentsResponse pagos = new GetAllPaymentsResponse(); try { resultCardData = decidir.GetToken(data); Payment payment = GetPayment(resultCardData.id); payment.fraud_detection = GetRetailFraudDetection(); resultPaymentResponse = decidir.Payment(payment); Assert.AreEqual(resultPaymentResponse.bin, payment.bin); Assert.AreEqual(resultPaymentResponse.amount, payment.amount * 100); Assert.AreEqual(resultPaymentResponse.site_transaction_id, payment.site_transaction_id); pagos = decidir.GetAllPayments(null, null, null, "00030118"); Assert.AreEqual(true, pagos.results.Count >= 0); } catch (ResponseException ex) { Assert.AreEqual(true, false); } }
public void GetPaymentInfoTest() { DecidirConnector decidir = new DecidirConnector(Ambiente.AMBIENTE_SANDBOX, "566f2c897b5e4bfaa0ec2452f5d67f13", "b192e4cb99564b84bf5db5550112adea"); CardData data = GetCardData(); CardTokenResponse resultCardData = new CardTokenResponse(); PaymentResponse resultPaymentResponse = new PaymentResponse(); PaymentResponse paymentInfoResponse = new PaymentResponse(); GetAllPaymentsResponse pagos = new GetAllPaymentsResponse(); try { resultCardData = decidir.GetToken(data); Payment payment = GetPayment(resultCardData.id); resultPaymentResponse = decidir.Payment(payment); Assert.AreEqual(resultPaymentResponse.bin, payment.bin); Assert.AreEqual(resultPaymentResponse.amount, payment.amount * 100); Assert.AreEqual(resultPaymentResponse.site_transaction_id, payment.site_transaction_id); Thread.Sleep(4000); paymentInfoResponse = decidir.GetPaymentInfo(resultPaymentResponse.id); Assert.AreEqual(true, pagos.results.Count >= 0); } catch (ResponseException) { Assert.AreEqual(true, false); } }
public void PartialRefundTest() { DecidirConnector decidir = new DecidirConnector(Ambiente.AMBIENTE_SANDBOX, "566f2c897b5e4bfaa0ec2452f5d67f13", "b192e4cb99564b84bf5db5550112adea"); CardData data = GetCardData(); CardTokenResponse resultCardData = new CardTokenResponse(); PaymentResponse resultPaymentResponse = new PaymentResponse(); GetAllPaymentsResponse pagos = new GetAllPaymentsResponse(); RefundResponse refund = new RefundResponse(); try { resultCardData = decidir.GetToken(data); Payment payment = GetPayment(resultCardData.id); resultPaymentResponse = decidir.Payment(payment); Assert.AreEqual(resultPaymentResponse.bin, payment.bin); Assert.AreEqual(resultPaymentResponse.amount, payment.amount * 100); Assert.AreEqual(resultPaymentResponse.site_transaction_id, payment.site_transaction_id); //Wait for Refund Thread.Sleep(5000); refund = decidir.PartialRefund(resultPaymentResponse.id, 1000); Assert.AreEqual(1000 * 100, refund.amount); Assert.AreEqual("approved", refund.status); } catch (Exception) { Assert.AreEqual(true, false); } }
public void GetTokenTest() { DecidirConnector decidir = new DecidirConnector(Ambiente.AMBIENTE_SANDBOX, "566f2c897b5e4bfaa0ec2452f5d67f13", "b192e4cb99564b84bf5db5550112adea"); CardData data = new CardData(); data.card_number = "4507990000004905"; data.card_expiration_month = "08"; data.card_expiration_year = "20"; data.security_code = "123"; data.card_holder_name = "John Doe"; data.card_holder_identification.type = "dni"; data.card_holder_identification.number = "25123456"; CardTokenResponse result = decidir.GetToken(data); Assert.AreEqual("450799", result.bin); }
public async Task CanTokenizeCard() { CardTokenRequest request = CreateValidRequest(); CardTokenResponse token = await _api.Tokens.RequestAsync(request); token.ShouldNotBeNull(); token.Token.ShouldNotBeNullOrEmpty(); token.ExpiresOn.ShouldBeGreaterThan(DateTime.UtcNow); token.BillingAddress.ShouldNotBeNull(); token.BillingAddress.AddressLine1.ShouldBe(request.BillingAddress.AddressLine1); token.BillingAddress.AddressLine2.ShouldBe(request.BillingAddress.AddressLine2); token.BillingAddress.City.ShouldBe(request.BillingAddress.City); token.BillingAddress.State.ShouldBe(request.BillingAddress.State); token.BillingAddress.Zip.ShouldBe(request.BillingAddress.Zip); token.BillingAddress.Country.ShouldBe(request.BillingAddress.Country); token.Phone.ShouldNotBeNull(); token.Phone.CountryCode.ShouldBe(request.Phone.CountryCode); token.Phone.Number.ShouldBe(request.Phone.Number); token.Type.ShouldBe("card"); token.ExpiryMonth.ShouldBe(request.ExpiryMonth); token.ExpiryYear.ShouldBe(request.ExpiryYear); }