h5pay-flutter icon indicating copy to clipboard operation
h5pay-flutter copied to clipboard

url and redirectSchemes改如何传递呢,另外是否会跳转浏览器呢?

Open 979881765 opened this issue 3 years ago • 24 comments

979881765 avatar Sep 11 '21 05:09 979881765

url 就传支付宝或者微信那边给的支付链接,然后这个库会在内部 webview 打开这个链接,然后根据页面中跳转的 redirectSchemes 去唤醒对应的支付 app。不会跳转浏览器的

nekocode avatar Sep 11 '21 15:09 nekocode

好的 我尝试一下

979881765 avatar Sep 15 '21 03:09 979881765

微信支付我这边无法调起支付客户端,需要设置【商户申请H5时提交的授权域名】吗?如果需要是在哪里设置呢

979881765 avatar Sep 16 '21 05:09 979881765

@979881765 你这个问题和这个库无关啊。只要你能正常在浏览器调起支付客户端的话,那改成用这个库就肯定也行

nekocode avatar Sep 16 '21 06:09 nekocode

webview的refere没有暴露设置方法吗, 微信要求设置refere

979881765 avatar Sep 16 '21 08:09 979881765

@979881765 你这个问题和这个库无关啊。只要你能正常在浏览器调起支付客户端的话,那改成用这个库就肯定也行

调起微信支付需要在WebView设置Referer(Android和iOS都需要),不然怎么都不行,按照demo去操作一直超时

navyzhou926 avatar Sep 18 '21 03:09 navyzhou926

在浏览器可以成功,是因为Referer没有丢失才正常,在webview中很可能会丢失Referer,所以需要有入口去设置一下,并且iOS不设置的话,在App webView中调用微信支付成功,就不能再次返回App,只能返回浏览器

navyzhou926 avatar Sep 18 '21 03:09 navyzhou926

Android大部分情况下会丢失Referer,iOS不会丢失,但不设置,支付完,就不能返回App

navyzhou926 avatar Sep 18 '21 03:09 navyzhou926

referer 是 web 层干的事,这个库不涉及去操作 web 内容。如果你们真的想修改 referer 的话,应该让你们后端做一个跳板页面,然后你在 app 里先去跳这个跳板页面

nekocode avatar Sep 18 '21 03:09 nekocode

referer 是 web 层干的事,这个库不涉及去操作 web 内容。如果你们真的想修改 referer 的话,应该让你们后端做一个跳板页面,然后你在 app 里先去跳这个跳板页面

@navyzhou926 @979881765

nekocode avatar Sep 18 '21 03:09 nekocode

referer 是 web 层干的事,这个库不涉及去操作 web 内容。如果你们真的想修改 referer 的话,应该让你们后端做一个跳板页面,然后你在 app 里先去跳这个跳板页面

@navyzhou926 @979881765

不是这样的,在web层已经设置了Referer了,但是在App中的WebView中很可能Referer会丢失,就会导致Android Webview中去进行微信h5支付时,因为Referer丢失,导致报错,会在Webview中再设置一下Referer。而iOS如果不设置,则支付成功后不能返回App,也需要在Webview中设置正确的Referer

navyzhou926 avatar Sep 18 '21 03:09 navyzhou926

@navyzhou926 我之前上线的产品用这个库一直没问题啊,用跳板页自动跳到支付 app,支付完后返回另一个 web 跳板页再跳回我们的 app。我不太清楚是不是你们哪个环节有问题。

nekocode avatar Sep 18 '21 03:09 nekocode

@navyzhou926 我之前上线的产品用这个库一直没问题啊,用跳板页自动跳到支付 app,支付完后返回另一个 web 跳板页再跳回我们的 app。我不太清楚是不是你们哪个环节有问题。

我们在App中有一个WebView加载一个h5的商城,然后在商城里去支付,直接拿到微信h5支付的链接去跳转到微信支付,然后支付完就结束。这个场景应该是很多产品通用的场景。我只需要在我们的WebView中正确设置Referer就可以成功支付并跳转回App了。之前用这个库一直没有成功,所以我就自己手动设置了Referer,我试了下别的能在App中h5支付成功的库也基本是我说的这个流程,不需要用跳板页这些。也许你这个库不适合我说的这个场景吗

navyzhou926 avatar Sep 18 '21 03:09 navyzhou926

而且目前在Android Webview中跳转微信h5支付,是不用直接跳转到微信的,支付结束后还是在本App,只有iOS会跳转到微信,支付完,还需要配置Referer跳转回来

navyzhou926 avatar Sep 18 '21 03:09 navyzhou926

@navyzhou926 你们申请的是微信的 h5 支付么?还是其他支付场景?因为我已经有一年多没接触那个项目了,所以很多细节忘记了。我们当初是直接在 app 里点支付按钮,然后后端返回跳板页的链接给我,我再用这个库去背地里跳转到跳板页,然后就会直接打开微信 App 进行支付了。支付完后 App 会跳转到浏览器然后打开我们的回调页,回调页会再跳转回我们的 App。

大概是这样。

nekocode avatar Sep 18 '21 03:09 nekocode

@navyzhou926 你们申请的是微信的 h5 支付么?还是其他支付场景?因为我已经有一年多没接触那个项目了,所以很多细节忘记了。我们当初是直接在 app 里点支付按钮,然后后端返回跳板页的链接给我,我再用这个库去背地里跳转到跳板页,然后就会直接打开微信 App 进行支付了。支付完后 App 会跳转到浏览器然后打开我们的回调页,回调页会再跳转回我们的 App。

大概是这样。

当初后台反的是不是跳板页我也忘了😭 反正我刚看了下,线上的产品还能正常支付

nekocode avatar Sep 18 '21 03:09 nekocode

@navyzhou926 你们申请的是微信的 h5 支付么?还是其他支付场景?因为我已经有一年多没接触那个项目了,所以很多细节忘记了。我们当初是直接在 app 里点支付按钮,然后后端返回跳板页的链接给我,我再用这个库去背地里跳转到跳板页,然后就会直接打开微信 App 进行支付了。支付完后 App 会跳转到浏览器然后打开我们的回调页,回调页会再跳转回我们的 App。

大概是这样。

就是微信h5支付,只是不用再跳转到浏览器了,直接在App跳转微信支付,支付成功后,再直接跳转回App

navyzhou926 avatar Sep 18 '21 03:09 navyzhou926

现在只需要在App的webview中设置一个Referer,就可以实现我说的场景了

navyzhou926 avatar Sep 18 '21 03:09 navyzhou926

现在只需要在App的webview中设置一个Referer,就可以实现我说的场景了

意思就是要我再提供一个 referer 的设置接口对么?如果是的话,我可以抽空修改一下。

nekocode avatar Sep 18 '21 03:09 nekocode

现在只需要在App的webview中设置一个Referer,就可以实现我说的场景了

意思就是要我再提供一个 referer 的设置接口对么?如果是的话,我可以抽空修改一下。

是的,你可以看看楼上其它开发者的提问,都是要Referer的,不然这个库就没法给大家使用了

navyzhou926 avatar Sep 18 '21 03:09 navyzhou926

急需设置webview的Referer呀 ,### 有版本更新吗

blesslz avatar Sep 25 '21 01:09 blesslz

@blesslz 今天内抽空更新。

nekocode avatar Sep 25 '21 02:09 nekocode

已发布 1.1.0 版本到 pub.dev 上了,目前支持设置 http headers 了,具体用法可以看 readme 或者 example。但是我还没做过全面的测试,需要麻烦你们在真实场景下帮忙测试一下 @blesslz @navyzhou926 @979881765

nekocode avatar Sep 25 '21 11:09 nekocode

有问题了 ,微信支付宝 都是cantLaunchUrl, 没更新之前支付宝是可以的😁

blesslz avatar Sep 25 '21 11:09 blesslz