direct-alipay

3.0.0 • Public • Published

Npm Package Npm Downloads Dependency Status

支付宝 即时到账 NodeJS包 demo

集成到你的项目

1.安装

    npm install direct-alipay

2.配置支付宝参数

    var directAlipay = require('direct-alipay');
    directAlipay.config({
        seller_email: 'jyjjh@mail.ccnu.edu.cn',
        partner: '2088911275465084',
        key: 'tws3ri4d3sg8ohc4t7k9dnj8kumvia05',
        return_url: 'http://127.0.0.1:3000/return'
    }); 

参数说明见支付宝官方文档

3.传入订单参数,生成支付跳转URL

    var url = directAlipay.buildDirectPayURL({
        out_trade_no: Date.now().toString() + Math.random(),//业务侧需要为每个订单生成一个唯一订单号
        subject: '给华中师范大学贫困学生的捐赠',//订单标题
        body: 'body',
        total_fee: '1'//订单金额,单位元
    });

4.引导用户跳转到获得的URL,跳转到支付宝支付界面

    window.location.href = url;

5.用户支付完毕后,会跳转到第2步配置的return_url,在这里来判断订单是否成功支付

    app.get('/return', function (req, res) {
        var params = req.query;
        directAlipay.verity(params).then(function() {
                  //该通知是来自支付宝的合法通知
        }).catch(function(err) {
            console.error(err);
        });
    });

支付宝回调通知见官方文档

运行Demo

仔细npm start后,用浏览器打开http://localhost:3000

文档

directAlipay

所有方法的入口

    var directAlipay = require('direct-alipay');
directAlipay.config(params)

配置支付宝基础配置,在使用前先配置.

    directAlipay.config({
        //签约支付宝账号或卖家收款支付宝帐户
        seller_email: 'jyjjh@mail.ccnu.edu.cn',
        //合作身份者ID,以2088开头由16位纯数字组成的字符串
        partner: '2088911275465084',
        //交易安全检验码,由数字和字母组成的32位字符串
        key: 'tws3ri4d3sg8ohc4t7k9dnj8kumvia05',
        //支付宝服务器通知的页面
        notify_url: 'http://127.0.0.1:3000/notify',
        //支付后跳转后的页面
        return_url: 'http://127.0.0.1:3000/'
    }); 

其它配置参数见官方文档

directAlipay.buildDirectPayURL(params)

使用订单参数构造一个支付请求

    directAlipay.buildDirectPayURL({
        out_trade_no: '你的网站订单系统中的唯一订单号匹配',
        subject: '订单名称显示在支付宝收银台里的“商品名称”里,显示在支付宝的交易管理的“商品名称”的列表里',
        body: '订单描述、订单详细、订单备注,显示在支付宝收银台里的“商品描述”里',
        total_fee: '订单总金额'
    });

返回支付宝支付请求URL 浏览器跳转到该url支付

directAlipay.verity(params)

验证来自支付宝的通知是否合法

    app.get('/notify', function (req, res) {
        var params = req.body;
        directAlipay.verity(params).then(function() {
          //该通知是来自支付宝的合法通知
        }).catch(function(err) {
          console.error(err);
        })
    });

Package Sidebar

Install

npm i direct-alipay

Weekly Downloads

1

Version

3.0.0

License

ISC

Last publish

Collaborators

  • gwuhaolin