public async Task UpdatePaymentAddTransaction() { await WithUpdateablePayment(client, async payment => { Assert.Empty(payment.Transactions); var refundTransaction = new TransactionDraft { Amount = Money.FromDecimal("EUR", TestingUtility.RandomInt(100, 10000)), Type = TransactionType.Refund, Timestamp = DateTime.Now, State = TransactionState.Initial, InteractionId = TestingUtility.RandomString() }; var action = new AddTransactionUpdateAction { Transaction = refundTransaction }; var updatedPayment = await client .ExecuteAsync(payment.UpdateById(actions => actions.AddUpdate(action))); Assert.Single(updatedPayment.Transactions); Assert.Equal(refundTransaction.InteractionId, updatedPayment.Transactions[0].InteractionId); return(updatedPayment); }); }
public void UpdatePaymentAddTransaction() { IClient commerceToolsClient = this.paymentsFixture.GetService <IClient>(); var payment = this.paymentsFixture.CreatePayment(); Assert.Empty(payment.Transactions); var refundMoney = Money.FromDecimal("EUR", TestingUtility.RandomInt(100, 10000)); var refundTransaction = this.paymentsFixture.GetTransactionDraft(DateTime.Now, TransactionType.Refund, refundMoney, TestingUtility.RandomString(10), TransactionState.Initial); AddTransactionUpdateAction addTransactionUpdateAction = new AddTransactionUpdateAction() { Transaction = refundTransaction }; var updateActions = new List <UpdateAction <Payment> > { addTransactionUpdateAction }; var retrievedPayment = commerceToolsClient .ExecuteAsync(new UpdateByIdCommand <Payment>(payment.Id, payment.Version, updateActions)) .Result; this.paymentsFixture.PaymentsToDelete.Add(retrievedPayment); Assert.Single(retrievedPayment.Transactions); Assert.Equal(refundTransaction.InteractionId, retrievedPayment.Transactions[0].InteractionId); }