Paypal - 付款流程以阐明

时间:2012-12-12 22:21:15

标签: paypal

我刚刚开始处理一个在网站上处理paypal付款的项目,当电子邮件通知发送时,当且仅当用户返回该网站时,该工作才能正常工作。事实是我没有编码它,我甚至不知道它使用什么样的api。我阅读了对我来说相当模糊的文档(它理解有一个令牌需要通过get request方法从网站发送,但我真的不确定)。我从代码中了解到,在下文中,op = dodons uri用于管理paypal的响应并向用户发送电子邮件通知。以下是我唯一可以告诉您的页面,我想从中获取付款的处理方式:

<form action="{$payPalURL}" method="post" class="payPalForm" id="frmpp">
              <input type="hidden" name="cmd" value="_donations" id="typedon"/>
              <input type="hidden" name="item_name" value="Donation" />
              <input type="hidden" name="business" value="{$myPayPalEmail}" />
              <input type="hidden" name="notify_url" value="{$url}/index.php?op=dodons&donation=1&tid={$randomID}&payment=1" />             
              <input type="hidden" name="return" value="{$url}index.php?page=campaign&op=dodons&campaign_id={$campaign->getId()}&don=ok" />           
              <input type="hidden" name="rm" value="2" />
              <input type="hidden" name="no_note" value="1" />
              <input type="hidden" name="cbt" value="Continue" />
              <input type="hidden" name="no_shipping" value="1" />
              <input type="hidden" name="lc" value="US" />
              <input type="hidden" name="currency_code" value="EUR" />
              <input type="hidden" name="txn_id" value="{$randomID}" />
              <input type="hidden" name="tid" value="{$randomID}" />
              {if $logged_user != null}
              <input type="hidden" name="a_id" value="{$logged_user->getId()}" />

</form>

1 个答案:

答案 0 :(得分:1)

您似乎正在将Payments StandardPayment Data Transfer (PDT)结合使用。

PDT仅在用户返回到永远无法保证的站点时才有效,即使启用了自动返回也是如此。

相反,请使用Instant Payment Notification (IPN)。这是对服务器上的侦听器脚本的所有事务数据的简单POST,无论用户是否将其返回到您的站点,都会发生这种情况。它与结账流程完全分开。