本文介绍如何使用 npm 包 wechat-pay-ymlinks 来快速实现微信支付的功能。这个包封装了微信支付的相关 API,使得在前端中实现微信支付变得更加容易。
安装
首先,你需要在你的项目中安装 wechat-pay-ymlinks。你可以使用 npm 进行安装:
npm install wechat-pay-ymlinks --save
或者,你也可以使用 yarn:
yarn add wechat-pay-ymlinks
使用
使用 wechat-pay-ymlinks,你需要先在微信商户平台上申请支付接口的权限。你将获得以下信息:
APPID
:你的微信公众号的 appid。MCHID
:你的微信支付商户号。APIKEY
:API 密钥,用于签名和验证参数。NOTIFYURL
:微信支付成功后通知的地址。
申请了上述信息之后,你就可以开始使用 wechat-pay-ymlinks 了。
初始化
import WxPay from 'wechat-pay-ymlinks'; const wxPay = new WxPay({ appid: 'xxx', mch_id: 'xxx', api_key: 'xxx', notify_url: 'xxx', });
在初始化中,将 appid
、mch_id
、api_key
以及 notify_url
配置成你的信息即可。
下单
-- -------------------- ---- ------- ----- --- - ----- ---------------- ----- ----- ------ ------------- ---------------------- ---------- -- ----------------- ---------- ----------- -------- ------- ------ --- -----------------
这里使用了 uniOrder
方法来创建订单。uniOrder
方法接收一个对象作为参数,此对象包含以下参数:
body
:商品描述。out_trade_no
:商户订单号。total_fee
:订单总金额,单位为分。spbill_create_ip
:终端IP。trade_type
:交易类型,此处填入JSAPI
。openid
:用户标识。
返回结果是一个包含 appid
、mch_id
、prepay_id
等信息的对象,这些信息将在之后的支付流程中用到。
支付
const res = await wxPay.uniPay({ prepay_id: 'xxx', }); console.log(res);
在下单成功之后,我们将获得 prepay_id
。使用 uniPay
方法来发起支付。uniPay
方法接收一个对象作为参数,此对象包含以下参数:
prepay_id
:预支付交易会话标识。
在发起支付之后,将打开微信支付页面,用户将在此页面上完成支付过程。
校验
const result = await wxPay.verifySign(data); console.log(result);
在用户完成支付后,微信会向你配置的 NOTIFYURL
发送通知。在你的服务器中,你需要接收到这个通知,然后根据通知中的信息处理订单,并返回给微信一个通知结果。在这里,我们需要先对微信的通知进行签名校验,可以使用 verifySign
方法。
verifySign
方法接收一个对象,此对象为微信发送的通知解析后的 JSON 对象。使用此方法可以根据 api_key
对通知中的参数进行签名校验,并返回校验结果。
示例代码
-- -------------------- ---- ------- ------ ----- ---- --------------------- ----- ----- - --- ------- ------ ------ ------- ------ -------- ------ ----------- ------ --- -- ---- ----- -------- - ----- ---------------- ----- ----- ------ ------------- ---------------------- ---------- -- ----------------- ---------- ----------- -------- ------- ------ --- ---------------------- -- ---- ----- ------ - ----- -------------- ---------- ------------------- --- -------------------- -- -- ----- --------- - ----- ----------------------- -----------------------
总结
使用 npm 包 wechat-pay-ymlinks,我们可以很方便地在前端中实现微信支付的功能。这篇文章提供了详细的使用指南,希望对大家有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055d2d81e8991b448dae7e