Form fields

SDK v2

The V2 SDK does not render the form: it takes over the inputs that already exist on your page, finding them by id. Those ids are a contract — change one and the SDK stops finding the field.

The contract is the inputs, not the containers. You can name the div elements that wrap the fields however you want: the SDK does not look for them. The only exception is responseTilopay, which is required.

Fields#

tlpy_payment_methodtext | selectrequerido#

Holds the payment method id obtained from Tilopay. It may be visible or hidden, at the merchant's discretion.

tlpy_saved_cardsselectrequerido#

Holds the saved card id obtained from Tilopay. If the customer has no saved cards, hide it.

tlpy_cc_numbertextrequerido#

Card number.

tlpy_cc_expiration_datetextrequerido#

Expiration date in month/year format, for example 01/25.

tlpy_cvvtextrequerido#

Security code. When the customer uses a saved card, this field must be enabled so they can type the CVV.

responseTilopaydivrequerido#

Required container, outside the form. This is where the SDK mounts the 3DS flow.

The Yappy phone does not travel through the DOM#

The Yappy phone number is not read from a form field: it is sent in the phoneYappy parameter of Init() or updateOptions().

Example structure#

The div elements in this example are free-form; the input ids and responseTilopay are not.

<div class="payFormTilopay">
  <select id="tlpy_payment_method" name="tlpy_payment_method"></select>

  <div>
    <select id="tlpy_saved_cards" name="tlpy_saved_cards"></select>
    <input type="text" id="tlpy_cc_number" name="tlpy_cc_number" />
    <input type="text" id="tlpy_cc_expiration_date" name="tlpy_cc_expiration_date" />
    <input type="text" id="tlpy_cvv" name="tlpy_cvv" />
  </div>
</div>

<div id="responseTilopay"></div>

Last verified: 2026-08-28 · Owner: equipo-integraciones

View as raw Markdown