public void Sale_WithPaymentMethodToken()
{
Customer customer = gateway.Customer.Create(new CustomerRequest()).Target;
CreditCardRequest creditCardRequest = new CreditCardRequest
{
CustomerId = customer.Id,
CVV = "123",
Number = "5105105105105100",
ExpirationDate = "05/12"
};
CreditCard creditCard = gateway.CreditCard.Create(creditCardRequest).Target;
TransactionRequest request = new TransactionRequest
{
Amount = SandboxValues.TransactionAmount.AUTHORIZE,
PaymentMethodToken = creditCard.Token
};
Result<Transaction> result = gateway.Transaction.Sale(request);
Assert.IsTrue(result.IsSuccess());
Transaction transaction = result.Target;
Assert.AreEqual(creditCard.Token, transaction.CreditCard.Token);
Assert.AreEqual("510510", transaction.CreditCard.Bin);
Assert.AreEqual("05/2012", transaction.CreditCard.ExpirationDate);
}