在前端开发中,我们经常需要和支付相关的服务打交道。paytrail 是一个针对欧洲市场的在线支付解决方案,可以直接集成到你的 Web 应用程序中。这篇文章将详细介绍如何使用 npm 包 paytrail 来集成 paytrail 的支付服务,及其使用过程中的注意事项。
安装
首先,我们需要安装 npm 包 paytrail:
npm install paytrail --save
用法
使用 paytrail 包的第一步是设置商家的帐户信息:
-- -------------------- ---- ------- ----- -------- - -------------------- ----- ---------- - --------------- ----- -------------- - ------------------ ----- ------- - ------------------------------- ----- --------- - ----------------------------------------- ----- --------- - ---------------------------------------- ----- --------- - ---------------------------------------- ----- -------- - --- -------------------- --------------- -------- ---------- ---------- -----------
这里的 merchantId 和 merchantSecret 是你在 paytrail 注册帐户时获得的身份验证信息,baseUrl 是 paytrail 服务的 URL,returnUrl 是用户支付成功后重定向的 URL,notifyUrl 是 paytrail 通知你用户付款的 URL,cancelUrl 是用户取消付款的 URL。
接下来,我们创建一个订单,并用它创建一个支付:
-- -------------------- ---- ------- ----- ----- - - ------------ -------- --------- ------ ------- -------- -------- --------- ------- - -------- ---------- ------------- ---------- -------- --- -------- ---------- -- ------ -------- --------------- ------ ------ - - ------ ----- --- ----- -------- ------- ------- ------ -------- ---- -------- --------- ------- ----- ---- -- - ------ ----- --- ----- -------- ------- ------- ------ -------- ---- -------- --------- ------- ----- ---- -- -- -- ---------------------------------------- -- - -------------------- ---- ------------- -------------------- --- ------------ -------------- -- - --------------------- -- ------ -------- ----------------- ---
代码中创建了一个名为 order 的订单。其中 orderNumber 是你自己定义的订单号,currency 是支付货币的 ISO 4217 编码,locale 是本地化语言和地区,vatMode 是计算增值税的模式,urlSet 则是支付的相关 URL。
price 是订单总价格,paymentMethods 是可用的支付方式(1 代表支付卡),items 是订单中的物品清单。
调用 paytrail.createPayment() 方法,将订单作为参数传递进去,并使用 promise 来处理返回结果。
返回的数据包含了 Payment URL 和 Payment ID。将 Payment URL 发送给用户以便他们前往 paytrail 进行支付。
处理完成支付后,用户将被重定向到 returnUrl,同时 paytrail 也会向 notifyUrl 发送通知信息。
注意事项
在使用 paytrail 过程中,需要注意以下事项:
- 确保每个订单号都是唯一的,不要重复。
- 在计算金额时,要注意货币代码和小数点格式。在 EUR 中,小数点使用逗号而不是点。
- 因为支付是实时性的,所以不能每次请求都用相同的 orderId。Paytrail 会检查 orderId 是否重复,如果重复则无法支付。
- 请谨慎处理支付通知,确保付款已经实际完成。必要时可以使用支付 ID 向 paytrail 查询该支付的状态。
结论
npm 包 paytrail 提供了一个方便的方式来使用 paytrail 的支付服务。本教程详细介绍了如何使用 paytrail 进行支付服务的集成和如何注意事项和报错处理。
你可以通过自己实践来更好地理解和掌握 paytrail,从而打造更强大、更灵活的支付服务。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056aae81e8991b448e51eb