public void Test_Idempotency_PayinsCardDirectCreate() { string key = DateTime.Now.Ticks.ToString(); UserNaturalDTO john = this.GetJohn(); WalletPostDTO wallet = new WalletPostDTO(new List <string> { john.Id }, "WALLET IN EUR WITH MONEY", CurrencyIso.EUR); var johnsWallet = this.Api.Wallets.Create(wallet); CardRegistrationPostDTO cardRegistrationPost = new CardRegistrationPostDTO(johnsWallet.Owners[0], CurrencyIso.EUR); CardRegistrationDTO cardRegistration = this.Api.CardRegistrations.Create(cardRegistrationPost); CardRegistrationPutDTO cardRegistrationPut = new CardRegistrationPutDTO(); cardRegistrationPut.RegistrationData = this.GetPaylineCorrectRegistartionData(cardRegistration); cardRegistration = this.Api.CardRegistrations.Update(cardRegistrationPut, cardRegistration.Id); CardDTO card = this.Api.Cards.Get(cardRegistration.CardId); PayInCardDirectPostDTO payIn = new PayInCardDirectPostDTO(cardRegistration.UserId, cardRegistration.UserId, new Money { Amount = 1000, Currency = CurrencyIso.EUR }, new Money { Amount = 0, Currency = CurrencyIso.EUR }, johnsWallet.Id, "http://test.com", card.Id); payIn.CardType = card.CardType; Api.PayIns.CreateCardDirect(key, payIn); var result = Api.Idempotency.Get(key); Assert.IsInstanceOf <PayInCardDirectDTO>(result.Resource); }
protected PayInCardDirectPostDTO GetPayInCardDirectPost(String userId, string idempotencyKey) { WalletDTO wallet = this.GetJohnsWalletWithMoney(); if (userId == null) { UserNaturalDTO user = this.GetJohn(); userId = user.Id; } CardRegistrationPostDTO cardRegistrationPost = new CardRegistrationPostDTO(userId, CurrencyIso.EUR); CardRegistrationDTO cardRegistration = this.Api.CardRegistrations.Create(idempotencyKey, cardRegistrationPost); CardRegistrationPutDTO cardRegistrationPut = new CardRegistrationPutDTO(); cardRegistrationPut.RegistrationData = this.GetPaylineCorrectRegistartionData(cardRegistration); cardRegistration = this.Api.CardRegistrations.Update(cardRegistrationPut, cardRegistration.Id); CardDTO card = this.Api.Cards.Get(cardRegistration.CardId); // create pay-in CARD DIRECT PayInCardDirectPostDTO payIn = new PayInCardDirectPostDTO(cardRegistration.UserId, cardRegistration.UserId, new Money { Amount = 10000, Currency = CurrencyIso.EUR }, new Money { Amount = 0, Currency = CurrencyIso.EUR }, wallet.Id, "http://test.com", card.Id); // payment type as CARD payIn.CardType = card.CardType; return(payIn); }
public async Task Test_CardRegistrations_Update() { try { CardRegistrationDTO cardRegistration = await this.GetJohnsCardRegistration(); CardRegistrationPutDTO cardRegistrationPut = new CardRegistrationPutDTO(); String registrationData = await this.GetPaylineCorrectRegistartionData(cardRegistration); cardRegistrationPut.RegistrationData = registrationData; cardRegistrationPut.Tag = "DefaultTag - Updated"; CardRegistrationDTO getCardRegistration = await this.Api.CardRegistrations.UpdateAsync(cardRegistrationPut, cardRegistration.Id); Assert.AreEqual(registrationData, getCardRegistration.RegistrationData); Assert.IsNotNull(getCardRegistration.CardId); Assert.AreEqual("VALIDATED", getCardRegistration.Status); Assert.AreEqual("000000", getCardRegistration.ResultCode); Assert.AreEqual(cardRegistrationPut.Tag, getCardRegistration.Tag); } catch (Exception ex) { Assert.Fail(ex.Message); } }
/// <summary>Creates wallet for John, if not created yet, or returns an existing one.</summary> /// <param name="amount">Initial wallet's money amount.</param> /// <returns>Wallet entity instance returned from API.</returns> protected WalletDTO GetJohnsWalletWithMoney(int amount) { if (BaseTest._johnsWalletWithMoney == null) { UserNaturalDTO john = this.GetJohn(); // create wallet with money WalletPostDTO wallet = new WalletPostDTO(new List <string> { john.Id }, "WALLET IN EUR WITH MONEY", CurrencyIso.EUR); BaseTest._johnsWalletWithMoney = this.Api.Wallets.Create(wallet); CardRegistrationPostDTO cardRegistrationPost = new CardRegistrationPostDTO(BaseTest._johnsWalletWithMoney.Owners[0], CurrencyIso.EUR); CardRegistrationDTO cardRegistration = this.Api.CardRegistrations.Create(cardRegistrationPost); CardRegistrationPutDTO cardRegistrationPut = new CardRegistrationPutDTO(); cardRegistrationPut.RegistrationData = this.GetPaylineCorrectRegistartionData(cardRegistration); cardRegistration = this.Api.CardRegistrations.Update(cardRegistrationPut, cardRegistration.Id); CardDTO card = this.Api.Cards.Get(cardRegistration.CardId); // create pay-in CARD DIRECT PayInCardDirectPostDTO payIn = new PayInCardDirectPostDTO(cardRegistration.UserId, cardRegistration.UserId, new Money { Amount = amount, Currency = CurrencyIso.EUR }, new Money { Amount = 0, Currency = CurrencyIso.EUR }, BaseTest._johnsWalletWithMoney.Id, "http://test.com", card.Id); if (card.CardType == CardType.CB || card.CardType == CardType.VISA || card.CardType == CardType.MASTERCARD || card.CardType == CardType.CB_VISA_MASTERCARD) { payIn.CardType = CardType.CB_VISA_MASTERCARD; } else if (card.CardType == CardType.AMEX) { payIn.CardType = CardType.AMEX; } // create Pay-In this.Api.PayIns.CreateCardDirect(payIn); } return(this.Api.Wallets.Get(BaseTest._johnsWalletWithMoney.Id)); }
protected CardPreAuthorizationPostDTO getPreAuthorization(string userId) { CardRegistrationPostDTO cardRegistrationPost = new CardRegistrationPostDTO(userId, CurrencyIso.EUR); CardRegistrationDTO newCardRegistration = this.Api.CardRegistrations.Create(cardRegistrationPost); CardRegistrationPutDTO cardRegistrationPut = new CardRegistrationPutDTO(); String registrationData = this.GetPaylineCorrectRegistartionData(newCardRegistration); cardRegistrationPut.RegistrationData = registrationData; CardRegistrationDTO getCardRegistration = this.Api.CardRegistrations.Update(cardRegistrationPut, newCardRegistration.Id); CardPreAuthorizationPostDTO cardPreAuthorization = new CardPreAuthorizationPostDTO(userId, new Money { Amount = 10000, Currency = CurrencyIso.EUR }, SecureMode.DEFAULT, getCardRegistration.CardId, "http://test.com"); return(cardPreAuthorization); }
/// <summary>Creates new wallet for John.</summary> /// <param name="amount">Initial wallet's money amount.</param> /// <returns>Wallet entity instance returned from API.</returns> protected async Task <WalletDTO> GetNewJohnsWalletWithMoney(int amount, UserNaturalDTO user = null) { UserNaturalDTO john = user; if (john == null) { john = await this.GetJohn(); } // create wallet with money WalletPostDTO wallet = new WalletPostDTO(new List <string> { john.Id }, "WALLET IN EUR WITH MONEY", CurrencyIso.EUR); var johnsWalletWithMoney = await this.Api.Wallets.CreateAsync(wallet); CardRegistrationPostDTO cardRegistrationPost = new CardRegistrationPostDTO(johnsWalletWithMoney.Owners[0], CurrencyIso.EUR); CardRegistrationDTO cardRegistration = await this.Api.CardRegistrations.CreateAsync(cardRegistrationPost); CardRegistrationPutDTO cardRegistrationPut = new CardRegistrationPutDTO { RegistrationData = await this.GetPaylineCorrectRegistartionData(cardRegistration) }; cardRegistration = await this.Api.CardRegistrations.UpdateAsync(cardRegistrationPut, cardRegistration.Id); CardDTO card = await this.Api.Cards.GetAsync(cardRegistration.CardId); // create pay-in CARD DIRECT PayInCardDirectPostDTO payIn = new PayInCardDirectPostDTO(cardRegistration.UserId, cardRegistration.UserId, new Money { Amount = amount, Currency = CurrencyIso.EUR }, new Money { Amount = 0, Currency = CurrencyIso.EUR }, johnsWalletWithMoney.Id, "http://test.com", card.Id); payIn.CardType = card.CardType; // create Pay-In var result = await this.Api.PayIns.CreateCardDirectAsync(payIn); return(await this.Api.Wallets.GetAsync(johnsWalletWithMoney.Id)); }
/// <summary>Creates PayIn Card Direct object.</summary> /// <param name="userId">User identifier.</param> /// <returns>PayIn Card Direct instance returned from API.</returns> protected PayInCardDirectDTO GetNewPayInCardDirect(String userId) { WalletDTO wallet = this.GetJohnsWalletWithMoney(); if (userId == null) { UserNaturalDTO user = this.GetJohn(); userId = user.Id; } CardRegistrationPostDTO cardRegistrationPost = new CardRegistrationPostDTO(userId, CurrencyIso.EUR); CardRegistrationDTO cardRegistration = this.Api.CardRegistrations.Create(cardRegistrationPost); CardRegistrationPutDTO cardRegistrationPut = new CardRegistrationPutDTO(); cardRegistrationPut.RegistrationData = this.GetPaylineCorrectRegistartionData(cardRegistration); cardRegistration = this.Api.CardRegistrations.Update(cardRegistrationPut, cardRegistration.Id); CardDTO card = this.Api.Cards.Get(cardRegistration.CardId); // create pay-in CARD DIRECT PayInCardDirectPostDTO payIn = new PayInCardDirectPostDTO(cardRegistration.UserId, cardRegistration.UserId, new Money { Amount = 10000, Currency = CurrencyIso.EUR }, new Money { Amount = 0, Currency = CurrencyIso.EUR }, wallet.Id, "http://test.com", card.Id); // payment type as CARD if (card.CardType == CardType.CB || card.CardType == CardType.VISA || card.CardType == CardType.MASTERCARD || card.CardType == CardType.CB_VISA_MASTERCARD) { payIn.CardType = CardType.CB_VISA_MASTERCARD; } else if (card.CardType == CardType.AMEX) { payIn.CardType = CardType.AMEX; } return(this.Api.PayIns.CreateCardDirect(payIn)); }
public async Task <CardRegistrationDTO> Update(CardRegistrationPutDTO cardRegistration, string cardRegistrationId) { var targetUrl = $"{_baseUrl}/cardregistrations/{cardRegistrationId}"; return(await UpdateEntity <CardRegistrationDTO, CardRegistrationPutDTO>(targetUrl, cardRegistration)); }
/// <summary>Updates card registration.</summary> /// <param name="cardRegistration">Card registration instance to be updated.</param> /// <param name="cardRegistrationId">Card registration identifier.</param> /// <returns>Card registration object returned from API.</returns> public async Task <CardRegistrationDTO> Update(CardRegistrationPutDTO cardRegistration, String cardRegistrationId) { return(await this.UpdateObject <CardRegistrationDTO, CardRegistrationPutDTO>(MethodKey.CardRegistrationSave, cardRegistration, cardRegistrationId)); }
/// <summary>Updates card registration.</summary> /// <param name="cardRegistration">Card registration instance to be updated.</param> /// <param name="cardRegistrationId">Card registration identifier.</param> /// <returns>Card registration object returned from API.</returns> public CardRegistrationDTO Update(CardRegistrationPutDTO cardRegistration, String cardRegistrationId) { return(this.UpdateObject <CardRegistrationDTO, CardRegistrationPutDTO>(MethodKey.CardRegistrationSave, cardRegistration, cardRegistrationId)); }