cordova-plugin-alipay icon indicating copy to clipboard operation
cordova-plugin-alipay copied to clipboard

通常支付宝只会跳回原来的APP,但是在ios上,跳转到了另外一个也可以用支付宝支付的app

Open coolara opened this issue 9 years ago • 15 comments

是什么原因呢

coolara avatar Sep 22 '16 06:09 coolara

从支付宝跳转回原来的App所依赖的是URL scheme,而且插件会在安装的时候生成URL scheme,生成的规则是字母a加PARTNER_ID(见这段代码

如果支付完跳转到另一个App,可能的原因是两个App有相同的URL scheme。 所以另一个App是啥呢? 也是你们自己的App吗? 用这个插件了吗?

charleyw avatar Sep 22 '16 07:09 charleyw

@charleyw 两个app都用了这个插件,支付完成跳转会出现问题。让两个app的url scheme不同可以么?一个是a加PARTNER_ID,一个是b加PARTENER_ID可以么

coolara avatar Sep 22 '16 07:09 coolara

嗯,可以的你自己手动修改一下好了

charleyw avatar Sep 22 '16 07:09 charleyw

改了之后 在info.plist 还是生成的a开头

coolara avatar Sep 22 '16 07:09 coolara

你直接在info.list里面改吧,直接把那个a改成其他的。

charleyw avatar Sep 22 '16 07:09 charleyw

因为插件也只是再安装的是时候去修改info.plist文件的。

charleyw avatar Sep 22 '16 07:09 charleyw

ionic build ios 又还原了改了没用

coolara avatar Sep 22 '16 07:09 coolara

我把这个插件下载下来,在本地改好xml之后,本地安装的插件,应该没问题吧,现在看info.plist文件里面也是改过之后的效果,但是运行的时候还是之前的问题

coolara avatar Sep 22 '16 08:09 coolara

clone到本地的话,应该没问题了。确认一下之后安装到机器上的是最新的,等等之类的问题。

charleyw avatar Sep 22 '16 08:09 charleyw

还是不行额,我看xcode里面都是我修改后的内容,但是还是跳到另一个app上,我把另一个app卸载了,支付完成活着取消就留在支付宝界面不会跳回去了。。是不是代码里面也有需要改a,b的地方?我再改下

coolara avatar Sep 22 '16 08:09 coolara

找到问题了,代码里面有个地方没有改,

coolara avatar Sep 22 '16 08:09 coolara

最后是改了哪里才搞定的,我把包下到本地,然后在把plugin.xml里改成b,再把包加入工程,最后还是跳回原来的APP,没有跳到新APP

shi110yan avatar Mar 23 '17 10:03 shi110yan

https://github.com/charleyw/cordova-plugin-alipay/blob/master/src/ios/AlipayPlugin.m#L81 这一行的 a%@也要改

        [[AlipaySDK defaultService] payOrder:orderString fromScheme:[NSString stringWithFormat:@"a%@", self.partner] callback:^(NSDictionary *resultDic) {

charleyw avatar Mar 24 '17 02:03 charleyw

3Q,解决了,想不到是作者亲自来回答,非常感谢。另外支付宝出了新接口,作者可以再出个新接口的版本吗

shi110yan avatar Mar 27 '17 03:03 shi110yan

不好意思,最近这段时间比较忙,所以一直没太多时间关注这一块。有空的话,我会尝试更新一下的。

charleyw avatar Mar 27 '17 03:03 charleyw