Rad*_*Rad 9 redirect cordova ionic-framework stripe-connect
框架: Ionic Cordova
API: Stripe Connect(允许用户相互发送付款).
获取付款的注册过程是通过Stripe Connects自己的外部窗口进行的.注册Stripe Connect时,它使用重定向URI(在我的Stripe帐户的设置中设置)返回到您带有身份验证代码的屏幕.这适用于浏览器(因为重定向URI设置为localhost或IP),但手机上实际运行的应用程序没有,因为应用程序没有URL.因此它显示"站点不可访问/不存在"浏览器错误消息.
我目前使用以下方法打开Stripe Connect注册屏幕:
var link = "https://connect.stripe.com/oauth/authorize?response_type=code&client_id=MYCLIENTID&scope=read_write";
window.open(link, '_blank', 'location=no');
Run Code Online (Sandbox Code Playgroud)
我已经向Stripe支持寻求帮助,但他们没有解决方案.
我已尝试使用自定义URL方案为应用程序提供URL - 但Stripe仅允许"Http://"URL,而不是自定义URL方案提供的CoolAppName //:.
请不要对此感到困惑:如果我在cmd中运行"ionic run -l",然后使用给定的URL作为Redirect URI,它实际上也会使用手机上的身份验证代码重定向回来.但是,删除存储在应用程序中的每个信息,因此它"忘记"用户登录的内容.当然,此解决方案也只能在本地使用.
任何建议表示赞赏.
提前致谢.
您可以使用任何您想要的网址,您需要做的是监听loadstart
事件并检查它是否正在加载该网址以了解重定向是否正常
如果您还没有安装,请先安装 inAppBrowser 插件
cordova plugin add cordova-plugin-inappbrowser
并使用window.cordova.InAppBrowser.open
而不是window.open
(API 很久以前改变了)
你的代码应该是这样的:
var link = "https://connect.stripe.com/oauth/authorize?response_type=code&client_id=MYCLIENTID&scope=read_write";
var browserRef = window.cordova.InAppBrowser.open(link, '_blank', 'location=no');
browserRef.addEventListener('loadstart', function(event) {
if((event.url).indexOf(yourRedirectUri) === 0) {
//Loaded the redirect url
}
});
Run Code Online (Sandbox Code Playgroud)
yourRedirectUri
您在条纹上使用的网址在哪里
归档时间: |
|
查看次数: |
1137 次 |
最近记录: |