Socket
Socket
Sign inDemoInstall

ali-pay

Package Overview
Dependencies
2
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ali-pay

Alipay payments SDK


Version published
Weekly downloads
4
Maintainers
1
Install size
47.7 kB
Created
Weekly downloads
 

Readme

Source

ali-pay

支付宝支付SDK。

Usage

npm install -S ali-pay
const fs = require('fs')
const path = require('path')
const Alipay = require('ali-pay')
const api = new Alipay({
  appId: '',
  publicKey: fs.readFileSync(path.join(__dirname, '/public_key.pem')),
  privateKey: fs.readFileSync(path.join(__dirname, '/private_key.pem'))
})

api.pagePay({
  subject: 'Iphone 7',
  totalAmount: '6799'
}, (err, result) => {
  if (err) {
    return console.error(err)
  }
  console.log(result)
})

new Alipay(options)

返回Alipay实例对象。

options 配置对象
名称类型必填描述
appIdstringAPPID 即创建应用后生成。
publicKeystring开发者公钥,由开发者自己生成。 传入公钥的内容。
privateKeystring开发者私钥,由开发者自己生成。 传入私钥的内容。
charsetstring请求使用的编码格式,如utf-8,gbk,gb2312等。默认utf-8。
signTypestring商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2。默认为RSA2。
sandboxboolean是否沙箱测试。默认false

Alipay 实例方法

pay

收银员使用扫码设备读取用户手机支付宝“付款码”/声波获取设备(如麦克风)读取用户手机支付宝的声波信息后,将二维码或条码信息/声波信息通过本接口上送至支付宝发起支付。

options 对象属性
名称类型必填描述
subjectstring订单标题
authCodestring支付授权码,2530开头的长度为1624位的数字,实际字符串长度以开发者获取的付款码长度为准
notifyUrlstring支付宝服务器主动通知商户服务器里指定的页面http/https路径。
appAuthTokenstring详见应用授权概述
outTradeNostring商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复
scenestring支付场景
条码支付,取值:bar_code
声波支付,取值:wave_code。
默认为bar_code
productCodestring销售产品码
buyerIdstring买家的支付宝用户id,如果为空,会从传入了码值信息中获取买家ID
sellerIdstring如果该值为空,则默认为商户签约账号对应的支付宝用户ID
totalAmountstring订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果同时传入【可打折金额】和【不可打折金额】,该参数可以不用传入; 如果同时传入了【可打折金额】,【不可打折金额】,【订单总金额】三者,则必须满足如下条件:【订单总金额】=【可打折金额】+【不可打折金额】
discountableAmountstring参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。 如果该值未传入,但传入了【订单总金额】和【不可打折金额】,则该值默认为【订单总金额】-【不可打折金额】
bodystring订单描述
goodsDetailstring订单包含的商品列表信息,Json格式,其它说明详见商品明细说明
operatorIdstring商户操作员编号
storeIdstring商户门店编号
terminalIdstring商户机具终端编号
extendParamsstring业务扩展参数
timeoutExpressstring该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m
返回
名称类型描述
errerror错误对象
resultobject结果对象
result 对象
名称类型描述
codestring网关返回码,详见文档
msgstring网关返回码描述,详见文档
sub_codestring业务返回码,详见文档
sub_msgstring业务返回码描述,详见文档
signstring签名,详见文档
trade_nostring支付宝交易号
out_trade_nostring商户订单号
buyer_logon_idstring买家支付宝账号
total_amountnumber交易金额
receipt_amountstring实收金额
buyer_pay_amountnumber买家付款的金额
point_amountnumber使用积分宝付款的金额
invoice_amountnumber交易中可给用户开具发票的金额
gmt_paymentstring交易支付时间
fund_bill_listobject交易支付使用的资金渠道
card_balancenumber支付宝卡余额
store_namestring发生支付交易的商户门店名称
buyer_user_idstring买家在支付宝的用户id
discount_goods_detailstring本次交易支付所使用的单品券优惠的商品优惠信息
voucher_detail_listobject本交易支付时使用的所有优惠券信息

pagePay

电脑网站支付

options 参数
名称类型必填描述
totalAmountstring订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]
subjectstring订单标题
outTradeNostring商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复。默认为当前时间戳 + 6位随机数。
bodystring订单描述。
goodsDetailstring订单包含的商品列表信息,Json格式,详见商品明细说明
passbackParamsstring公用回传参数,如果请求时传递了该参数,则返回给商户时会回传该参数。支付宝只会在异步通知时将该参数原样返回。本参数必须进行UrlEncode之后才可以发送给支付宝。
extendParamsstring业务扩展参数,详见业务扩展参数说明。 {"sys_service_provider_id":"2088511833207846"}
goodsTypestring商品主类型:0—虚拟类商品,1—实物类商品(默认) 注:虚拟类商品不支持使用花呗渠道
timeoutExpressstring该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。该参数在请求到支付宝时开始计时。
enablePayChannelsstring可用渠道,用户只能在指定渠道范围内支付当有多个渠道时用“,”分隔注:与disablePayChannels互斥
disablePayChannelsstring禁用渠道,用户不可用指定渠道支付当有多个渠道时用“,”分隔注:与enable_pay_channels互斥
authTokenstring针对用户授权接口,获取用户相关数据时,用于标识用户授权关系
qrPayModestringPC扫码支付的方式,支持前置模式和跳转模式。前置模式是将二维码前置到商户的订单确认页的模式。需要商户在自己的页面中以 iframe 方式请求支付宝页面。具体分为以下几种:
0:订单码-简约前置模式,对应 iframe 宽度不能小于600px,高度不能小于300px;
1:订单码-前置模式,对应iframe 宽度不能小于 300px,高度不能小于600px;
3:订单码-迷你前置模式,对应 iframe 宽度不能小于 75px,高度不能小于75px;
4:订单码-可定义宽度的嵌入式二维码,商户可根据需要设定二维码的大小。
跳转模式下,用户的扫码界面是由支付宝生成的,不在商户的域名下。
2:订单码-跳转模式
qrcodeWidthstring商户自定义二维码宽度
注:qr_pay_mode=4时该参数生效
商品明细说明
名称类型最大长度必填描述
show_urlstring400商品的展示地址。
业务扩展参数说明
名称类型最大长度必填描述
sys_service_provider_idstring64系统商编号,该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的PID
可用渠道
渠道名称说明
balance余额
moneyFund余额宝
coupon红包
pcredit花呗
pcreditpayInstallment花呗分期
creditCard信用卡
creditCardExpress信用卡快捷
creditCardCartoon信用卡卡通
credit_group信用支付类型(包含信用卡卡通、信用卡快捷、花呗、花呗分期)
debitCardExpress借记卡快捷
mcard商户预存卡
pcard个人预存卡
promotion优惠(包含实时优惠+商户优惠)
voucher营销券
point积分
mdiscount商户优惠
bankPay网银

页面回跳参数

对于PC网站支付的交易,在用户支付完成之后,支付宝会根据API中商户传入的return_url参数,通过GET请求的形式将部分支付结果参数通知到商户系统。

公共参数
名称类型最大长度必填描述示例
app_idString32支付宝分配给开发者的应用ID2016040501024706
methodString128接口名称alipay.trade.page.pay.return
sign_typeString10签名算法类型,目前支持RSA2和RSA,推荐使用RSA2RSA2
signString256支付宝对本次支付结果的签名,开发者必须使用支付宝公钥验证签名详见示例
charsetString10编码格式,如utf-8,gbk,gb2312等utf-8
timestampString19前台回跳的时间,格式"yyyy-MM-dd HH:mm:ss"2016-08-11 19:36:01
versionString3调用的接口版本,固定为:1.01.0
auth_app_idString32授权方的appid
注:由于本接口暂不开放第三方应用授权,因此auth_app_id=app_id
2016040501024706
业务参数
名称类型最大长度必填描述示例
out_trade_noString64商户网站唯一订单号70501111111S001111119
trade_noString64该交易在支付宝系统中的交易流水号。
最长64位。
2016081121001004630200142207
total_amountPrice9该笔订单的资金总额,单位为RMB-Yuan。
取值范围为[0.01,100000000.00],
精确到小数点后两位。
9.00
seller_idString16收款支付宝账号对应的支付宝唯一用户号。
以2088开头的纯16位数字
2088111111116894

页面回跳示例

https://m.alipay.com/GkSL?total_amount=0.10&timestamp=2016-11-02+18%3A34%3A19&sign=G3WI0czviMAOzS5t0fYaDgK32sGpjkkXYVFTpYMtgX8JaXLiGiUTO%2F2IHogcCFT96jBCLZ6IsNzd%2BmxkB%2FRuwG%2F7naQk1qReuORMkrB5cpBf9U40bIUoCmSNqtANsTE2UPV7GKegYG2RqoCRScTmeFAFHj5L7zsM%2BLuYb9mqN3g%3D&trade_no=2016110221001004330228438026&sign_type=RSA2&auth_app_id=2014073000007292&charset=UTF-8&seller_id=2088411964605312&method=alipay.trade.page.pay.return&app_id=2014073000007292&out_trade_no=20150g320g010101001&version=1.0 

verify

验签接口。

参数
名称类型必填描述
optionsobject or string支付宝 POST 到notify_url的主体数据。
格式是application/x-www-form-urlencoded
可以直接传入或格式化成object后传入。
返回值

返回truefalse

Keywords

FAQs

Last updated on 20 Aug 2017

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc