接受单次PayPal付款
我网站是用Python写的,我想让用户可以通过PayPal来付款。我想使用免费的PayPal服务(没有月费),这样用户就会被引导到PayPal的网站去登录和付款。我希望整个流程大概是这样的:
- 用户点击通过PayPal付款
- 用户点击“用PayPal付款”按钮
- 用户被引导到PayPal网站登录
- 付款成功后,用户会被引导回我的网站,并看到确认页面。
我对这个流程都理解,但我不太明白关于PayPal如何引导用户回到我网站的部分。我该怎么写代码,才能知道PayPal的付款是否成功,只有在成功付款后才处理确认页面呢?
注意:
- 我不会使用定期付款
- 如果可能的话,我不想用一个大而复杂的库,因为这看起来是个小任务
1 个回答
你可以使用PayPal的PDT来检查交易是否有效。支付数据传输(PDT)是一种安全的方法,可以获取PayPal交易的详细信息,以便你可以将这些信息展示给客户。它通常和网站支付标准一起使用,这样当客户在PayPal网站上支付后返回你的网站时,他们可以立即看到交易的确认信息和详细内容。PDT不适用于信用卡或快捷支付交易。下面的内容会介绍PDT是如何工作的,以及如何设置你的账户来使用PDT。
PDT的工作原理 当客户向你付款时,PayPal会将支付的交易ID通过你在账户设置中指定的URL发送给你。这些信息是通过HTTP GET请求以名称/值对的形式发送的:
tx=transactionID
在你收到交易ID后,你需要向PayPal发送一个表单,这个表单里包含交易ID和你的身份令牌,身份令牌是一个字符串,用来识别你的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中,输入你网站上接收PayPal在客户付款后发送的交易ID的URL。 6. 在支付数据传输选项下,选择“开启”单选按钮。 7. 点击保存。 8. 在卖家偏好设置栏中再次点击网站支付偏好。 9. 向下滚动到页面的支付数据传输部分,查看你的PDT身份令牌。
下面的链接也会对你有帮助: