Nocturnally Psychologizing Millipede

    node-weixin-pay

    0.5.1 • Public • Published

    node-weixin-pay NPM version Build Status Dependency Status Coverage percentage

    Weixin 支付 API

    支持QQ群:39287176

    Install

    $ npm install --save-exact node-weixin-pay

    Usage

    通用功能

    1、初始化对象与基本数据

     
    var nodeWeixinPay = require('node-weixin-pay');
    var nodeWeixinConfig = require('node-weixin-config');
     
    // 必须
    var merchant = {
      id: process.env.MERCHANT_ID || 'id',
      key: process.env.MERCHANT_KEY || 'key'
    };
    var app = {
      id: process.env.APP_ID || 'appid',
      secret: process.env.APP_SECRET || 'appsecret',
      token: process.env.APP_TOKEN || 'apptoken'
    };
     
    // 证书是可选的,但在退款,红包,企业支付时需要
     
    var certificate = {
      pkcs12: path.resolve(certPKCS12File),             //格式是文件名
      key: String(certKey)
    };
     
    //或者
     
    var certificate = {
      pfx: new Buffer(conf.merchant_pfx, 'base64'),     //格式是文件二进制内容
      pfxKey: conf.merchant_id
    };
     
    //对于大部分的支付接口来说是需要config的
    var config = {
      app: app,
      merchant: merchant,
      // 可选(除了退款外接口,可以不用添加)
      certificate: certificate
    };
     
    //校验数据的正确性
    nodeWeixinConfig.app.init(app);
    nodeWeixinConfig.merchant.init(merchant);
     
    var params = { openid: process.env.OPENID,
      spbill_create_ip: '1.202.241.25',
      notify_url: 'http://wx.domain.com/weixin/pay/main',
      body: '测试支付',
      out_trade_no: '111',
      total_fee: '1',
      trade_type: 'JSAPI',
      appid: app.id,
      mch_id: merchant.id,
      nonce_str: 'XjUw56N8MjeCUqHCwqgiKwr2CJVgYUpe' };
     

    2、签名一个请求

     
    var sign = nodeWeixinPay.sign(merchant, params);

    3、准备一个支付配置

    var id = 'id';
    var config = nodeWeixinPay.prepay(app, merchant, id);

    处理微信回调接口API

    1、处理回调数据,所有的请求的处理结果回调

    //req.rawBody should be enabled
    var req = {rawBody: xml};
    var res = {
      json: function() {
     
      }
    };
    nodeWeixinPay.callback.notify(app, merchant, req, res, function(error, data) {
    });

    基础API

    1、发送统一支付请求

    nodeWeixinPay.api.order.unified(config, params, function(error, data) {
    });

    2、发送订单查询请求

    var config = nodeWeixinPay.api.query(config, params, function(error, data) {
    });

    3、发送订单关闭请求

    var config = nodeWeixinPay.api.close(config, params, function(error, data) {
    });

    4、发送创建退款请求

    var config = nodeWeixinPay.api.refund.create(config, params, function(error, data) {
    });

    5、发送退款查询请求

    var config = nodeWeixinPay.api.refund.query(config, params, function(error, data) {
    });

    6、发送下载对账单请求

    var config = nodeWeixinPay.api.statements(config, params, function(error, data) {
    });

    7、发送测速报告请求

    var config = nodeWeixinPay.api.report(config, params, function(error, data) {
    });

    微信红包接口

    1、发起普通微信红包

    var config = nodeWeixinPay.api.redenvelope.create(config, params, function(error, data) {
    });

    2、发起裂变微信红包

    var config = nodeWeixinPay.api.redenvelope.distribute(config, params, function(error, data) {
    });

    3、发起红包查询

    var config = nodeWeixinPay.api.redenvelope.query(config, params, function(error, data) {
    });

    企业付款接口

    1、发起企业支付

    var config = nodeWeixinPay.api.enterprise.create(config, params, function(error, data) {
    });

    2、查询企业支付

    var config = nodeWeixinPay.api.enterprise.query(config, params, function(error, data) {
    });

    License

    Apache-2.0 © calidion

    Keywords

    none

    Install

    npm i node-weixin-pay

    DownloadsWeekly Downloads

    9

    Version

    0.5.1

    License

    Apache-2.0

    Last publish

    Collaborators

    • calidion