public void CancelRelease()
{
TransactionRequest request = new TransactionRequest
{
Amount = 4M,
MerchantAccountId = MerchantAccountIDs.NON_DEFAULT_SUB_MERCHANT_ACCOUNT_ID,
CreditCard = new TransactionCreditCardRequest
{
Number = SandboxValues.CreditCardNumber.VISA,
ExpirationDate = "05/2009",
},
Options = new TransactionOptionsRequest
{
HoldInEscrow = true
},
ServiceFeeAmount = 1M
};
Result<Transaction> saleResult = gateway.Transaction.Sale(request);
Transaction saleTransaction = saleResult.Target;
Assert.IsTrue(saleResult.IsSuccess());
TestHelper.Escrow(service, saleTransaction.Id);
Result<Transaction> result = gateway.Transaction.ReleaseFromEscrow(saleTransaction.Id);
Assert.IsTrue(result.IsSuccess());
Transaction releasedTransaction = result.Target;
Result<Transaction> cancelResult = gateway.Transaction.CancelRelease(releasedTransaction.Id);
Assert.IsTrue(cancelResult.IsSuccess());
Transaction transaction = cancelResult.Target;
Assert.AreEqual(
TransactionEscrowStatus.HELD,
transaction.EscrowStatus
);
}