在前端开发中,支付宝支付是很常见的支付方式。而 alipay.js 是一个 npm 包,用于帮助开发者快捷地集成支付宝支付功能。本篇文章将为大家介绍如何使用 alipay.js 进行支付宝支付集成。
安装
使用 npm 可以轻松地安装 alipay.js:
npm install alipay.js --save
其中,--save
参数是将 alipay.js 的版本号保存到 package.json 中的 dependencies
属性中。
使用
初始化
-- -------------------- ---- ------- ------ - ------ - ---- ----------- ----- ------ - --- -------- ------ ------------ -------- ------------------------------------------- -- ---- ---------- ---------------- -------------- ----------------- ---------------- ----------------- --
在构造函数中传入 appId、沙箱环境的 gateway、用于接收异步通知的 notifyUrl、开发者私钥 rsaPrivateKey 和支付宝公钥 alipayPublicKey。如果你不知道这些参数的具体含义,可以在支付宝开放平台的开发文档中查看相关介绍。
发起支付
-- -------------------- ---- ------- ---------------------- -------- ------- ----- ------- ----------- -------- ------------ ------- --------------- --------- -- --- ---- -------------- -- - -------------------- - ------ --
在发起支付时,我们需要传入一些订单信息,如订单标题、订单描述、商户订单号、订单金额等。其中,timeoutExpress 参数表示订单超时时间,可选,默认为 30m。除此之外,还可以传入其他参数以满足具体的业务需求。
发起支付后,会返回一个支付链接 payUrl,将该链接跳转至支付宝客户端即可完成支付。
异步通知
-- -------------------- ---- ------- -------------------------- ----- ----- ----- -- - ----- ------ - ---------------- ----- ------------ - ----- ------------------------------ -- -------------- - -- ----------- - -- ------------ ------- --- -------- - --------- --
在异步通知时,我们需要验证支付宝返回的信息是否合法。使用 alipay.js 提供的 payNotifyVerify 方法可以快速地完成信息验证,并返回验证结果。
验签通过后,我们可以根据业务需求进行相应的业务逻辑处理,处理完毕后,需要返回 success 字符串,告知支付宝异步通知处理成功。
示例代码
下面是一份使用 alipay.js 完成支付宝支付集成的示例代码:
-- -------------------- ---- ------- ------ - ------ - ---- ----------- ----- ------ - --- -------- ------ ------------ -------- ------------------------------------------- ---------- ---------------- -------------- ----------------- ---------------- ----------------- -- -- ---- ---------------------- -------- ------- ----- ----------- ----------- ------------- ------------ ------ -------------- -- - -------------------- - ------ ------------ -- - ------------------ -- -- ------ -------------------------- ----- ----- ----- -- - ----- ------ - ---------------- ----- ------------ - ----- ------------------------------ -- -------------- - -- ----------- ------------------- - -- ------------ ------- --- -------- - --------- --
在使用中,需要将代码中的 yourAppId、yourNotifyUrl、yourPrivateKey 和 alipayPublicKey 分别替换为实际的值。除此之外,还需要对 payUrl 进行跳转,在路由中处理异步通知的业务逻辑,并在支付成功后返回 success 字符串。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005523481e8991b448cfb9c