- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想使用 paypal sideloader api 来集成 PayPal Here,如下所述: https://github.com/paypal/here-sideloader-api-samples/blob/master/docs/README.md
有几件事我不确定它是如何工作的。有人可以帮助我理解它/指出正确的方向吗?
要在此处启动 PayPal,请使用以下 url:
paypalhere://takePayment?
accepted=cash,card,paypal
&returnUrl=my_registered_location://takePayment/{result}?Type={Type}&InvoiceId={InvoiceId}&Tip={Tip}&TxId={TxId}
&as=b64
&step=choosePayment
&payerPhone=4155551212
&invoice={ ... json snipped ... }
究竟如何“打开”这个 paypalhere://
架构?理想情况下,我希望在我的 View 中有一个名为 Pay via PayPal Here 的按钮,单击后执行上述操作。
其次,注意如何有一个returnUrl
?这是我的应用程序的自定义 url 架构。首先,如何注册自己的 url schema(例如 myapp://
),然后实现 takePayment
方法来获取支付响应数据?
提前感谢您提供的任何帮助和提示。
最佳答案
是的,你是对的,添加一个按钮并调用一个类似的函数
function handlePaypal(){
if (Ti.Platform.canOpenURL("paypalhere://")) {
Ti.Platform.openURL("paypalhere://"+ yourstring);
}
...
}
但是您需要将此架构添加到您的tiapp.xml 文件
<ios>
<plist>
<dict>
<.....>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>paypalhere</string>
</array>
<....>
</dict>
</plist>
</ios>
已编辑
要处理 de URL 响应,您需要按如下方式处理打开事件:
如果你的App也是为Android设计的,你需要像下面这样读取接收意图数据,因为你使用的是Alloy,你需要放在app/alloy.js
if (OS_ANDROID) {
Alloy.Globals.receivedURL = Ti.Android.currentActivity.intent.data;
}
最后在 index.js
的开头$.index.addEventListener('open', function (e) {
if (OS_ANDROID) {
handleResponse(Alloy.Globals.receivedURL);
} else if (OS_IOS) {
//Here we have two cases: App was closed or App still running;
handleResponse(Ti.App.getArguments().url);
Ti.App.addEventListener('resume', function () {
handleResponse(Ti.App.getArguments().url);
});
}
});
毕竟,您可以开发自己的 handleResponse 函数 :)
接收参数是其他应用的URL,现在只需要解析即可。
--
作为替代方案,从 5.2 版开始,Titanium 支持 Hyperloop [beta] 模块。您可以使用它来集成 native paypal-ios sdk到您的 Titanium App。也许它会更好地记录并且易于维护。您可以使用 CocoaPods 安装,并通过 Hyperloop 直接访问。如果您有兴趣,这是一个很好的起点:How to use Hyperloop in your Titanium App
关于paypal - 在 Titanium Appcelerator(合金框架)中使用 sideloader api 与 PayPal Here 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34721697/
我是一名优秀的程序员,十分优秀!