支付宝支付接口封装(2)
程序员文章站
2022-05-30 21:43:15
...
介绍
由于支付宝接口众多,我只需要支付相关常用的接口,所以单独为支付封装了一些方法,方便直接使用,支持async await
,同时也把请求处理好,只返回需要的参数。
暂时支持的接口如下,如果你所需的接口没有,请调用allApi
自行处理;以后会更新更多接口支持。
方法名 | 介绍 |
---|---|
allApi | 支持支付宝所有接口并且进行参数处理返回https://openapi.alipay.com/gateway.do?...
|
callback_check | 回调签名验证 |
wap_pay | alipay.trade.wap.pay(手机网站支付接口2.0) |
query | alipay.trade.query(统一收单线下交易查询) |
close | alipay.trade.close(统一收单交易关闭接口) |
refund | alipay.trade.refund(统一收单交易退款接口) |
refund_query | alipay.trade.fastpay.refund.query(统一收单交易退款查询) |
安装
yarn add node-alipay1
或者 npm i node-alipay1 --save
使用
使用
const Alipay = require('node-alipay1/dist/pay') 或者 import Alipay from 'node-alipay1/dist/pay'
// 参数介绍请看 https://editor.****.net/md/?articleId=111320177
const alipay = new Alipay({
app_id: '2014072300007148',
privateKey: fs.readFileSync(__dirname + '/private_key.pem'),
publicKey: fs.readFileSync(__dirname + '/public_key.pem'),
sign_type: 'RSA',
sandbox: false,
});
- wap_pay使用 (参数 包括 return_url(可选) notify_url(可选) timestamp(可选) app_auth_token(可选) 和支付宝对应文档中的请求参数)
const result = await alipay.wap_pay({
subject: '测试',
out_trade_no: '订单号',
total_amount: 0.01,
product_code: 'QUICK_WAP_WAY',
quit_url: 'https:/www.baidu.com/index.html',
notify_url: '支付成功回调路径',
goods_detail: [
{
goods_id: '1',
goods_name: '测试商品',
quantity: 1,
price: 0.01,
},
],
});
- query (参数包括 timestamp(可选) app_auth_token(可选) 和支付宝对应文档中的请求参数)
const result = await alipay.query({
out_trade_no: '1608190357173',
});
- close (参数包括 timestamp(可选) app_auth_token(可选) notify_url(可选) 和支付宝对应文档中的请求参数)
const result = await alipay.close({
out_trade_no: '1608190357173',
});
- refund(参数包括 timestamp(可选) app_auth_token(可选) 和支付宝对应文档中的请求参数 )
const out_request_no = '3214239121233f';
// 订单退款
const result = await alipay.refund({
out_trade_no: '1608190357173',
refund_amount: 0.01,
out_request_no: out_request_no,
});
- refund_query(参数包括 timestamp(可选) app_auth_token(可选) 和支付宝对应文档中的请求参数 )
const result = await alipay.refund_query({
out_trade_no: '1608190357173',
out_request_no: '3214239121233f',
});