在前端开发中,我们通常需要与后端进行交互,而支付是其中比较重要的一部分。Cowrypay 是一家支付网关,提供了一些 API 接口。在使用 Cowrypay 的 API 时,我们可以使用 cowrypay-client 这个 npm 包,它提供了一个简单易用的接口,让我们能够快速集成 Cowrypay 支付。
安装 cowrypay-client
在使用 cowrypay-client 之前,需要先安装 npm 包。我们可以使用以下命令进行安装:
npm install cowrypay-client --save
初始化并配置 cowrypay-client
在安装完 cowrypay-client 后,我们需要初始化和配置它,才能开始使用。
首先,在你的项目中引入 cowrypay-client:
var cowrypay = require('cowrypay-client');
然后,我们需要配置 cowrypay-client。我们可以在配置对象中设置以下信息:
-- -------------------- ---- ------- --- ------ - - ------- ----- -------- --- ----- ----------- ------------------------------ ---------- --------- ------- -------- -------- ------ --------- ------ ----- ---- -- ---------------------------
这些配置选项的含义如下:
apiKey
:Cowrypay API 密钥,可以在 Cowrypay 控制台中找到。requestUri
:Cowrypay API 请求地址。userAgent
:Cowrypay API 请求时发送的 user agent。timeout
:请求超时时间,单位毫秒。currency
:要使用的货币,目前支持的货币有 NGN 和 USD。demo
:是否使用 Cowrypay 的测试环境。默认为false
,表示使用生产环境。
创建 Cowrypay 订单
在配置完 cowrypay-client 后,我们就可以开始创建 Cowrypay 订单了。
-- -------------------- ---- ------- --- ------- - - ---------- ------------------------ ------- ------- ------ --------------------- --------- - -------------- - - ------------- ------ ------ -------------- ------------- ------ ------ -- - ------------- ----- ------ -------------- ------------ ------ ----- - - -- ------------- -------------------------------------- -- ------------------------------- ------------- --------- - -- ----- - ----------------- - ---- - ---------------------- - ---
在以上示例代码中,我们创建了一个名为 payload
的对象。在对象中,我们可以设置以下参数:
reference
:我们自定义的订单号。amount
:订单金额,单位为所选货币的最小精度,如 NGN 为 100 个卡拉(1 naira),USD 为 1 分钟(1 cent)。email
:客户的电子邮件地址。metadata
:一些额外的数据,如用户信息之类的自定义数据。redirect_url
:支付成功后将用户重定向到的 URL。
接着,我们使用 cowrypay.orders.create()
方法来创建 Cowrypay 订单。在方法参数中,我们传递了 payload
对象和一个回调函数。回调函数会在请求完成时被调用,其中第一个参数为错误,第二个参数为 API 响应。
校验 Cowrypay 回调
使用 Cowrypay 的 API 创建订单后,当用户完成了支付,Cowrypay 会向我们指定的回调 URL 发送一个 POST 请求,通知我们支付结果。我们需要在回调 URL 中处理这个请求,并检查它是否有效。对于这个过程,cowrypay-client 提供了一个校验函数,可以帮助我们检查请求的有效性,确保请求来自 Cowrypay。
var secretKey = 'Your Cowrypay secret key'; var requestSignature = 'The signature in the Cowrypay callback request'; var isValid = cowrypay.webhooks.verifySignature(requestSignature, secretKey);
在以上示例代码中,我们使用 cowrypay.webhooks.verifySignature()
方法来检查回调请求的有效性。在此方法中,我们传递了 requestSignature
和我们的 secret key。如果请求有效,则返回 true
,否则返回 false
。
结论
使用 cowrypay-client,我们可以很容易地集成 Cowrypay 支付,以及实现订单创建、校验回调等功能。在这个过程中,我们需要注意配置信息的正确性,确保 API 请求的有效性。如果你还没有使用过 Cowrypay 和 cowrypay-client,那么这篇文章应该对你有所帮助。如果你对此有任何问题,请随时联系 Cowrypay 官方支持团队。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055a6b81e8991b448d7fa3