【问题标题】:Accepting single paypal payments接受单一的贝宝付款
【发布时间】:2013-02-26 12:20:51
【问题描述】:

我的网站是用 Python 编码的,我想提供通过贝宝在我的网站上接受付款的功能。我想使用免费的贝宝服务(无月费)来执行此操作,用户被重定向到贝宝网站进行登录和支付。我希望工作流程像这样工作:

  • 用户点击支付宝支付
  • 用户点击“使用贝宝付款”按钮
  • 用户被重定向到贝宝网站登录
  • 付款成功后,用户重定向回我的网站并看到确认页面。

除了有关将贝宝重定向回我的网站的部分之外,我了解所有内容。如何对其进行编码,以便我可以判断 paypal 是否已成功并仅在成功付款时处理确认页面?

注意

  • 我不会使用定期付款
  • 如果可能的话,我宁愿不要为此使用一个庞大而笨拙的库,因为这似乎是一项小任务

【问题讨论】:

  • 到目前为止您尝试过或至少考虑过什么?
  • 我有一个 paypal 按钮,它以正确的金额链接到 paypal,但目前没有方法可以捕获成功。我曾考虑过会有一种“密钥”在成功付款后返回到我的网站,我需要获取并验证它吗?

标签: python paypal


【解决方案1】:

您可以使用 PayPal 的 PDT 来检查交易是否有效。支付数据传输 (PDT) 是一种检索 PayPal 交易详细信息的安全方法,以便您可以将它们显示给您的客户。它与网站付款标准结合使用,以便客户在 PayPal 网站上付款后返回您的网站后,他们可以立即查看包含交易详细信息的确认消息。 PDT 不适用于信用卡或 Express Checkout 交易。本页介绍了 PDT 的工作原理以及如何配置您的帐户以使用 PDT。

PDT 的工作原理 当客户向您付款时,PayPal 通过将交易 ID 附加到您在帐户资料中指定的 URL 来向您发送付款的交易 ID。此信息通过 HTTP GET 作为此名称/值对发送:

tx=transactionID 

在您获得交易 ID 后,您向 PayPal 发布一个包含交易 ID 和您的身份令牌的 FORM,这是一个用于向 PayPal 标识您的帐户的字符串值。下面有说明如何获取您的身份令牌的说明。表单如下所示:

<form method=post action="https://www.paypal.com/cgi-bin/webscr"> 
<input type="hidden" name="cmd" value="_notify-synch"> 
<input type="hidden" name="tx" value="TransactionID"> 
<input type="hidden" name="at" value="YourIdentityToken"> 
<input type="submit" value="PDT"> 
</form> 

在 PayPal 对您的帖子的回复中,第一行将是 SUCCESS 或 FAIL。

激活 PDT 要使用 PDT,您必须在您的 PayPal 帐户资料中激活 PDT 和自动退货。您还必须获得一个 PDT 身份令牌,该令牌用于您发送给 PayPal 的所有 PDT 通信。

按照以下步骤配置您的 PDT 帐户:

1.登录到您的 PayPal 帐户。 2.单击配置文件子选项卡。 3.点击卖家偏好栏中的网站支付偏好。 4.在网站付款的自动返回下,单击打开单选按钮。 5. 对于退货 URL,输入您网站上的 URL,该 URL 将在客户付款后接收 PayPal 发布的交易 ID。 6.在支付数据传输下,单击开单选按钮。 7.单击保存。 8.点击卖家偏好列中的网站支付偏好。 9.向下滚动到页面的支付数据传输部分以查看您的 PDT 身份令牌。

下面的链接也会对您有所帮助:

PDT varaibles that can be returned

Description of PDT

Sample Code

PDT Troubleshooting Tips

【讨论】:

    猜你喜欢
    • 2016-06-08
    • 2011-08-31
    • 2014-10-30
    • 2011-07-25
    • 2011-11-17
    • 2016-06-17
    • 2012-09-09
    • 2014-08-15
    • 2023-04-01
    相关资源
    最近更新 更多