node 封装支付宝支付公用 api,包含支付 查询 退款等

alipay-chatyu - v1.0.1

Installation

  • Using npm:
    1
    $ npm insatll alipay-chatyu -s

alipay_api:支付宝支付api

In Node.js:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66

const AlipayAPI = require('alipay-chatyu');
const Fiber = require('fibers'); // Asynchronous to synchronous

var ali_conf = {}; //ali_config
ali_conf.app_id = "xxxxxxx"; //app_id
ali_conf.public_key_name = "open_rsa_public_key.pem";//public_key name
ali_conf.private_key_name = "open_rsa_private_key.pem";//private_key name


//exp: alipay.trade.precreate

Fiber(function() {
var data = {};
data.subject = 'shop_name'; //title
data.out_trade_no ="001"+(new Date()).valueOf(); //out_trade_no
data.total_amount = 1.00; //price
data.body ='shop_disc';//disc

var result =[];
try{
result = AlipayAPI.request(ali_conf,'alipay.trade.precreate',data); //aliapi func_name
if(result.status='成功'){
console.log(result);
}else{
console.log(result.status);
}
}catch(err){
console.log(err);
}

}).run();


//exp: alipay.trade.query
Fiber(function() {

var req ={
"trade_no":"20170222555", //trade_no
"out_trade_no":"" //out_trade_no
};
var result =[];
try{
result = AlipayAPI.request(ali_conf,'alipay.trade.query',req);
}catch(err){
console.log(err);
}

}).run();

//exp: alipay.trade.refund
Fiber(function() {

var big_content={};
big_content.trade_no =f.trade_no;
big_content.out_trade_no=f.order_id;
big_content.refund_amount = f.refund_amount;
big_content.refund_reason = f.explain;
var result =[];
try{
result =AlipayAPI.request(ali_conf,ali_conf.method,big_content);
}catch(err){
console.log(err);
}

}).run();

Attention

-.项目文件名下必须创建config文件,包含内容 为公钥和私钥文件.

-project

  • config

    • open_rsa_public_key.pem

    • open_rsa_private_key.pem


  • 图例:


    Support

    Tested in Node.js 6-7, & PhantomJS 2.1.1.