我是商家,在客户通过paypal完成付款后提供电子书下载。在paypal交易完成后,我将从paypal获得唯一的交易ID,然后存储在我的DataBase中。然后,如果在我的数据库中找到交易ID,则客户可以下载电子书,因此我需要验证交易ID是来自paypal而不是黑客或欺诈。任何API都可以做到这一点?我的网站正在使用php。
答案 0 :(得分:0)
我认为这将对您有所帮助的是PDT(付款数据传输),当客户向您付款时,PayPal会通过将您的交易ID附加到您在帐户资料中指定的网址向您发送付款的交易ID。此信息通过HTTP GET作为此名称/值对发送:
TX = TRANSACTIONID
在您获得交易ID后,您将一张FORM发布到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对该请求的回复,表明这是PayPal中的正确交易(HTTP Header已被省略):
SUCCESS
first_name=Jane+Doe
last_name=Smith
payment_status=Completed
payer_email=janedoesmith%40hotmail.com
payment_gross=3.99
mc_currency=USD
custom=For+the+purchase+of+the+rare+book+Green+Eggs+%26+Ham
当然,所有这些都取决于您需要在paypal商家帐户中启用PDT。
如果您需要更多帮助,请参阅以下链接:Paypal Payment Data Transfer