我正在尝试在我的网络应用程序中编写一个按钮,该按钮将在 Android 平板电脑上启动 Square 应用程序以进行付款处理。
我一直在遵循 Web 开发人员指南,但在定义付款 typeType 变量时遇到语法错误:未捕获的语法错误:无效或意外的 token
我不确定可能出了什么问题,因为这直接来自 square 文档上的示例。
有人可以透露一些信息吗?这是我的代码示例。
启动 javascript 代码的按钮:
<div id="do_square_payment" align="center" style="display:none;">
<button id="do_square_payment_btn_android" value="Square" style="background-image:url(images/Square.png); height:200px; width:200px;" onClick="openURL();"></button><br>
</div>
Javascript代码:
<script>
function openURL(){
var amount = document.form.payment_amount_mobile.value;
var amountFixed = amount * 100;
console.log("Payment amount" + amountFixed);
var posUrl =
"intent:#Intent;" +
"action=com.squareup.pos.action.CHARGE;" +
"package=com.squareup;" +
"S.browser_fallback_url=https://jaydien.ezservicetrax.com;" +
"S.com.squareup.pos.WEB_CALLBACK_URI=https://jaydien.ezservicetrax.com;" +
"S.com.squareup.pos.CLIENT_ID=sq0idp-OMMITED;" +
"S.com.squareup.pos.API_VERSION=v2.0;" +
"S.com.squareup.pos.CURRENCY_CODE=USD;" +
"S.com.squareup.pos.TENDER_TYPES=com.squareup.pos.TENDER_CARD,com.squareup.pos.TENDER_CASH;" +
"i.com.squareup.pos.TOTAL_AMOUNT=" +
amountFixed +
";" +
"end";
window.open(posUrl);
}
</script>
这是我使用 Chrome 开发者工具模拟 Android 设备时请求的 URL:
intent:#Intent;action=com.squareup.pos.action.CHARGE;package=com.squareup;S.com.squareup.pos.WEB_CALLBACK_URI=https://jaydien.ezservicetrax.com;S.com.squareup.pos.CLIENT_ID=OMMITED;S.com.squareup.pos.API_VERSION=v2.0;i.com.squareup.pos.TOTAL_AMOUNT=5.00;S.com.squareup.pos.CURRENCY_CODE=USD;S.com.squareup.pos.TENDER_TYPES=com.squareup.pos.TENDER_CARD,com.squareup.pos.TENDER_CARD_ON_FILE,com.squareup.pos.TENDER_CASH,com.squareup.pos.TENDER_OTHER;end
最佳答案
我认为这只是文档中的某种拼写错误。
您正在尝试在多行上创建一个字符串文字,为此您应该使用与在 tenderTypes
变量之后实例化的 posUrl
变量相同的方法,即关闭引号并使用 +
运算符与下一行连接。还有其他方法可以创建多行字符串,例如在每行末尾添加 \
,以便解析器知道文字尚未完成。
您的代码将如下所示:
var tenderTypes =
"com.squareup.pos.TENDER_CARD,\
com.squareup.pos.TENDER_CARD_ON_FILE,\
com.squareup.pos.TENDER_CASH,\
com.squareup.pos.TENDER_OTHER";
或者这个:
var tenderTypes =
"com.squareup.pos.TENDER_CARD," +
"com.squareup.pos.TENDER_CARD_ON_FILE," +
"com.squareup.pos.TENDER_CASH," +
"com.squareup.pos.TENDER_OTHER";
关于javascript - 适用于 Android 的 Square Web API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60979617/