ios - 是否可以使用非 HTTPS URL 作为连接到 Square 的 Web 应用程序的 Web 回调 URL?

标签 ios web-applications square-connect

我正在开发一个 POS 系统作为 Web 应用程序,它将在 Safari 以外的浏览器(Star WebPRNT 浏览器)上运行。我希望使用的网络回调 URL 是 Star WebPRNT 浏览器的 iOS 应用程序 URL 方案,但 Square Developer 网站上的应用程序仪表板只允许我使用 HTTPS URL。我还遇到 Square POS 应用程序在打开后立即重定向到回调 URL 的问题,因此我无法付款(本例中的回调 URL 是 https://www.example.com/,因为它是 HTTPS URL)。

var dataParameter = {
        "amount_money": {
            "amount" : "500",
            "currency_code" : "USD"
        },
        "callback_url" : "https://www.example.com",
        "client_id" : "My application ID in actual code",
        "version": "1.3",
        "options" : {
            "supported_tender_types" : ["CREDIT_CARD"]
        }
    };
    window.location.assign("square-commerce-v1://payment/create?data=" + encodeURIComponent(JSON.stringify(dataParameter)));

最佳答案

抱歉,目前我们不支持 HTTPS 以外的网络回调 URL 方案。此外,iOS 不允许 Safari 以外的应用程序处理 (http|s) 请求。

但是,我们目前正在考虑向 Square POS iOS 应用程序添加一项功能,如果请求来自其中一个应用程序,该功能将重定向回 Star Webprnt 或 AirWatch。

然而,能否做到这一点取决于 Star WebPRNT iOS 应用程序是否支持通过自定义 URL 方案切换应用程序。

更新:我们已经联系了 Star Micronics 集成团队,Star WebPRNT 应用程序不支持应用程序切换,尽管将来可能会支持。

但是,他们确实有另一个名为 PassPRNT 的应用程序,它支持应用程序切换。参见 here获取 PassPRNT > iOS 下的文档。

使用 PassPRNT,流程如下所示:

  1. 在 Safari 中打开您的 POS 网络应用
  2. 将请求发送到 Square POS,并回调到您的 https URL。
  3. 当您的 POS 应用收到回调时,使用所需的 URL 重定向到 PassPRNT。
  4. 示例 PassPRNT iOS URL:starpassprnt://v1/print/nopreview?html=PrintingDataInHTML&size=3&drawer=ahead&back= https://myposapp.com/path-to-return-to-after-printing

关于ios - 是否可以使用非 HTTPS URL 作为连接到 Square 的 Web 应用程序的 Web 回调 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45589691/

相关文章:

ios - MarqueeLabel 文本不会滚动

ios - 如何在 POST 方法 swift 中将 NSData 作为参数发送

ios - Phonegap 3.4.0 IOS 启动画面显示默认

javascript - 函数 doGet 在请假审批脚本中不起作用

ios - 在 Xcode Beta 6 之后快速使用 NSPredicate 崩溃

java - 重定向时 URL 中的冒号?

python - 如何将一个简单的 python 脚本转换为基本的 webapp?

javascript - 如何更改Square付款表格的字体

square-connect - 我们可以通过 Square Connect API 搜索链接到付款 ID 的订单 ID 吗?