在进行贝宝付款集成时如何验证金额

时间:2019-03-06 16:03:38

标签: javascript php paypal payment

我正在将Paypal付款网关集成到我的php网站。我已经在我的网站上设置了快速结帐按钮。在使用沙盒帐户进行测试时,我注意到客户端上的所有内容。设置金额,将金额发送给贝宝,并在批准后返回到我们调用服务器的站点,以将交易保存到数据库中并向用户显示成功页面。我的问题是这里的一切都在客户端,用户很有可能可以手动更改金额并将较少的金额传递给Paypal和Pay。从Paypal进行快速结帐的安全性较低。我在下面提供了我所做的代码。

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <script
    src="https://www.paypal.com/sdk/js?client-id=AQYbApp-rrqXDbNdbHNybmYVEmI329axyF2DqWIU8CidWswsBwpsi6ybWK3lWGku7wPHKUo9Ou9">
  </script>
  <script>
  paypal.Buttons({
    createOrder: function(data, actions) {
      return actions.order.create({
        purchase_units: [{
          amount: {
            value: '1'
          }
        }]
      });
    },
    onApprove: function(data, actions) {
      // Capture the funds from the transaction
      return actions.order.capture().then(function(details) {
        // Call your server to save the transaction
        return fetch('/paypal/trans_complete.php', {
          method: 'post',
          body: JSON.stringify({
            orderID: data.orderID
          })
        });
      });
    }
  }).render('#paypal-button-container');
</script>
</head>
<body>
  <div id="paypal-button-container"></div>
</body>

0 个答案:

没有答案