It's a std input field. I've included the form below. I think I've narrowed it down to something with PhantomJS. Though exactly what I can't say. When I run the same test but use the Chromedriver instead, it works just fine.
<div class="add-payment-method-form-view"><form action="#" method="post" class="grid card-form">
<label class="card-label credit-card-number-label" for="credit-card-number">
<span class="field-name">Card Number</span>
<input id="credit-card-number" name="credit-card-number" class="card-field" type="tel" inputmode="numeric" placeholder="Card Number" autocomplete="off">
<span class="payment-method-icon"></span>
<div class="invalid-bottom-bar"></div>
</label>
<div class="row">
<div class="column half">
<label class="card-label expiration-label right-border" for="expiration">
<span class="field-name">MM / YY</span>
<input id="expiration" name="expiration" class="expiration card-field" type="tel" inputmode="numeric" placeholder="Expiration Date" autocomplete="off">
<div class="invalid-bottom-bar"></div>
</label>
</div>
<div class="column half">
<label class="card-label cvv-label" for="cvv">
<span class="field-name">CVV (3 digits)</span>
<input id="cvv" name="cvv" class="cvv card-field" maxlength="3" type="tel" inputmode="numeric" placeholder="CVV" autocomplete="off" autocapitalize="off">
<span class="payment-method-icon" id="undefined"></span>
<div class="invalid-bottom-bar"></div>
</label>
</div>
</div>
<div class="row">
<div class="column">
<label class="card-label postal-code-label" for="postal-code">
<span class="field-name">Postal Code</span>
<input id="postal-code" name="postal-code" class="postal-code card-field" autocomplete="off" maxlength="8" placeholder="Postal Code" autofill="off" autocapitalize="off">
<div class="invalid-bottom-bar"></div>
</label>
</div>
</div>
</form>
<div class="server-error">
<div class="server-error-message-container">
<div class="server-error-message">
<span class="error-icon"></span>There was an error processing your request. <a href="#" class="error-retry">Try again</a>
</div>
</div>
</div>
</div>