alipay
所属分类:Node.js
开发工具:TypeScript
文件大小:0KB
下载次数:0
上传日期:2023-01-07 09:25:13
上 传 者:
sh-1993
说明: Alipay Node.js SDK 基于最新版蚂蚁金服 支付宝开发文档,
(Alipay Node.js SDK is based on the latest Ant Financial Alipay development document,)
文件列表:
.eslintignore (172, 2023-07-10)
.eslintrc.js (410, 2023-07-10)
.npmignore (54, 2023-07-10)
.travis.yml (234, 2023-07-10)
LICENSE (1064, 2023-07-10)
jest.config.js (289, 2023-07-10)
package-lock.json (274107, 2023-07-10)
package.json (1135, 2023-07-10)
src/ (0, 2023-07-10)
src/config/ (0, 2023-07-10)
src/config/env.ts (330, 2023-07-10)
src/config/index.ts (13576, 2023-07-10)
src/index.ts (8558, 2023-07-10)
src/utils.ts (2681, 2023-07-10)
src/validator/ (0, 2023-07-10)
src/validator/index.ts (2238, 2023-07-10)
src/validator/schema/ (0, 2023-07-10)
src/validator/schema/bill_download_query.ts (187, 2023-07-10)
src/validator/schema/cancel_order.ts (197, 2023-07-10)
src/validator/schema/create_app_order.ts (989, 2023-07-10)
src/validator/schema/create_page_order.ts (1066, 2023-07-10)
src/validator/schema/create_web_order.ts (983, 2023-07-10)
src/validator/schema/index.ts (1369, 2023-07-10)
src/validator/schema/notify.ts (427, 2023-07-10)
src/validator/schema/query_order.ts (196, 2023-07-10)
src/validator/schema/toaccount_transfer.ts (468, 2023-07-10)
src/validator/schema/trade_close.ts (233, 2023-07-10)
src/validator/schema/trade_precreate.ts (956, 2023-07-10)
src/validator/schema/trade_refund.ts (416, 2023-07-10)
src/validator/schema/trade_refund_query.ts (280, 2023-07-10)
src/validator/schema/trade_settle.ts (271, 2023-07-10)
src/validator/schema/verify_payment.ts (294, 2023-07-10)
tests/ (0, 2023-07-10)
tests/index.spec.ts (1697, 2023-07-10)
tests/keys/ (0, 2023-07-10)
tests/keys/alipay_public_key.pem (392, 2023-07-10)
tests/keys/app_priv_key.pem (1588, 2023-07-10)
tests/keys/app_priv_key_with_head.pem (3277, 2023-07-10)
... ...
# alipay
[![NPM version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![David Status][david-image]][david-url]
[npm-url]: https://www.npmjs.com/package/alipay-mobile
[npm-image]: https://img.shields.io/npm/v/alipay-mobile.svg?style=flat
[download-url]: https://www.npmjs.com/package/alipay-mobile
[download-image]: https://img.shields.io/npm/dm/alipay-mobile.svg?style=flat
[david-url]: https://david-dm.org/Luncher/alipay-mobile
[david-image]: https://david-dm.org/Luncher/alipay-mobile.svg?style=flat
[travis-url]: https://travis-ci.org/Luncher/alipay
[travis-image]: https://img.shields.io/travis/Luncher/alipay.svg?style=flat
[codecov-url]: https://codecov.io/gh/Luncher/alipay
[codecov-image]: https://img.shields.io/codecov/c/github/Luncher/alipay.svg?style=flat
[蚂蚁金服开放平台](https://openhome.alipay.com/platform/home.htm)`Node.js` SDK。
---
## 安装
``` javascript
npm i alipay-mobile -S
```
## 基本使用
``` javascript
const fs = require('fs')
const Alipay = require('alipay-mobile').default
const read = filename => {
return fs.readFileSync(path.resolve(__dirname, filename))
}
//notify_url: 异步通知url
//app_id: 开放平台 appid
//appPrivKeyFile: 你的应用私钥
//alipayPubKeyFile: 蚂蚁金服公钥
const options = {
app_id: '2016080100137766',
appPrivKeyFile: read('./keys/app_priv_key.pem'),
alipayPubKeyFile: read('./keys/alipay_public_key.pem')
}
const service = new Alipay(options)
const data = {
subject: '辣条',
out_trade_no: '1232423',
total_amount: '100'
}
const result = service.createOrder(data)
assert(result.code == 0, result.message)
```
## 说明
>详细参数请参考接口对应的官方文档
### 构造函数支持的参数
```ts
export interface AlipayOption {
appPrivKeyFile: string // 应用私钥
alipayPubKeyFile: string // 支付宝公钥
appId: string // 应用ID
notifyUrl?: string // 支付宝异步通知URL
gatewayUrl?: string // 接口网关地址
}
```
### 接口返回错误码以及错误信息
``` ts
export enum AlipayNormalResponseCode {
OK = 0,
EXCEPTION = -1,
SIGNATURE_ERROR = -2,
SUCCESS = 10000,
UNAVALIABLE = 20000,
INSUFFICIENT_AUTHORIZATION = 20001,
MISSING_REQUIRED_ARGS = 40001,
INVALID_ARGS = 40002,
PROCESSING_FAILURE = 40004,
PERMISSION_DENIED = 40006
}
export enum AlipayPaymentResponseCode {
SUCCESS = '9000',
PROCESSING = '8000',
FAILURE = '4000',
REPEAT_REQ = '5000',
USER_CANCEL = '6001',
NETWORK_ERROR = '6002',
UNKNOW = '6004'
}
```
### 接口返回格式
``` javascript
{
code: 错误码,
message: 错误信息,
data: 蚂蚁金服返回的原始数据//可能为空对象
}
```
---
## 功能列表
- [x] 创建订单
- [x] 取消订单
- [x] 订单查询
- [x] 验证支付状态
- [x] 订单状态异步推送
- [x] 预创建订单
- [x] 申请退款
- [x] 退款查询
- [x] 交易结算
- [x] 关闭交易
- [x] 账单下载地址查询
- [x] 单笔转账到支付宝账户
---
## API 说明
### 创建订单`createOrder`
[APP支付官方文档](https://docs.open.alipay.com/204/105465/)
>用于返回给APP,传递给支付宝端发起交易申请
```javascript
const service = new Alipay(options)
const data = {
subject: '辣条',
out_trade_no: '1232423',
total_amount: '100'
}
const result = service.createOrder(data)
assert(result.code == 0, result.message)
//result.data 用于返回给APP,传递给支付宝端发起交易申请
```
---
### 创建网页订单`createWebOrderURL`
[手机网页支付官方文档](https://docs.open.alipay.com/203/107090/)
>该接口用于支付宝手机网页支付,服务端调用该接口生成一个`URL`返回给客户端, 客户端拿到该`URL`之后跳转到该URL发起支付请求。支付结束支付宝会跳转到客户端填写的`return_url`。
``` javascript
const service = new Alipay(options)
const data = {
subject: '辣条',
out_trade_no: '1232423',
total_amount: '100'
}
const basicParams = {
return_url: 'http://xxx.com'
}
const result = service.createWebOrderURL(data, basicParams)
assert(result.code == 0, result.message)
```
---
### 创建pc端订单`createPageOrderURL`
[创建pc端订单官方文档](https://docs.open.alipay.com/270/105899/)
``` javascript
const service = new Alipay(options)
const data = {
subject: '辣条',
out_trade_no: '1232423',
total_amount: '100'
}
const basicParams = {
return_url: 'http://xxx.com'
}
const result = service.createPageOrderURL(data, basicParams)
assert(result.code == 0, result.message)
```
---
### 订单查询`queryOrder`
[订单查询官方文档](https://docs.open.alipay.com/api_1/alipay.trade.query)
``` javascript
const outTradeNo = '1232423'
return service.queryOrder({ out_trade_no: outTradeNo })
.then(result => {
assert(result.code == '40004', result.message)
})
```
---
### 取消订单`cancelOrder`
[取消订单官方文档](https://docs.open.alipay.com/api_1/alipay.trade.cancel)
``` javascript
const outTradeNo = 'foobar'
return service.cancelOrder({ out_trade_no: outTradeNo })
.then(result => {
assert(result.code == '40004', result.message)
})
```
---
### 验证支付结果`verifyPayment`
[App支付同步通知参数校验](https://docs.open.alipay.com/204/105302)
```javascript
const params = {
memo: "xxxx",
result: "xxxx",
resultStatus: "xxx"
}
return utils.verifyPayment(params)
```
---
### 异步通知校验`makeNotifyResponse`
[异步通知官方文档](https://docs.open.alipay.com/204/105301/)
```javascript
const params = {
sign: 'xxxxxxxx',
sign_type: 'xxxxx',
...
}
return service.makeNotifyResponse(params)
```
### 交易关闭`tradeClose`
[关闭交易官方文档](https://docs.open.alipay.com/api_1/alipay.trade.close/)
```javascript
const params = {
out_trade_no: 'xxxxx'
}
return service.tradeClose(params)
```
---
### 交易退款`tradeRefund`
[交易退款官方文档](https://docs.open.alipay.com/api_1/alipay.trade.refund/)
```javascript
const params = {
out_trade_no: 'xxxxx'
}
return service.tradeRefund(params)
```
---
### 交易退款查询`tradeRefundQuery`
[交易退款查询官方文档](https://docs.open.alipay.com/api_1/alipay.trade.fastpay.refund.query/)
```javascript
const params = {
out_trade_no: 'xxxxx'
}
return service.tradeRefundQuery(params)
```
---
### 查询账单下载地址`billDownloadQuery`
[查询账单下载地址文档](https://docs.open.alipay.com/api_15/alipay.data.dataservice.bill.downloadurl.query)
```javascript
const params = {
bill_type: 'trade',
bill_date: '2017-05-06'
}
return service.billDownloadQuery(params)
```
---
### 交易预创建`tradePrecreate`
[交易预创建官方文档](https://docs.open.alipay.com/api_1/alipay.trade.create/)
```javascript
const params = {
out_trade_no: 'xxx',
seller_id: 'asad',
total_amount: '231wawsda',
subject: '面包'
}
return service.tradePrecreate(params)
```
---
### 交易结算`tradeSettle`
[交易结算官方文档](https://docs.open.alipay.com/api_1/alipay.trade.order.settle/)
```javascript
const params = {
out_request_no: 'xxx'
}
return service.tradeSettle(params)
```
---
### 单笔转账到支付宝账户接口`toaccountTransfer`
[接口文档](https://opendocs.alipay.com/open/309/alipay.fund.trans.toaccount.transfer)
```javascript
const params = {
out_biz_no: "1234",
payee_type: 'ALIPAY_LOGONID',
payee_account: "user666",
amount: "100"
}
return service.toaccountTransfer(params)
```
---
## LICENSE
[MIT](https://mit-license.org/)
近期下载者:
相关文件:
收藏者: