public void Create_RespectsFailOnDuplicatePaymentMethodWhenIncludedOutsideNonce()
{
var customer = gateway.Customer.Create().Target;
var creditCardResult = gateway.CreditCard.Create(new CreditCardRequest
{
CustomerId = customer.Id,
Number = SandboxValues.CreditCardNumber.VISA,
ExpirationDate = "05/2012"
});
Assert.IsTrue(creditCardResult.IsSuccess());
var nonce = TestHelper.GetNonceForNewPaymentMethod(
gateway,
new Params
{
{ "number", SandboxValues.CreditCardNumber.VISA },
{ "expiration_date", "05/2012" }
},
isCreditCard : true
);
var paypalResult = gateway.PaymentMethod.Create(new PaymentMethodRequest
{
PaymentMethodNonce = nonce,
CustomerId = customer.Id,
Options = new PaymentMethodOptionsRequest
{
FailOnDuplicatePaymentMethod = true
}
});
Assert.IsFalse(paypalResult.IsSuccess());
Assert.AreEqual(ValidationErrorCode.CREDIT_CARD_DUPLICATE_CARD_EXISTS, paypalResult.Errors.DeepAll().First().Code);
}