A8资源网

woocommerce主题对接易支付插件

作者: A8资源网 发布时间: 2024-10-16 179 人阅读

写这个插件是五年前的事了,最近陆陆续续有人通过各种渠道联系我询问使用方法,让我觉得更新一下插件也是值得的事情。更新后的插件更名为 freepay-woocommerce,意为Woocommerce下的免签约支付,本次更新除了增加功能、修复bug、精简代码外,还支持了目前市面上流行的易支付,本页文档我也就重写了。

更新

  1. 支持码支付和易支付两种免签约方式。 默认开
  2. 启码支付的支付宝、微信、QQ钱包支付,易支付默认关闭,可以后台手动开启。
  3. 一个插件就能开启所有的支付方式,也可以自行选择开启/关闭任意一种支付方式,更灵活。例如你可以选择开启/关闭码支付的支付宝和微信 +
    易支付的QQ钱包。
  4. 管理员的订单详情页内自动添加备注,用户何时准备支付、以何种方式支付、何时支付等一目了然。针对码支付,还能知道用户是否足额支付,多支付或者少支付多少金额。
  5. 判断订单状态,避免重复业务。
  6. 其他。。。

使用方法

码支付

入口: 默认通用,选其他也没用
码支付ID: 你的码支付ID
通信密钥: 你的码支付通信密钥
通知地址: 你需要将此处通知地址复制到码支付后台的通知地址中!你如果找不到,请登陆码支付后,点我
跳转地址: 一般不用动,除非Woocommerce被你的主题修改过,那么按照实际情况填入

woocommerce对接易支付插件

不管你是第①次使用,还是之前使用过重新安装,都请点一下“保存”,不然无法使用。

易支付

使用方法跟码支付相似,使用可以参考码支付。这里说重要的东西:网关地址。市面上有很多易支付平台,只是改了一个主页取了个名字,插件提供通用的易支付对接接口,只要填写平台的网关地址即可对接成功。举个例子:如果本站做了易支付,网关域名为pay.mebi.me,那么网关地址为:https://pay.mebi.me/,不要忘了结尾的“/”。

代码片段:

<?php 
class WC_Gateway_Easypay_zfb extends WC_Payment_Gateway
{
    public function __construct() {
        // 必要的字段
        $this->id = 'easypay_zfb';
        $this->icon = WC_Freepay_URL.'/assets/logo/zfb-logo.jpg';
        $this->has_fields = false;
        $this->method_title = '易支付——支付宝';
        $this->method_description = '易支付——支付宝网关设置';
        
        // 必须调用的方法
        $this->init_form_fields();
        $this->init_settings();
        
        // 设置request或者response对象会用到的变量
        $this->title            = $this->get_option('title');
        $this->description      = $this->get_option('description');
        
        // 保存后台设置的数据
        add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) );

        // 实例化异步通知的处理 
        new WC_Gateway_Easypay_Notify($this);
    }


     //配置列表项
    public function init_form_fields() {
        $this->form_fields = array(
            'enabled' => array(
                    'title'   => "启用/禁用",
                    'type'    => 'checkbox',
                    'label'   => "是否启用支付宝网关,默认为禁用。",
                    'default' => 'no',
            ),
            'title' => array(
                    'title'       => "标题",
                    'type'        => 'text',
                    'description' => '在结算时看到的当前支付方式的名称',
                    'default'     => '支付宝支付',
                    'desc_tip'    => true,
            ),
            'description' => array(
                    'title'       => '描述',
                    'type'        => 'text',
                    'desc_tip'    => true,
                    'description' => '结算时当前支付方式的描述',
                    'default'     => '本次交易将使用支付宝付款',
            )
            
        );
    }


    //核心订单处理
    public function process_payment($order_id)
    {
        global $woocommerce;
        $order = wc_get_order($order_id);
        $price = $order -> order_total;
        $order_items = $order->get_items();
        $product_num = count($order_items);
        foreach ($order_items as $item_id => $item_data) {
	        $product = $item_data->get_product();
	        $product_name = $product->get_name();
	        break;
	    }
        if ($product_num > 1)
        {
			$product_name .= "等".$product_num."件商品";
        }
        $type = "alipay";
        require("inc/easypay.config.php");
        require_once("lib/epay_submit.class.php");
        $parameter = array(
			"pid" => trim($alipay_config['partner']),
			"type" => $type,
			"notify_url"	=> plugin_dir_url( __FILE__ )."inc/easypay_return.php",
			"return_url"	=> home_url()."/wc-api/wc_gateway_easypay",
			"out_trade_no"	=> $order_id,
			"name" => $product_name,
			"money"	=> $price,
	);

        $alipaySubmit = new AlipaySubmit($alipay_config);
        // add note for payment
        $msg = '顾客正在使用易支付-支付宝方式进行支付';
        $order->add_order_note($msg);
        $woocommerce->cart->empty_cart();      //清空购物车
    	$para = urlencode(json_encode($alipaySubmit->payment_redirect($parameter)));
        return array(
            'result'    =>  'success',
            'redirect'  =>  plugin_dir_url( __FILE__ ).'payment_redirect.php?para='.$para
        );
    }
}
?>

下载地址:

SVIP免积分 长期SVIP免积分

已有1人下载

  • 海报
  • 打赏
  • 分享
海报图正在生成中...
分享到...
请选择打赏方式
  • 微信
  • 支付宝
公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反相关法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,不保证完全没有bug,也都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员!
8. 请仔细斟酌后赞助本站,赞助成功后,不退款,站点不提供任形式的技术支持!
9.本站部分解压密码默认为www.3cym.com或www@3cym@com

3c源码资源网 » woocommerce主题对接易支付插件

发表回复