1.0.0 • Published 4 years ago

@bigboxs/egg-weixin-pay v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

egg-weixin-pay

NPM version build status Test coverage David deps Known Vulnerabilities npm download

Install

npm i egg-weixin-pay --save

Usage

// {app_root}/config/plugin.js
exports.weixinPay = {
  enable: true,
  package: 'egg-weixin-pay'
};

Configuration

Add configuration in {app_root}/config/config.default.js

{
  config.weixinPay = {
    appId: '',
    key: '',
    mchId: '',
    pfx: '', // 允许传Buffer或者证书的本地路径
    appPay: {
      enable: true
    },
    litePay: {
      enable: false
    },
    pubPay: {
      enable: true
    },
    pubQrPay: {
      enable: true
    },
    pubScanPay: {
      enable: true
    },
    wapPay: {
      enable: true
    }
  };
}

enable: false // 是否实例化该支付业务类 默认 false,true 开启

AppPay // APP 支付
LitePay // 小程序支付
PubPay // 公众号支付
PubQrPay // 扫码支付
PubScanPay // 刷卡支付
WapPay // H5 支付

see config/config.default.js for more detail.

Example

'use strict';

const Controller = require('egg').Controller;

const out_trade_no = '2000124491794131841120';

class HomeController extends Controller {
  async index() {
    this.ctx.body = 'hi, egg';
    try {
      // 是否开启沙箱模式
      //await this.ctx.app.pubQrPay.setDebug(true);

      // 统一下单
      const res = await this.ctx.app.pubQrPay.unifiedOrder({
        body: '腾讯充值中心-QQ会员充值',
        out_trade_no,
        total_fee: 1, // 单位:分
        spbill_create_ip: '8.8.8.8',
        notify_url: 'http://test.domain.com/notify',
      });
      console.log('--order --res---success---', res);

      // 查询订单
      // const res1 = await this.ctx.app.pubQrPay.orderQuery({
      //   out_trade_no,
      // });
      // console.log('--order--query--res---success---', res1);


      // 关闭订单
      // const res2 = await this.ctx.app.pubQrPay.closeOrder({
      //   out_trade_no,
      // });
      // console.log('--close--order---res---success---', res2);


      // 查询订单
      // const res3 = await this.ctx.app.pubQrPay.orderQuery({
      //   out_trade_no,
      // });
      // console.log('--order--query-3-res---success---', res3);

    } catch (error) {
      console.log('-----error---', error.stack);
    }
    console.log('----end--->');
    // console.log('-------', JSON.stringify(this.ctx.app.config, 0, 2));
  }

  async wechatNotification() {
    console.log('---wechatPayStateCallBack-----');
    this.ctx.response.body = 'wechatPayStateCallBack';
  }
}

module.exports = HomeController;

Questions & Suggestions

Please open an issue here.

License

MIT