public void Sale_WithAmexExpressCheckoutCardNonce()
{
TransactionRequest request = new TransactionRequest
{
Amount = SandboxValues.TransactionAmount.AUTHORIZE,
MerchantAccountId = MerchantAccountIDs.FAKE_AMEX_DIRECT_MERCHANT_ACCOUNT_ID,
PaymentMethodNonce = Nonce.AmexExpressCheckout
};
Result<Transaction> result = gateway.Transaction.Sale(request);
Assert.IsTrue(result.IsSuccess());
Assert.IsNotNull(result.Target.AmexExpressCheckoutDetails);
Assert.IsInstanceOf(typeof(AmexExpressCheckoutDetails), result.Target.AmexExpressCheckoutDetails);
AmexExpressCheckoutDetails amexExpressCheckoutDetails = result.Target.AmexExpressCheckoutDetails;
Assert.IsNull(amexExpressCheckoutDetails.Token);
Assert.IsNotNull(amexExpressCheckoutDetails.CardType);
Assert.IsNotNull(amexExpressCheckoutDetails.Bin);
Assert.IsNotNull(amexExpressCheckoutDetails.ExpirationMonth);
Assert.IsNotNull(amexExpressCheckoutDetails.ExpirationYear);
Assert.IsNotNull(amexExpressCheckoutDetails.CardMemberNumber);
Assert.IsNotNull(amexExpressCheckoutDetails.CardMemberExpiryDate);
Assert.IsNotNull(amexExpressCheckoutDetails.ImageUrl);
Assert.IsNotNull(amexExpressCheckoutDetails.SourceDescription);
}