我目前在我的网站上使用Paypal按钮。当客户点击该按钮时,他们将被带到Paypal的网站进行购买。购买完成后,我会收到Paypal发送的电子邮件通知。电子邮件通知包含以下部分:
采购商: Acme公司 acme@acme.com
未经确认的送货地址 约翰·史密斯 123 Main Street Mytown AB 12345 美国
我的问题与没有字段标题解析此数据的事实有关。 IOW,我有一个后端软件程序,它接收这些传入的电子邮件并解析它们(或者至少尝试解析它们)。问题是,没有什么能告诉我客户的姓氏是什么,或者他们的名字。如果电子邮件包含此内容怎么办?:
John de Machio Jr.
123 Main Street
My Town AB 12345
United States
“Machio”是这个人的姓,还是“de Machio”,还是“Jr。”?
是否无法获取包含客户信息的字段标题?有点像这样:
First name: John
Last name: de Machio
Address line 1: 123 Main Street
Address line 2: Apt. 4
City: My Town
State/province: AB
ZIP/Postal code: 12345
Country: United States
Email address: acme@acme.com
答案 0 :(得分:3)
请不要开始解析电子邮件。我们偶尔会更改电子邮件的结构,而电子邮件本质上很差,无法根据您的订单管理进行重要操作。
我们有PayPal Instant Payment Notification,它会为您解决所有这些问题。 对于大多数主要语言,我们在GitHub上获得了示例代码,以及“HowTo”指南here。
PayPal的IPN虽然在几年前创建,但与现在通常所说的webhook类似。 每当您的帐户发生与交易相关的事件时,我们就会触发对定义的URL的HTTP POST请求。
出于安全原因,您应该获取该POST有效负载,将其发回给我们并检查响应,以确保您收到的HTTP POST是真实的。
我很乐意引导您完成设置IPN
我能做的最简单的是:
1.下载示例代码
2.根据您的环境进行设置,并确保可以公开访问
3.如果您使用的是PayPal按钮,请添加:
<input type="hidden" name="notify_url" value="http://url/to/your/ipn/script">
一旦你有了这个,IPN就可以了。
或者,如果您不想在按钮中指定IPN网址,只需在帐户中通过个人资料&gt;启用它即可。我的销售工具&gt;即时付款通知并在那里保存网址。