charleyw / cordova-plugin-alipay

Cordova支付宝插件,cordova alipay plugin
176 stars 75 forks source link

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

Open coolara opened 8 years ago

coolara commented 8 years ago

是什么原因呢

charleyw commented 8 years ago

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

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

coolara commented 8 years ago

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

charleyw commented 8 years ago

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

coolara commented 8 years ago

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

charleyw commented 8 years ago

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

charleyw commented 8 years ago

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

coolara commented 8 years ago

ionic build ios 又还原了改了没用

coolara commented 8 years ago

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

charleyw commented 8 years ago

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

coolara commented 8 years ago

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

coolara commented 8 years ago

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

shi110yan commented 7 years ago

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

charleyw commented 7 years ago

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) {
shi110yan commented 7 years ago

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

charleyw commented 7 years ago

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