javascript – 如何通过PayPal确保我的支付系统的安全性?

前端之家收集整理的这篇文章主要介绍了javascript – 如何通过PayPal确保我的支付系统的安全性?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

如何通过PayPal确保我的支付系统的安全性?

我使用vue-paypal-check创建前端PayPal按钮进行付款.

代码如下:

  Box_id"
    :amount="amount"
    currency="USD"
    :client="credentials"
    :env="paypal_env"

    @payment-authorized="payment_authorized_cb"
    @payment-completed="payment_completed_cb"
    @payment-cancelled="payment_cancelled_cb"

    :items="pay_items"
  >

一些dota如下:

data(){
  return {
    paypal_env: this.$GLOBAL_CONST.PAYMENT.PAYPAL_ENV,paypal_sandBox_id: undefined,paypal_live_id: undefined,}
},computed: {

  credentials() {
    return {
      sandBox: this.paypal_sandBox_id,production: this.paypal_live_id,}
  },},

薪酬成功的回调方法

  payment_completed_cb(res){
    some method to access API for payment success // there will request the API for change the order status or reduce the balance. 
  },

但我有一个问题,如果客户的某人是技术上的邪恶,他直接打电话给payment_completed_cb,而不是通过paypal付款.

我怎么能阻止这个?

最佳答案
这在前端无法安全处理.正如您所指出的,有人可以手动调用该payment_completed_cb函数.

您拥有的代码纯粹是为了用户体验.有人点击购买,他们去paypal,购买,重定向回来,你的网站说“谢谢”.这是功能应该做的,处理一些谢谢提示显示.

付款似乎可能会通过,但可能需要一段时间才能解决.因此,paypal会回复“看起来不错”的消息并将客户重定向回您的网站.后来真正完成了tranfser.一个例子可能是,如果在处理交易时Paypal认为它看起来很欺诈,他们可以取消付款.

为了解决所有这些问题,付款确认的实际处理将在服务器上进行.您可以将Paypal配置为在实际确认付款时ping您选择的服务器(它也将对客户隐藏).这称为即时付款通知(IPN)

这张图说明了交易流程.

图片来自这个ipn introductory post

enter image description here

您可以使用NodeJS执行此操作,并将其作为Serverless功能部署到AWS(第一百万个请求免费).或部署到免费的Heroku实例.这些都是便宜的选项,但如果服务器空闲,则启动时间很短.根据我的经验,它只需要200-300毫秒,只需几分之一秒即可开始.这对于响应HTML请求来说太长了,但对于处理来自某些后台API的最终ping是完美的.

示例节点实现自paypal ipn

var ipn = require('paypal-ipn');

ipn.verify(params,function callback(err,msg) {
  if (err) {
    console.error(err);
  } else {
    // Do stuff with original params here

    if (params.payment_status == 'Completed') {
      // Payment has been confirmed as completed
    }
  }
});

//You can also pass a settings object to the verify function:
ipn.verify(params,{'allow_sandBox': true},mes) {
  //The library will attempt to verify test payments instead of blocking them
});

有关整合步骤的深入指南,Paypal的文档为Paypal IPN

原文链接:https://www.f2er.com/js/429264.html

猜你在找的JavaScript相关文章