| |||||||
工作原理 一旦启用 PDT,每次买家进行网站付款并被重新定向到您的返回 URL 时,一个交易标记将作为“GET”变量传递给此返回 URL。为了正确使用 PDT 并向客户显示交易详情,您需要构建一个指向PayPal的 HTTP POST,以便从PayPal取得变量名为“tx”的交易标记和检索交易详情。 您的 POST 应发送到 https://www.paypal.com/cgi-bin/webscr。您必须使用变量“tx”和以前收到的交易标记值(如“tx=transaction_token”)发送交易标记,并且使用变量“at”和 PDT 身份标记值(如“at=identity_token”)发送特殊身份标记。您还需要将名为“cmd”,值为“_notify-synch”的变量(例如“cmd=_notify-synch”)附加到 POST 字符串。 PayPal将回复该 POST,并在回复的正文某行中包含一个词“成功”或“失败”。当收到“成功”回复时,回复正文的其余部分将为交易详情,一行一项,格式为 key=value,其中 key 和 value 都是 URL 编码字符串。需要对此回复数据进行适当解析,然后进行网络解码。 成功回复示例: 成功 first_name=Jane+Doe last_name=Smith payment_status=Completed payer_email=janiedoesmith@hotmail.com payment_gross=3.99 mc_currency=USD custom=For+the+purchase+of+the+rare+book+Green+Eggs+%26+Ham ... 您可以向客户显示您认为适当的付款详情;不过,PayPal建议包括送货地址、付款者电子邮件和付款金额。如果您使用 PDT 确定何时自动完成订单,请确认 payment_status 为已完成,因为买家可能使用像电子支票那样的付款方式,这种方式不能立即结算。 如果您使用这些数据来完成订单,PayPal强烈建议您启用 IPN 以确定何时结算这些待付款。欲知更多信息,请参阅PayPal IPN 手册,该手册可在PayPal网站上找到。 如果该回复是“失败”,那么您可以尝试重新寄回PayPal以确定是否是网络错误造成的故障;不过,如果第二次尝试同样失败,PayPal建议您检查脚本并进一步调查:
IPN 变量 有关所有 IPN 变量的完整列表以及如何使用“即时付款通知”的详细说明,请参考网站付款标准版集成指南 Adobe Acrobat 是阅读PayPal的手册的必要工具。 | |||||||