使用paypal按钮 - 我的网页可以告诉PayPal交易是否成功?

时间:2015-11-17 17:09:11

标签: php paypal joomla paypal-buttons

我正在使用joomla,并带来了一个允许用户在我的网站上发布列表的组件。该插件使用信用系统来支付列表,但信用系统非常复杂和令人困惑,所以我已经禁用它。

我发现PayPal提供了一些代码,可以在任何网页上插入“立即购买”按钮:)完美,正是我想要的!

我遇到的唯一问题是,当我的添加列表表单(它又是组件的一部分)上显示按钮时,只需单击表单的提交按钮就可以轻松绕过它,这意味着列表可以无需支付就可以出版。

所以我的问题是:

  1. 一旦用户点击立即购买按钮就可以了 将它们重定向回他们刚刚填写的“添加列表”表单 出?
  2. 我可以在付款之前禁用表单上的提交按钮 确认了吗?
  3. PayPal'立即购买'按钮是否会返回任何信息 确认过程是否成功?
  4. 我使用的是html + php:)

    我用来制作立即购买按钮的代码是

    Fetch

    真的很感激任何帮助!

2 个答案:

答案 0 :(得分:3)

好消息 - 您的问题的答案基本上是。您的最终目标绝对可行,但为了真正解决您的问题,我们可能需要更多信息。

你如何处理它可能因情况而异,但不幸的是,自从我配置这些按钮后已经有一段时间了,所以请耐心等待; - )

  

一旦用户点击立即购买按钮,是否可以将它们重新定向回他们刚填写的添加列表表单?

是的,这是PayPal在其按钮及其过程中内置的非常标准的功能。您在这里寻找的是PayPal所称的"返回URL"或"自动返回"。在这里the page with more of the documentation I quoted below,您可以决定退货网址或自动退货或付款数据转帐选项是否最适合您。

  

在结账后将买家退回到您的网站

     

基本的结账体验让买家留在PayPal网站上   他们退房后。使用以下技术之一来增强   结账体验让买家回到您的网站,   代替。

     

返回网址:允许买家返回您网站上的网页   点击PayPal付款确认页面上的退货链接或按钮。

     

要了解详情,请参阅步骤3:添加高级功能下的第5项   用于显示PayPal结帐的“立即购买”按钮或HTML变量   页。

     

自动退货:让PayPal自动将客户退回到页面上   你的网站。

     

重要提示:PayPal建议您启用付款数据转帐   当您打开自动返回时。启用自动退货功能后,PayPal会重定向   通过替代PayPal付款确认,您的网站的买家   页面,不允许他们打印PayPal收据。付款数据   Transfer提供您需要允许的交易信息   买家可以从您的网站打印收据。

     

要了解详情,请参阅自动返回。

     

付款数据传输:PayPal包含有关已完成的信息   使用返回URL或自动返回发送客户时的事务   回到你的网站。使用付款数据传输的信息   提供显示"谢谢,打印您的收据"你的页面   网站。要了解详情,请参阅付款数据转移。

  

问题我可以在确认付款之前停用表单上的提交按钮吗?

当然可以。要在确认付款之前禁用表单上的提交按钮,只需执行以下两项操作之一,直到您检测到付款已确认为止:

  1. 添加'已禁用'属性为“提交”按钮。这将灰显并禁用“提交”按钮,使其无法使用。但是,由于按钮仍然是可见的,所以一个精通网络的最终用户可能只是进入HTML并删除已禁用的属性并以他的快乐方式。
  2. 
    
    <button type="submit" disabled>Submit Listing</button>
    &#13;
    &#13;
    &#13;

    1. 隐藏“提交”按钮。在这种情况下,精通网络的最终用户在技术上仍然可以进入HTML并删除样式,以便按钮可见,但是没有看到它...好吧,你知道,在视线之外,心&#39;
    2. &#13;
      &#13;
      <button type="submit" style="display:none">Submit Listing</button>
      &#13;
      &#13;
      &#13;

        

      问题 PayPal&#39;立即购买&#39;按钮返回确认过程成功的任何信息?

      同样,还有一些攻击方法。

      方法1 最简单的方法可以使用PayPal返回网址和一些GET参数来告诉您事情是否已完成或取消。有一些类似于取消的返回URL和完成的返回URL。从我链接的同一页面,PayPal记录了与此功能相关的按钮的创建:

        

      结帐取消后,将买家带到特定网页(URL)   (可选)?

           

      如果您有,请选中该复选框并在文本框中输入网址   您希望买家返回的网站上的特殊页面   他们在完成交易前取消了结账。

           

      成功结帐后,将买家带到特定网页(URL)   (可选)?

           

      如果您有,请选中该复选框并在文本框中输入网址   您网站上希望买家返回的特殊页面   他们成功完成结账。

      方法2 更先进的方式(这也是更加万无一失的,因为在第一种方法中,黑客可以尝试猜测您的成功返回网址)使用的是PayPal 即时付款通知功能。通过此功能,PayPal会向私人(幕后)URL发送POST请求,该URL允许您捕获与您发送的有关付款完成的数据。

      因此,您的后端会收到有关付款完成的信息,并且有无数种方式(AJAX请求,要求用户刷新浏览器或向用户发送电子邮件告诉他们回来并完成它等)可以为用户更新前端,以便他们可以使用现在可见/启用的提交按钮。

      details and documentation on PayPal's notify_url通过他们的IPN系统。

      祝你好运!

答案 1 :(得分:0)

我认为你会发现PayPal供应商品脚本会做类似的事情。 PayPal设置下的即时付款通知 - 仅适用于企业帐户。

您可以下载的PHP脚本可以自定义,以便在付款后返回任何您想要的内容。成功购买后,您可以回复提交按钮,除非他们在付款后返回echo '<input type="submit" name="submit">';

,否则它实际上不存在

在“工具和设置”下“处理我的订单”

然后,您需要在PayPal商家界面中进行调整,以便将用户返回到您的IPN脚本。