Wenprise Alipay Gateway ForWooCommerce支付宝支付网关插件设置教程

阅读时间: 30 分钟

在这个插件中,我们使用的是「蚂蚁金服开放平台」中的「开放平台密钥」,而不是其他类型的密钥,请注意区分。如果您现有的 「mapi 网关密钥」,需要升级或重新申请开放平台密钥后才可以使用本插件。

  1. 打开支付宝 PID 和公钥管理页面

    打开页面:https://openhome.alipay.com/platform/keyManage.htm、用你的支付宝账户登录。

  2. 获取 APPID、开始设置应用公钥

    下图中的 「APPID」就是我们插件中需要的 APPID,把他复制下来,粘贴到插件的「APPID」处。然后,依次点击下图中的「开放平台密钥」、「设置应用公钥」

  3. 在弹出的窗口中点击「设置应用公钥」

    设置应用公钥,供支付宝验证我们使用私钥加密的签名使用。

  4. 使用手机验证码或支付密码进行验证

    设置公钥需要手机验证,填写手机接收到的验证码即可。

  5. 点击「支付宝密钥生成器」下载支付宝密钥生成工具

    下图为 Mac 版的,Windows 版的类似。

  6. 打开下载的支付宝密钥生成工具、点击「生成密钥」

    生成后,「生成 RSA 密钥」按钮变成了「重新生成」,位置是一样的。

  7. 支付宝新版密钥生成工具的界面。

    我们只使用其中的「生成密钥」功能,密钥生成后,把其中的「应用私钥」复制到WooCommerce设置中,「应用公钥」复制到支付宝中,然后从支付宝中复制「支付宝公钥」到WooCommerce设置。

  8. 复制「步骤 6」生成的公钥、填写到「步骤 5」的文本框中、点击保存。

    保存成功后,出现如下界面,点击「查看支付宝公钥」,看到的支付宝公钥就是我们插件中需要的支付宝公钥,复制粘贴到插件的「支付宝公钥」处。

  9. 点击「步骤 6 」中的「打开文件位置」按钮。

    在出现的文件夹中找到「rsa_private_key.pem」或「应用私钥2048」这个文件,这个文件里面的内容就是我们需要的应用私钥,用记事本打开这个文件,复制里面的内容到插件的「应用私钥」处。

  10. 设置授权回调地址

    点击下图中的「设置」链接,在弹出的窗口中输入插件设置页面的授权回调地址,格式如下:http://你的域名/wc-api/wprs-wc-alipay-notify/

  11. 最后,在插件页面点击「保存更改」按钮。

    插件到这里就设置成功了,可以随便买个商品测试一下,如果没有意外,就可以使用支付宝进行支付了。

签名错误问题一般都是设置错误,请仔细对照此进行设置,如果实在解设置不好,可以购买「WooCommerce支付宝插件设置服务」,然后联系我协助设置。

时间精力有限,恕不能提供免费服务。

我们提供 WordPress主题和插件定制开发服务

本站长期承接 WordPress主题、插件、基于 WooCommerce 的商店商城开发业务。 我们有 10 年WordPress开发经验,如果你想 用WordPress开发网站, 请联系微信: iwillhappy1314,或邮箱: amos@wpcio.com 咨询。

88 thoughts on “Wenprise Alipay Gateway ForWooCommerce支付宝支付网关插件设置教程

  1. 一直遇到 “ 错误代码 insufficient-isv-permissions 错误原因: ISV权限不足,建议在开发者中心检查签约是否已经生效”
    支付宝是申请的线下店铺当面付,且已成功上线,不知何故?
    是要申请 手机网站支付 吗?如果是,则又会遇到icp证申请问题,我域名是godaddy申请的、空间是hostgater,是不是这些都不满足插件使用条件呢?谢谢

    1. 是需要申请「电脑网站支付」和「手机网站支付」这两个产品的,「当面付」产品目前无法使用。

    2. 申请支付宝是需要备案的否者你网站无法使用电脑网站或者手机网站支付的.,个人也是无法申请的。
      支持申请的是个体工商户和企业……
      线下支付跟线上支付是两种不同业务……

  2. 为什么订单支付成功后回调地址展示的是-1,而且订单状态也没有扭转

  3. 楼主辛苦!请问可不可以加入一段防止浏览器自动检测弹窗拦截支付的代码啊?找了半天代码也没找到在哪里。这个在支付的时候太重要了。我是想在点击支付的时候先打开一个空白的新窗口,这种浏览器也会认为是用户点击行为而不会拦截。网上很多例子是直接给新窗口的location.href设置为新url,但是在需要表单form提交的情况下不行。那么我的思路就是获取新窗口,然后给空白的新窗口innerHTML设置为支付宝返回的表单内容,然后在空白新窗口自身打开新页面,这样也可以解决此问题。因为支付宝三方接口返回的form表单默认就是从自身页面打开的,所以该方法应该可行的。

    1. 正在想办法解决这个问题,你说的思路应该是可以的,不过在WooCommerce是实现起来有点复杂。最终肯定会找到一个合适的方法的,敬请期待。

      1. 支付宝支付的时候,弹出窗口被拦截的问题有解决方案吗?

        1. 目前没有太好的解决方案,可能的解决方案是加一个手动到支付宝支付的按钮,这样会多一步操作。如果你有好的建议,欢迎提出来。

  4. 哈哈哈,期待期待!还可以顺便修复下在手机上打开网站进行支付的时候,那个用户选择支付成功或支付失败的窗口超出手机屏幕的问题,只能关闭网站重新输入网址。

  5. 遇到个奇怪的问题求助,我把wordpress从一台Linux迁移到windows server上之后这个插件就不工作了,迁移的方式是直接复制整个wordpress目录到新服务器,数据库直接从原来的数据库导入的,请问大概会是什么原因导致这个插件无法正常工作了呢

  6. 请问不能用沙箱环境测试吗,我把代码量的网关都改成了沙箱网关,测试不通,问题非常多

    1. 这个应该是支付宝沙箱模式的问题,根据支付宝的文档,正式模式和沙箱模式的区别就是换了个网关 URL。建议直接使用正式模式测试。

      1. 这几天一直在测试这个插件,好多问题跟您反馈一下:
        1. 手机端支付,某些浏览器比如UC,支付弹窗会完全不显示,也不提示被拦截,进后台看订单竟然是支付成功的状态;
        2. 支付弹窗被拦截;
        3. 有时支付成功后,从支付宝返回网站会出现“此站点正遇到技术问题”,有时又会正常怀疑跟订单号格式有关;
        涉及到支付,可能一点bug也会很致命,希望再优化一下

        1. 1、会有弹窗的问题,未支付显示支付成功的问题应该已经解决过了,我有空再测试一下。
          3、“此站点正遇到技术问题” 是 WordPress 的致命错误提示,可以把调试模式打开,看一下具体是什么错误。

          最近在做项目,可能没有太多精力来测试这个插件,如果你能找到具体的错误,可以把错误信息发出来,我来针对性的进行测试。

  7. 支付完毕,跳转到/wc-api/wprs-wc-alipay-return/?charset=UTF-8&out_trade_no=8878&method=alipay.trade.page.pay.return&total_amount=0.10&sign=Jc%2BftvEhzF5qV3d6qFaPy3XWVXlqYaLTHr6%2FHNgZgYNz%2BwDipZLtE%2FjSntLfoyHqFzIZCbgU%2BORtx6xS7wXupJN3qdfr46o5gyAnI9mIciExDH%2Fe%2B7SqiRsXBWjsGoQsP2%2BXuPPiP8nvIyq5zaqNJYd8WDrJz8SqgZumm6X7xCsHWEK00KYhFNZmp3r%2B8mL3VOXnb34%2Blhl75fjywVz4HKG%2FVBFDOOHHiNawz2iIkxGeYu8uGZDnFGkksaXDpihYMhnUjOJ6JqPaHo06UNM2lfJMDxux025Y%2F1lDU%2FdpENrKjZe7hF%2FkPjimLZA6V9PS5G8hOfo2bEQUV0r%2FS4GNVA%3D%3D&trade_no=2019101722001482010568913515&auth_app_id=2019101268301743&version=1.0&app_id=2019101268301743&sign_type=RSA2&seller_id=2088002464307367&timestamp=2019-10-17+18%3A26%3A58
    最后提示The signature is not match

  8. 点击到支付宝付款,错误代码 invalid-signature 错误原因: 验签出错,sign值与sign_type参数指定的签名类型不一致:sign_type参数值为RSA2,您实际用的签名类型可能是RSA

  9. 正确设置了各项参数,点击结账按钮转到页面,出现了支付宝的图案,可是页面上面一直有个圈⭕在运行,点击不了下一步,这是什么原因?

  10. 你好,请问在点付款的时候,跳转到支付宝页面(正在跳转到支付宝,请在跳转后继续支付。),需要等待很长时间,这是什么原因?是主题慢么?

      1. 我的接口加签方式,不小心选了证书了,没法选择公钥,这样发现调用接口失败,请问有没有解决方案,谢谢

  11. 手机支付完成,出现,The signature is not match,是什么问题?

  12. 提交订单一直卡在提交页面,另外/wc-api/wprs-wc-alipay-return/这个回调地址没在网站根目录下发现这个文件夹呢。

  13. 为什么ios端网页无法跳转,Android端网页可以跳转但会提示拦截,电脑网页第一次可以正常跳转,但若未支付返回再继续提交就无法再次跳转支付,从订单中再点击付款也是无法跳转支付。?

  14. 作者你好,更新了最新版本之后,手机支付弹窗被国内浏览器拦截,不会被拉起的问题已经解决了,幸苦了。但是还是有个问题,试了手机网页支付和电脑网页支付,都提示The signature is not match。看了前面说是可能密钥配置错误,我问了支付宝的客服,说是支付宝公钥是不变的,而应用公钥也是按照上面教程生成的,重新配置了几次加签方式还是行不通,想问下可能是哪个密钥导致的问题呢。

  15. 你的教程和目前的支付宝平台的应用界面有出入,上传证书并获得支付宝公钥后,在后台设置完参数,前台提交订单,提示 如下,试过无数次都这样:调试错误,请回到请求来源地,重新发起请求。
    ——————————–
    错误代码 invalid-signature 错误原因: 验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配,网关生成的验签字符串为:alipay_sdk=lokielse/omnipay-alipay&app_id=。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。;version=1.0
    —————————————————
    说明:如果您不是因为本接口集成调试而看见该错误提醒,请联系本次请求来源网站,本错误属于网站集成接口的错误。

  16. 唉。安装完以后,在哪里设置啊,没有后台界面和地址啊。。。。。。。。

  17. 支付成功,出现The signature is not match。应该不是密钥公钥填错,按照上面一步步配置的;而且,商户是成功收到款了(不是沙箱测试)。还有就是,在网站后台退款时提示:在尝试使用支付网关API进行退款时出现了错误。这个怎么解决?是不支持退款吗?

  18. * 由于支付宝在微信中被屏蔽掉了,支付宝支付在微信中自动隐藏

    掌柜,如何取消插件自动隐藏

    1. 抱歉,这个插件目前还不支持自动续费功能,如果需要,可以在取得支付宝自动扣费接口后联系我们定制开发。

  19. 您好!已经安装了这个插件,在电脑上付款正常,但手机上付款出现以下问题,希望能指导一下,谢谢!
    手机上支付会打开支付宝成功付款,但在回调时出现以下错误提示:
    WordPress错误
    The signature not match

    1. 我也是这个问题,成功付款,但是回调时出现以下错误提示:The signature not match
      很多用户都有这个问题,是不是插件的问题啊?

  20. 在chrome浏览器中可正常使用,换成其他浏览器,点击支付跳到跳转页面,提示“正在重定向到支付宝,请稍候…”,然后一直不动,是啥原因呢。

      1. 当前操作系统为:win10专业版,系统版本:19041.264

        其他浏览器为:

        Firefox Browser DEVELOPER Edition 87.0b9(64位)

        Microsoft Edge 44.19041.1.0
        Microsoft EdgeHTML 18.19041

        我现在正在尝试重装插件,重新配置,期待我的好消息。

  21. 插件还在维护吗?有偿希望作者能帮忙配置,或者增加微信支付宝能一码支付,按月续费?期待作者回复,已经订阅评论了。

    1. 还在维护,最近比较忙,没抽出空来更新,如需帮忙配置可加QQ或微信联系。

  22. 作者你好,当账单地址和送货地址的必填字段校验结果false时,一样会跳转支付页面的,请问后续会维护吗?

  23. {
    “result”: “failure”,
    “messages”: “”,
    “refresh”: false,
    “reload”: false
    }
    结账报这个错,是啥原因?

        1. 没遇到过这个问题,建议检查一下公钥密钥是否输入错误,问题一般都出现在这里。

  24. 报错,出现 “The biz_content product_code parameter is required”
    是为啥呢?

  25. 作者你好,为什么我们支付宝开放平台界面跟你截图的不一样呢?我们没有授权回调地址

      1. 你好,作者,按照你这个流程步骤全部操作了,但是结账点击后进入不了界面怎么回事

  26. 我可以调用支付宝,支付成功后,总是返回一个界面 “the signature is not match”,这是什么问题?

  27. 安卓可以正常结账,但是ios侧无论是Safari还是夸克都出现“处理结账时出错,请重试”了诶,咋回事

  28. 接入的当面付,手机端支付时出现The biz_content product_code parameter is required错误,这是什么错误?

  29. 这个插件有问题,好多人都是付款成功后出现 The signature is not match,并不是秘钥问题

    1. 这个错误确实很常见,我开发这个插件的时候也需要过很多次,导致这个错误的原因可能有很多,根据网上的教程逐个排查一下吧。

  30. 手机端支付时出现The biz_content product_code parameter is required错误
    电脑端无问题 当面付
    请问应该如何解决这个错误

  31. 支付成功了,不能退款,退款提示:在尝试使用支付网关API进行退款时出现了错误。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

*