支付宝-APP支付支付宝-扫码支付微信-APP支付微信-JSAPI支付微信-扫码支付微信-小程序支付查询订单异步通知
nodejs >= 8.5.0
API对所有错误进行了处理, 统一通过error返回, 包括:
网络类错误- 网络中断, 连接超时等请求回调返回签名校验其它错误- 应传参数未传入等
正常返回为JSON格式数据
npm i lakala
# 如已安装旧版, 重新安装最新版
npm i lakala@latestconstlakala=require('lakala');constconfig={merchant_id: '商户id',api_url: 'api请求url',notify_url: '异步通知url',private_key_pem: fs.readFileSync('私钥.pem'),public_key_pem: fs.readFileSync('公钥.pem'),};constapi=lakala.init(config)// 调试模式(传入第二个参数为true, 可在控制台输出数据)constapi=lakala.init(config,true)merchant_id- 商户编号(必填)api_url- api请求地址(必填)notify_url- 支付结果通知回调地址(必填)- 可以在初始化的时候传入设为默认值, 不传则需在调用相关API时传入
- 调用相关API时传入新值则使用新值
- 某些API预设了某些必传字段的默认值, 调用时不传参数则使用默认值
- 初始化时已传入的参数无需调用时重复传入, 如
merchant_id证书 - 签名(sign)会在调用API时自动处理, 无需手动传入
- 请求号(requestId)会在调用API时自动处理, 无需手动传入
letresult=awaitapi.payment({orderId: '订单id',orderTime: '订单时间yyyymmddhhmmss',amount: '订单金额(分)',body: '商品名称'});letresult=awaitapi.quickPayment({orderId: '订单id',orderTime: '订单时间yyyymmddhhmmss',amount: '订单金额(分)',body: '商品名称'});letresult=awaitapi.aliApp({orderId: '订单id',orderTime: '订单时间yyyymmddhhmmss',token: '预下单返回的token',});letresult=awaitapi.aliNative({orderId: '订单id',orderTime: '订单时间yyyymmddhhmmss',token: '预下单返回的token',});letresult=awaitapi.wxApp({orderId: '订单id',orderTime: '订单时间yyyymmddhhmmss',token: '预下单返回的token',appId: '公众号id',openId: '付款用户的openid'});letresult=awaitapi.wxJsApi({orderId: '订单id',orderTime: '订单时间yyyymmddhhmmss',token: '预下单返回的token',appId: '公众号id',openId: '付款用户的openid'});letresult=awaitapi.wxNative({orderId: '订单id',orderTime: '订单时间yyyymmddhhmmss',token: '预下单返回的token',appId: '公众号id',openId: '付款用户的openid'});letresult=awaitapi.wxMiniApp({orderId: '订单id',orderTime: '订单时间yyyymmddhhmmss',token: '预下单返回的token',appId: '小程序id',openId: '付款用户的openid'});letresult=awaitapi.queryOrder(订单id);letresult=awaitapi.notify(body);