New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

mic-alipay-mobile

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mic-alipay-mobile

## MARK: This package is fork from [https://github.com/Luncher/alipay](https://github.com/Luncher/alipay)

  • 2.2.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-85.71%
Maintainers
1
Weekly downloads
 
Created
Source

alipay

MARK: This package is fork from https://github.com/Luncher/alipay

NPM version Build Status David Status

蚂蚁金服开放平台Node.js SDK。


安装


npm i mic-alipay-mobile -S

基本使用

const fs = require('fs')
const Alipay = require('mic-alipay-mobile')

const read = filename => {
  return fs.readFileSync(path.resolve(__dirname, filename))
}

//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'
}
return service.createOrder(data)
.then(result => {
  assert(result.code == 0, result.message)
  assert(result.message == 'success', result.message)
})

说明

详细参数请参考接口对应的官方文档

接口返回错误码以及错误信息

{
  '0': 'success',
  '1': 'processing',
  '-1': 'error',
  '-2': 'permission denied',
  '-3': 'sign error'
}

接口返回格式

{
  code: 错误码,
  message: 错误信息,
  data: 蚂蚁金服返回的原始数据//可能为空对象
}

为了方便异步处理,所有接口均返回Promise


API 说明

创建订单createOrder

APP支付官方文档

用于返回给APP,传递给支付宝端发起交易申请

const service = new Alipay(options)
const data = {
  subject: '辣条',
  out_trade_no: '1232423',
  total_amount: '100'
}
return service.createOrder(data)
.then(result => {
  assert(result.code == 0, result.message)
  assert(result.message == 'success', result.message)
  //result.data 用于返回给APP,传递给支付宝端发起交易申请
})

创建网页订单createWebOrderURL

手机网页支付官方文档

该接口用于支付宝手机网页支付,服务端调用该接口生成一个URL返回给客户端, 客户端拿到该URL之后跳转到该URL发起支付请求。支付结束支付宝会跳转到客户端填写的return_url

const service = new Alipay(options)
const data = {
  subject: '辣条',
  out_trade_no: '1232423',
  total_amount: '100'
}
const basicParams = {
  return_url: 'http://xxx.com'
}
return service.createWebOrderURL(data, basicParams)
.then(result => {
  assert(result.code == 0, result.message)
  assert(result.message == 'success', result.message)
})

创建pc端订单createPageOrderURL

创建pc端订单官方文档

const service = new Alipay(options)
const data = {
  subject: '辣条',
  out_trade_no: '1232423',
  total_amount: '100'
}
const basicParams = {
  return_url: 'http://xxx.com'
}
return service.createPageOrderURL(data, basicParams)
.then(result => {
  assert(result.code == 0, result.message)
  assert(result.message == 'success', result.message)
})

订单查询queryOrder

订单查询官方文档

const outTradeNo = '1232423'
return service.queryOrder({ out_trade_no: outTradeNo })
.then(result => {
  assert(result.code == -1, result.message)
  assert(result.message == 'error', result.message)
  assert(result.data.code === '40004')
  assert(result.data.sub_msg === '交易不存在')
})

取消订单cancelOrder

取消订单官方文档

const outTradeNo = 'foobar'
return service.cancelOrder({ out_trade_no: outTradeNo })
.then(result => {
  assert(result.code == -1, result.message)
  assert(result.message == 'error', result.message)
  assert(result.data.code === '40004')
  assert(result.data.sub_msg === '交易不存在')
})

验证支付结果verifyPayment

const params = {
  memo: "xxxx",
  result: "xxxx",
  resultStatus: "xxx"
}
return service.verifyPayment(params)


异步通知校验makeNotifyResponse

异步通知官方文档

const params = {
  sign: 'xxxxxxxx',
  sign_type: 'xxxxx',
  ...
}

return service.makeNotifyResponse(params)

异步通知应答

在接收到蚂蚁金服服务器的订单状态变更通知之后,需要进行应答,有两种(成功、失败)应答类型:

import AlipayConfig from 'mic-alipay-mobile/config'

console.log(AlipayConfig.ALIPAY_NOTIFY_SUCCESS) // 'success'

console.log(AlipayConfig.ALIPAY_NOTIFY_FAILURE) // 'failure'


交易关闭tradeClose

关闭交易官方文档

const params = {
  out_trade_no: 'xxxxx'
}
return service.tradeClose(params)


交易退款tradeRefund

交易退款官方文档

const params = {
  out_trade_no: 'xxxxx'
}
return service.tradeRefund(params)

交易退款查询tradeRefundQuery

交易退款查询官方文档

const params = {
  out_trade_no: 'xxxxx'
}
return service.tradeRefundQuery(params)

查询账单下载地址billDownloadQuery

const params = {
  bill_type: 'trade',
  bill_date: '2017-05-06'
}
return service.billDownloadQuery(params)


交易预创建tradePrecreate

交易预创建官方文档

const params = {
  out_trade_no: 'xxx',
  seller_id: 'asad',
  total_amount: '231wawsda',
  subject: '面包'
}
return service.tradePrecreate(params)


交易结算tradeSettle

交易结算官方文档

const params = {
  out_request_no: 'xxx'
}
return service.tradeSettle(params)

单笔转账到支付宝账户接口toaccountTransfer

接口文档

const params = {
  out_biz_no: "1234",
  payee_type: 'ALIPAY_LOGONID',
  payee_account: "user666",
  amount: "100"
}

return service.toaccountTransfer(params)


功能列表

  • 创建订单
  • 取消订单
  • 订单查询
  • 验证支付状态
  • 订单状态异步推送
  • 预创建订单
  • 申请退款
  • 退款查询
  • 交易结算
  • 关闭交易
  • 账单下载地址查询
  • 单笔转账到支付宝账户

LICENSE

MIT

Keywords

FAQs

Package last updated on 30 May 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc