Home > Versión Pay > Dispositivos Soportados > SmartCards: Tarjetas Pre-pago  > Smart Card ScriptAPI

El ScriptAPI de SmartCard

El ScriptAPI de la SmartCard le permite leer campos de datos localizados en una tarjeta ACOS SmartCard, por ejemplo, utilizando siteios web (ver ejemplo abajo). Aunque también es posible teóricamente crear nuevos campos, no hemos implementado esta función por razones de seguridad.
Por favor contacte si neceista información concreta sobre una posible implementación de esta característica.

El ScriptAPI de SmartCard es una parte del SiteKiosk Object Model.

Vaya al final de esta página para encontrar un ejemplo completo sobre cómo utilizar ScriptAPI de SmartCar en una página HTML.

Por favor, tenga en cuenta:
Le rogamos entienda que no podemos ofrecer soporte gratuito (aparte de esta información de detallada) relacionado con la implementación y uso del API SmartCard.

1. El objeto SmartCard
          // Member-Functions
 
Boolean = SiteKiosk.Plugins("SiteCash").Devices("ACOS").IsCardValid();
Boolean = SiteKiosk.Plugins("SiteCash").Devices("ACOS").IsCardInserted();
SiteKiosk.Plugins("SiteCash").Devices("ACOS").Credit(Value);
SiteKiosk.Plugins("SiteCash").Devices("ACOS").Debit(Value);
 
          // Events, Overridable
SiteKiosk.Plugins("SiteCash").Devices("ACOS").OnCardInserted();
SiteKiosk.Plugins("SiteCash").Devices("ACOS").OnCardRemoved();
 
          // Properties
Value = SiteKiosk.Plugins("SiteCash").Devices("ACOS").Balance;
SiteKiosk.Plugins("SiteCash").Devices("ACOS").CustomerData;    // Object


2. El objeto CustomerData
          // Member-Functions
QuestionID = CustomerData.GetData(Callback, DataArray);

3. IsCardValid()
Esta función devuelte true (verdadero) si la tarjeta ACOS SmartCard insertada se ha inicializado con la misma MasterCard que el terminal. En caso contrario, devolverá false.

4. IsCardInserted()
Esta función devuelve true (verdadero) si una tarjeta se ha instertado en el lector SmartCard.

5. Credit()
En el caso de que lo admita en archivo de configuración de su SmartCard, esta función le permite añadir cantidades de crédito a la tarjeta.

6. Debit()
Si lo ha admitido en el archivo de configuración de su SmartCard, esta función le permite restar crédito de una tarjeta. 

7. OnCardInserted() // overridable
Esta función se llama cuando alguien insterta la tarjeta en el lector de SmartCard.

8. OnCardRemoved() // overridable
Esta función se llama cuando se saca una tarjeta del lector de SmartCard.

9. OnCredit(Succeeded, Value) // overridable
Esta función se llama cuando se ha añadido dinero al crédito de la tarjeta. 
Este parámetro contiene true si la operación de crédito se ha completado correctamente. El segundo parámetro contiene el valor que se ha aplicado o no.

10. OnDebit(Succeeded, Value) // overridable
Esta función se llama cuando se ha cargado dinero de forma correcta en la tarjeta. El primer parámetro contiene true si la operación de débito se ha realizado correctamente. El segundo parámetro contiene el valor que se ha deducido o intentado deducir. 
11. GetData(Callback, DataArray)
El primer parámetro de la función GetData function tiene que ser el nombre de la función con tres parámetros (ver ejemplo).
El segundo parámetro acepta un array de IDs o un único ID. El valor de este ID se leerá. 
El valor de retorno de la función es un único ID. El QuestionID de la correspondiente función de llamada (Callback) tiene el mismo valor. 
Consulte la siguiente tabla para los IDs válidos se se pueden pasar a GetData:

0 => username
1 => email
2 => pop server
3 => pop password
4 => freedata string
5 => homepage
6 => currency
Ejemplo de GetData:

function UserDataReady(QuestionID, Index, Value)
{
}
 
SiteKiosk.Plugins("SiteCash").Devices("ACOS")
.CustomerData.GetData(UserDataReady, 1)
// To simply get the email


12. Cómo utilizar el ScriptAPI SmartCard en una página HTML
Una página que contenga este código debe tener permisos para scripts desde Acceso / Seguridad para que SiteKiosk pueda ejecutar el código. Las funciones SmartCard se deben habilitar para que el ejemplo funcione en SiteKiosk.

<html>
<body>
 
<p>
         <table>
   <tr>
   <th align='left'>Card Valid:
   <td><span id='cardvaliddiv'></span>
   <tr>
   <th align='left'>Card Inserted:
   <td><span id='cardinserteddiv'></span>
   <tr>
   <th align='left'>Balance on CardCard:
   <td><span id='balancediv'></span>
   <tr>
   <th align='left'>Status:
   <td><span id="DivStatus"></span>
   <tr>
   <th align='left'>Card Owner:
   <td><span id="DivCust0"></span>
   <tr>
   <th align='left'>Email-Address:
   <td><span id="DivCust1"></span>
   <tr>
   <th align='left'>Email-Server:
   <td><span id="DivCust2"></span>
   <tr>
   <th align='left'>Password:
   <td><span id="DivCust3"></span>
   <tr>
   <th align='left'>Customer ID:
   <td><span id="DivCust4"></span>
   <tr>
   <th align='left'>Currency:
   <td><span id="DivCust5"></span>
   <tr>
   <th align='left'>Transstart:
   <td><span id='transstartdiv'></span>
   <tr>
   <th align='left'>Transend:
   <td><span id='transenddiv'></span>
         </table>
<p>
 
<input name='creditinput' type='input' value='0'>
<input type='button' onClick='Credit(creditinput.value)' value='Credit Card'>

<br>
<input name='debitinput' type='input' value='0'>
<input type='button' onClick='Debit(debitinput.value)' value='Debit Card'>
 
<script language='jscript'>
         var question_idx;
 
   window.external.InitScriptInterface();
 
         function CardInserted(cardtype)
                  {
            cardinserteddiv.innerHTML =
            SiteKiosk.Plugins("SiteCash").Devices("ACOS").IsCardInserted();
            cardvaliddiv.innerHTML =
            SiteKiosk.Plugins("SiteCash").Devices("ACOS").IsCardValid();
            balancediv.innerHTML =
            SiteKiosk.Plugins("SiteCash").Devices("ACOS").Balance;
 
            DivStatus.innerText = "Reading...";
            testarray = new Array(0,1,2,3,4,5);
            question_idx = SiteKiosk.Plugins("SiteCash").Devices("ACOS").
            CustomerData.GetData(UserDataReady, testarray);
            DivStatus.innerText = "Found Card in Cardreader.";
                  }
 
         function CardRemoved()
                  {
            cardvaliddiv.innerHTML = "";
            cardinserteddiv.innerHTML = "";
            balancediv.innerHTML = "";
 
            DivStatus.innerText = "No Card inserted.";
            DivCust0.innerText = "unknown.";
            DivCust1.innerText = "unknown.";
            DivCust2.innerText = "unknown.";
            DivCust3.innerText = "unknown.";
            DivCust4.innerText = "unknown.";
            DivCust5.innerText = "unknown.";´
                  }
 
         function UserDataReady(questionid, index, value)
                  {
                  }
 
         function TransactionFinished(transid, success)
                  {
            balancediv.innerHTML =
            SiteKiosk.Plugins("SiteCash").Devices("ACOS").Balance;
                  transenddiv.innerHTML = "Transaction - ID: " + transid +
                  " Success: " + success;
                  }
 
         function Credit(value)
                  {
                  transstartdiv.innerHTML = "Credit - Value: " + value + " ID: " +
                   SiteKiosk.Plugins("SiteCash").Devices("ACOS").Credit(value);
                  }
 
                  function Debit(value)
                  {
                  transstartdiv.innerHTML = "Debit - Value: " + value + " ID: " +
                   SiteKiosk.Plugins("SiteCash").Devices("ACOS").Debit(value);
                  }
 
         function UserDataReady(question_id, userdata_index, userdata_value)
            {
            switch (userdata_index)
                  {
                   case 0: DivCust0.innerText = userdata_value;
                     break;
                   case 1: DivCust1.innerText = userdata_value;
                     break;
                   case 2: DivCust2.innerText = userdata_value;
                     break;
                   case 3: DivCust3.innerText = userdata_value;
                     break;
                   case 4: DivCust4.innerText = userdata_value;
                     break;
                   case 5: DivCust5.innerText = userdata_value;
                     break;
                   }
                  }
SiteKiosk.Plugins("SiteCash").Devices("ACOS").OnCardInserted = CardInserted;
SiteKiosk.Plugins("SiteCash").Devices("ACOS").OnCardRemoved = CardRemoved;
SiteKiosk.Plugins("SiteCash").Devices("ACOS").OnUserDataReady = UserDataReady;
SiteKiosk.Plugins("SiteCash").Devices("ACOS").OnTransactionFinished = TransactionFinished;
 
         if (SiteKiosk.Plugins("SiteCash").Devices("ACOS").IsCardInserted())
                  CardInserted(0);
      else
                  CardRemoved();
 
         </script>
 
</body>
</html>


Vea también

Herramienta Admin. Smart Card


Volver arriba