Я действительно работаю над образцом для оплаты SDK прямо сейчас. Вот как я это делаю ... Обратите внимание, что моя функция initApp вызывается при запуске события webworksready.
В вашем index.html вы захотите создать прослушиватель событий для этого. Вы не можете получить доступ к каким-либо родным API до тех пор, пока это событие не будет запущено.
<!-- Set the webworksready event handler -->
<head>
<script type="text/javascript">
document.addEventListener("webworksready", initApp);
</script>
</head>
Затем часть JavaScript ...
/**
* called by the webworksready event when the environment is ready
*/
function initApp() {
// init payment service development mode
try {
blackberry.payment.developmentMode = true;
} catch(e) {}
}
function purchase() {
console.log('purchasing');
try {
blackberry.payment.purchase({
"digitalGoodID": "123",
"digitalGoodSKU": "someSKU",
"digitalGoodName": "SomeName",
"metaData": "metadata",
"purchaseAppName": "WebWorks APP",
"purchaseAppIcon": null,
"extraParameters": {
"key1": "value1",
"key2": "value2"
}
},
onSuccess, onFailure);
} catch (e) {
alert("Error" + e);
}
}
function onSuccess(purchasedItem) {
console.log(purchasedItem)
}
function onFailure(error) {
console.log(error);
}