/// <summary>Creates new payin preauthorized direct.</summary> /// <param name="payIn">Object instance to be created.</param> /// <returns>Object instance returned from API.</returns> public PayInPreauthorizedDirectDTO CreatePreauthorizedDirect(PayInPreauthorizedDirectPostDTO payIn) { return this.CreateObject<PayInPreauthorizedDirectDTO, PayInPreauthorizedDirectPostDTO>(MethodKey.PayinsPreauthorizedDirectCreate, payIn); }
public void Test_PayIns_PreAuthorizedDirect() { try { CardPreAuthorizationDTO cardPreAuthorization = this.GetJohnsCardPreAuthorization(); WalletDTO wallet = this.GetJohnsWalletWithMoney(); UserNaturalDTO user = this.GetJohn(); // create pay-in PRE-AUTHORIZED DIRECT PayInPreauthorizedDirectPostDTO payIn = new PayInPreauthorizedDirectPostDTO(user.Id, new Money { Amount = 10000, Currency = CurrencyIso.EUR }, new Money { Amount = 0, Currency = CurrencyIso.EUR }, wallet.Id, cardPreAuthorization.Id); payIn.SecureModeReturnURL = "http://test.com"; PayInPreauthorizedDirectDTO createPayIn = this.Api.PayIns.CreatePreauthorizedDirect(payIn); Assert.IsTrue("" != createPayIn.Id); Assert.AreEqual(wallet.Id, createPayIn.CreditedWalletId); Assert.AreEqual(PayInPaymentType.PREAUTHORIZED, createPayIn.PaymentType); Assert.AreEqual(PayInExecutionType.DIRECT, createPayIn.ExecutionType); Assert.IsTrue(createPayIn.DebitedFunds is Money); Assert.IsTrue(createPayIn.CreditedFunds is Money); Assert.IsTrue(createPayIn.Fees is Money); Assert.AreEqual(user.Id, createPayIn.AuthorId); Assert.AreEqual(TransactionStatus.SUCCEEDED, createPayIn.Status); Assert.AreEqual(TransactionType.PAYIN, createPayIn.Type); } catch (Exception ex) { Assert.Fail(ex.Message); } }