public void Test_Idempotency_DisputesRepudiationCreateSettlement()
        {
            string key  = DateTime.Now.Ticks.ToString();
            Sort   sort = new Sort();

            sort.AddField("CreationDate", SortDirection.desc);
            var clientDisputes = Api.Disputes.GetAll(new Pagination(1, 100), null, sort);

            if (clientDisputes == null || clientDisputes.Count == 0)
            {
                Assert.Fail("INITIALIZATION FAILURE - cannot test disputes");
            }
            DisputeDTO dispute = clientDisputes.FirstOrDefault(x =>
                                                               x.Status == DisputeStatus.CLOSED && x.DisputeType == DisputeType.NOT_CONTESTABLE);

            if (dispute == null)
            {
                Assert.Fail(
                    "Cannot test creating settlement transfer because there's no closed disputes in the disputes list.");
            }
            string repudiationId           = Api.Disputes.GetTransactions(dispute.Id, new Pagination(1, 1), null)[0].Id;
            var    repudiation             = Api.Disputes.GetRepudiation(repudiationId);
            SettlementTransferPostDTO post = new SettlementTransferPostDTO(repudiation.AuthorId,
                                                                           new Money {
                Currency = CurrencyIso.EUR, Amount = 1
            }, new Money {
                Currency = CurrencyIso.EUR, Amount = 0
            });

            Api.Disputes.CreateSettlementTransfer(key, post, repudiationId);

            var result = Api.Idempotency.Get(key);

            Assert.IsInstanceOf <SettlementDTO>(result.Resource);
        }
        public void Test_CreateSettlementTransfer()
        {
            DisputeDTO dispute = _clientDisputes.FirstOrDefault(x => x.Status == DisputeStatus.CLOSED && x.DisputeType == DisputeType.NOT_CONTESTABLE);

            RepudiationDTO repudiation = null;
            SettlementDTO  result      = null;

            if (dispute == null)
            {
                Assert.Fail("Cannot test creating settlement transfer because there's no closed disputes in the disputes list.");
            }

            try
            {
                string repudiationId = Api.Disputes.GetTransactions(dispute.Id, new Pagination(1, 1), null)[0].Id;

                repudiation = Api.Disputes.GetRepudiation(repudiationId);

                SettlementTransferPostDTO post = new SettlementTransferPostDTO(repudiation.AuthorId, new Money {
                    Currency = CurrencyIso.EUR, Amount = 1
                }, new Money {
                    Currency = CurrencyIso.EUR, Amount = 0
                });

                result = Api.Disputes.CreateSettlementTransfer(post, repudiationId);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }

            Assert.IsNotNull(result);
        }
Пример #3
0
        public async Task Test_GetSettlementTransfer()
        {
            DisputeDTO dispute = _clientDisputes.FirstOrDefault(x => x.Status == DisputeStatus.CLOSED && x.DisputeType.HasValue && x.DisputeType.Value == DisputeType.NOT_CONTESTABLE);

            RepudiationDTO repudiation = null;
            SettlementDTO  transfer    = null;

            if (dispute == null)
            {
                Assert.Fail("Cannot test getting settlement transfer because there's no closed and not contestable disputes in the disputes list.");
            }

            try
            {
                var temp = await Api.Disputes.GetTransactions(dispute.Id, new Pagination(1, 1), null);

                string repudiationId = temp[0].Id;

                repudiation = await Api.Disputes.GetRepudiation(repudiationId);

                SettlementTransferPostDTO post = new SettlementTransferPostDTO(repudiation.AuthorId, new Money {
                    Currency = CurrencyIso.EUR, Amount = 1
                }, new Money {
                    Currency = CurrencyIso.EUR, Amount = 0
                });

                transfer = await Api.Disputes.CreateSettlementTransfer(post, repudiationId);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }

            Assert.IsNotNull(transfer);


            SettlementDTO result = null;

            try
            {
                result = await Api.Disputes.GetSettlementTransfer(transfer.Id);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }

            Assert.IsNotNull(result);
            Assert.IsInstanceOf <SettlementDTO>(result);
            Assert.IsNotNull(result.RepudiationId);
            Assert.AreEqual(result.RepudiationId, repudiation.Id);
        }
 /// <summary>Creates settlement transfer.</summary>
 /// <param name="idempotencyKey">Idempotency key for this request.</param>
 /// <param name="settlementTransfer">Settlement transfer.</param>
 /// <param name="repudiationId">Repudiation identifier.</param>
 /// <returns>Transfer settlement instance returned from API.</returns>
 public SettlementDTO CreateSettlementTransfer(String idempotencyKey, SettlementTransferPostDTO settlementTransfer, String repudiationId)
 {
     return(this.CreateObject <SettlementDTO, SettlementTransferPostDTO>(idempotencyKey, MethodKey.DisputesRepudiationCreateSettlement, settlementTransfer, repudiationId));
 }
 /// <summary>Creates settlement transfer.</summary>
 /// <param name="settlementTransfer">Settlement transfer.</param>
 /// <param name="repudiationId">Repudiation identifier.</param>
 /// <returns>Transfer settlement instance returned from API.</returns>
 public SettlementDTO CreateSettlementTransfer(SettlementTransferPostDTO settlementTransfer, String repudiationId)
 {
     return(CreateSettlementTransfer(null, settlementTransfer, repudiationId));
 }
 /// <summary>Creates settlement transfer.</summary>
 /// <param name="settlementTransfer">Settlement transfer.</param>
 /// <param name="repudiationId">Repudiation identifier.</param>
 /// <returns>Transfer settlement instance returned from API.</returns>
 public async Task <SettlementDTO> CreateSettlementTransfer(SettlementTransferPostDTO settlementTransfer, String repudiationId)
 {
     return(await CreateSettlementTransfer(null, settlementTransfer, repudiationId));
 }
Пример #7
0
 /// <summary>Creates settlement transfer.</summary>
 /// <param name="idempotencyKey">Idempotency key for this request.</param>
 /// <param name="settlementTransfer">Settlement transfer.</param>
 /// <param name="repudiationId">Repudiation identifier.</param>
 /// <returns>Transfer settlement instance returned from API.</returns>
 public async Task <SettlementDTO> CreateSettlementTransferAsync(String idempotencyKey, SettlementTransferPostDTO settlementTransfer, String repudiationId)
 {
     return(await this.CreateObjectAsync <SettlementDTO, SettlementTransferPostDTO>(idempotencyKey, MethodKey.DisputesRepudiationCreateSettlement, settlementTransfer, repudiationId));
 }