在前端开发中,与支付相关的功能无疑是非常重要的。而目前市面上使用非常广泛的支付方式之一便是微信支付。而在 NodeJS 的生态系统中,我们可以使用一个名为 wechat-cash 的 npm 包来简化微信支付的集成,本文将介绍如何使用此 npm 包。
安装
在使用 wechat-cash 之前,需要先安装此 npm 包:
npm install wechat-cash --save
配置
安装成功后,我们需要进行一些配置。我们需要在调用微信支付 API 时传递的参数有:
- appid:公众号或小程序的 appid
- mch_id:商户号
- nonce_str:随机字符串
- sign_type:签名类型,目前支持 HMAC-SHA256 和 MD5,默认为 MD5
- key:商户支付密钥
- body:商品描述
- out_trade_no:商户订单号
- total_fee:标价金额(单位:分)
- spbill_create_ip:终端 IP
- notify_url:通知地址
- trade_type:交易类型,可选择 JSAPI、NATIVE、APP
我们可以将这些参数保存在一个 JS 对象中:
-- -------------------- ---- ------- ----- -------- - - ------ -------- ------- --------- ---------- ------------ ---------- ------ ---- ------ ----- ------------ ------ ------------- --------- ---------- -- ----------------- ------------ ----------- --------------------------------- ----------- ------- --
使用
创建一个 wechat-cash 的实例,并调用支付 API:
-- -------------------- ---- ------- ----- ---------- - ----------------------- ----- ----- - --- --------------------- ----------- ------- --------- ---------------- -- - -------------------- -------------- -- - ----------------- ---
我们需要传递 openid 参数,这个参数是用户在小程序或公众号登录后获得的,可以通过调用微信提供的登录 API 获取。
响应
在支付 API 调用成功后,我们会获得一个响应对象,这个对象包含以下属性:
- return_code:返回状态码,此字段为 SUCCESS 表示成功,其他表示失败
- return_msg:返回信息
- appid:公众号或小程序的 appid
- mch_id:商户号
- nonce_str:随机字符串
- sign:签名
- result_code:业务结果,SUCCESS 表示成功,其他表示失败
- prepay_id:预支付交易会话标识
- trade_type:交易类型
- timestamp:时间戳
- sign_type:签名类型
我们可以根据 return_code 和 result_code 的值来判断是否支付成功,如果成功,可以使用 prepay_id 来调用其他相关的 API。
总结
使用 wechat-cash 这个 npm 包可以帮助我们快速集成微信支付,并且减少很多繁琐的工作,使得我们可以专注于业务逻辑的实现。如果你在开发中需要使用微信支付,可以尝试使用此 npm 包。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671098dd3466f61ffdf83