自己在用wordpress和woocommerce架设中小型外贸网站的时候,有用过微信和支付宝的开源插件,但没有找到银联支付相关的开源插件,就有了这个打造woocommerce 银联支付插件的想法。但这个应该是非常小众吧。但不管怎么说,千呼万唤始出来,银联支付插件已有初版。说实话,自己享受着别人开源出来的红利,总是有形和无形中享受着这个社会的帮助和馈赠。感谢这时代!
插件源码已经上传至github:https://github.com/wenqy/online-payments-for-woocommerce和 wordpress plugins:https://wordpress.org/plugins/online-payments-for-woocommerce/
使用说明:
1.需安装wordpress 和 woocommerce,并激活woocommerce。
2.申请银联商户相关信息,安装前银联支付插件前需要将银联在线支付的公钥、私钥证书放到插件的certs目录下。
3.安装 “Online for WooCommerce” wordpress plugin 即本插件并激活。
4.设置银联相关信息,如商户代码,私钥证书名,汇率等等,默认值为银联测试环境相关账号信息【Woocommerce -> Settings -> Payment Gateways -> OnlinePay.】如有银联的相关疑问可以访问银联开放平台: https://open.unionpay.com
5.银联支付成功后,可以支持退款功能。
退款时是采用curl方式post到银联支付网关的,要检查下服务器是否扩展或者拦截银联支付网关。
6.github和wordpress plugins 上的银联支付dubug模式忘关了。。。把php中PhpLog::DEBUG 改为:PhpLog::OFF就好了。下次有更新的时候再修改吧。
7.付款结算页面,支付成功后,返回账户页面。
插件名改为“union”更合适的而不是online,不过怎样,第一次开源代码,还是挺高兴的,这是我第二次上传到github中和第一次上传到wordpress plugins中。
参考:
https://docs.woocommerce.com/document/payment-gateway-api/ 扩展支付方式
https://docs.woocommerce.com/document/woocommerce-localization/ 翻译语言包
商户代码,私钥证书名,签名证书密码,支付网关 这些都是怎么获取的?
有没有教程?
去银联官网https://open.unionpay.com/申请并开通商户号,银联开放平台有相应的FAQ,可以看下。支付网关可看下,我这篇文章《银联支付接口接入-java》
再结合银联开放平台的demo看下。
56b35abd2d1519731f8e71f03ea32a14是PHP语言吗
是的,但只是php的插件。。。
可不可以修改成功支付后订单的状态呢?我支付成功后订单状态仍然是未支付
想改成待处理或者已完成,可否告诉我如何修改,谢谢
请求第三方支付时都要指定前台通知和后台通知地址,第三方支付会把支付结果会传给你定义的后台通知地址,这个后台地址就是更新订单状态http请求方法,这里负责处理支付结果
你好,你这后台通知地址
$this->notify_url = WC()->api_request_url(‘WC_WENQY_ONLINE_Payment_Gateway’ );
我打印出来就是hostname.com/wc-api/WC_WENQY_ONLINE_Payment_Gateway
应该就是class-wenqy-online-wc-payment-gateway.php这个文件吧。但是我在里面的check_onlinepay_response()函数里做订单状态修改,并没有效果,能否指导下哪里做错了吗?
谢谢
我查了下init.php 里的add_action并没有运行到,程序并没有执行到thankyou_page方法和check_onlinepay_response方法
php curl 有打开吗? 我并没有做WordPress和woocommerce版本的兼容性测试
curl有打开,主要是银联支付完成后返回并不会执行剩下的函数,导致修改不到状态
先排查下有没有进入后台通知方法,如果有,可能你的订单ID和第三方支付传给你的ID号不一致造成更新失败;如果没有,那要排查下插件与wp是否兼容,后台通知方法是有注册到wp的钩子方法的。
我也遇到了这个问题。支付完成后,异步通知没有收到,或者说订单号匹配可能有问题。