paypal IPN 和 paynow 按钮

Posted

技术标签:

【中文标题】paypal IPN 和 paynow 按钮【英文标题】:paypal IPN and paynow button 【发布时间】:2017-07-24 22:13:54 【问题描述】:

我有一个paypal按钮,文件名paypaltest.php中的代码:

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<!--<input type="hidden" name="custom" value="<?php //echo $id ?>">-->
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" >
<img  border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif"  >
</form>

我的网络托管服务器目录的同一位置也有一个 paypal ipn php 文件名 listener.php。

我想知道如何将两者联系起来以了解交易是否已验证。我应该用 listener.php 文件替换表单上的沙箱 url。

【问题讨论】:

添加一个名为“notify_url”的隐藏输入并将其值设置为您的ipn监听器,例如,myserver.com/shop/listener.php"> 我明白了,谢谢。我希望这是一种安全的方式 您可以在您的 Paypal 配置文件中设置通知 URL,因此它不会公开。但是,这意味着您只能拥有一个 IPN 侦听器。无论如何,你不应该依赖那些不知道你的听众是什么的人来保证安全。脚本本身应该验证数据。提示:验证码不要自己写,用paypal在github上的代码。 非常感谢我使用贝宝网站上的代码让它工作。我现在只需要弄清楚如何传入一个要收费的金额,而不是设置一个静态金额。 你能详细说明你的问题吗 【参考方案1】:

我可以帮助您使用单页 PayPal 立即付款按钮 实际上我使用了我的一个项目

<script src="https://www.paypal.com/sdk/js?client-id=XXXXXXXXXXXXXXXXX">
  </script> 

<div id="paypal-button-container"> </div>


 <script>
  paypal.Buttons(
    createOrder: function(data, actions) 
      return actions.order.create(
        purchase_units: [
          amount: 
            value: '1230'
          
        ]
      );
    ,
    onApprove: function(data, actions) 
      return actions.order.capture().then(function(details) 
        alert('Transaction completed');
        // Call your server to save the transaction
        return fetch('codes/paypalapi.php?invo=123', 
          method: 'post',
          headers: 
            'content-type': 'application/json'
          ,
          body: JSON.stringify(
            orderID: data.orderID,
            amount: data.amount
          )         
        );
      );
    
  ).render('#paypal-button-container');
</script>

【讨论】:

以上是关于paypal IPN 和 paynow 按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Paypal NVP API 为第三方客户“即时”创建加密的 PayNow 按钮?

如何在 IPN 通知 URL 中获取 pay_key?

Paypal 动态按钮和 IPN 链接

Paypal 支付按钮和 IPN:如何唯一地链接用户?

使用非托管 PayPal 按钮时如何使用 IPN 验证 PayPal 数据

没有收到 django-paypal IPN 信号