2

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

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

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

注意

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

1 回答 1

4

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

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

tx=transactionID 

获得交易 ID 后,您将包含交易 ID 和您的身份令牌的 FORM 发送到 PayPal,这是一个字符串值,用于向 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.登录您的贝宝账户。2.单击配置文件子选项卡。3.点击卖家偏好栏中的网站支付偏好。4.在网站付款的自动返回下,单击打开单选按钮。5. 对于退货 URL,输入您网站上的 URL,该 URL 将在客户付款后接收 PayPal 发布的交易 ID。6.在支付数据传输下,单击开单选按钮。7.单击保存。8.点击卖家偏好列中的网站支付偏好。9.向下滚动到页面的支付数据传输部分以查看您的 PDT 身份令牌。

以下链接也将对您有所帮助:

可以返回的 PDT 变量

PDT的描述

示例代码

PDT 故障排除提示

于 2013-03-13T14:35:01.520 回答