Home > Pay > Bezahlgeräte > Unterstützte Bezahlgeräte > Prepaid Smart Cards > Smart Card ScriptAPI
SmartCard ScriptAPI
Die SmartCard SriptAPI ermöglicht das Auslesen von vorhandenen Datenfeldern auf
der ACOS SmartCard z.B. über Webseiten (Siehe Beispiel unten). Theoretisch ist
auch das Anlegen von neuen Datenfeldern möglich, allerdings aus
Sicherheitsgründen noch nicht implementiert. Bitte
kontaktieren Sie uns, sofern Sie in dieser
Hinsicht konkrete Bedürfnisse haben.
Die SmartCard ScriptAPI ist Teil des
SiteKiosk Object Model.
Am Ende dieser Seite finden Sie ein
komplettes Beispiel zur Nutzung der SmartCard ScriptAPI in einer HTML-Seite.
Bitte beachten Sie:
Aus verständlichen Gründen können wir Ihnen (ausser dieser ausführlichen
Dokumentation) keinen Support bei der Implementierung und Nutzung der SmartCard
API leisten.
1. Das SmartCard Object
// 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. Das CustomerData Object
// Member-Functions
|
QuestionID = CustomerData.GetData(Callback, DataArray);
|
3. IsCardValid()
Der Rückgabewert dieser Funktion ist true, wenn die eingelegte Karte eine
ACOS-SmartCard ist und mit der gleichen Mastercard initialisiert wurde, wie der
Terminal. Andernfalls ist der Rückgabewert false.
4. IsCardInserted()
Diese Funktion hat den Rückgabewert, wenn eine Karte im Lesegerät steckt.
5. Credit()
Sofern innerhalb der Smartkonfigurationen erlaubt, können Sie Guthaben auf eine
Karte aufbuchen.
6. Debit()
Sofern innerhalb der Smartkonfigurationen erlaubt, können Sie Guthaben von einer
Karte abbuchen.
7. OnCardInserted() // overridable
Diese Funktion wird aufgerufen, wenn jemand eine Karte in das Lesegerät steckt.
8. OnCardRemoved() // overridable
Diese Funktion wird aufgerufen, wenn eine Karte aus dem Lesegerät gezogen wird.
9. OnCredit(Succeeded, Value) // overridable
Diese Funktion wird aufgerufen, wenn ein Betrag erfolgreich auf eine Karte
gebucht wurde.
Das erste Parameter enthält true, wenn die
Buchungsoperation erfolgreich war. Der zweite Parameter enthält den Wert der
gebucht wurde oder werden sollte.
10. OnDebit(Succeeded, Value) // overridable
Diese Funktion wird aufgerufen, wenn erfolgreich ein Betrag von der Karte
abgebucht wurde. Der erste Parameter enthält true, wenn die
Buchungsoperation erfolgreich war. Der zweite Parameter enthält den Wert der
gebucht wurde oder werden sollte.
11. GetData(Callback, DataArray)
Der erste Parameter der GetData-Funktion muss der Name einer Funktion mit drei
Parametern sein (
siehe Beispiel).
Der zweite Parameter
akzeptiert einen ID-Array oder eine einzelne ID. Für diese ID werden die Werte
ausgelesen.
Der Rückgabewert der Funktion ist eine bestimmte ID. Die
QuestionID des korrespondierenden Callback-Funktionsaufrufs hat den gleichen
Wert.
Die nachfolgende Tabelle zeigt die gültigen IDs, die an GetData übergeben
werden können:
0 => username
|
1 => email
|
2 => pop server
|
3 => pop password
|
4 => freedata string
|
5 => homepage
|
6 => currency
|
Beispiel für GetData:
function UserDataReady(QuestionID, Index, Value)
|
{
|
}
|
|
SiteKiosk.Plugins("SiteCash").Devices("ACOS")
|
.CustomerData.GetData(UserDataReady, 1)
|
// To simply get the email
|
12. Die Benutzung der SmartCard ScriptAPI in einer HTML-Seite
Einer Seite mit diesem Code muss unter
Zugriff Script Erlaubnis gewährt werden, damit SiteKiosk den Code ausführt. Die SmartCard
Funktionen müssen aktiviert sein, damit das Beispiel in SiteKiosk funktioniert.
<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>
|
Siehe auch
Nach oben