<分区>
要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅:Stack Overflow question checklist
关闭 9 年前。
<分区>
要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅:Stack Overflow question checklist
关闭 9 年前。
我正在使用 Codeignitor 和 MySQL 对我的网站进行编码。用户需要创建一个新帐户才能使用我的网站。每个用户都有一个唯一的 ID 以及保存在数据库中的其他信息。我计划使用在线支付服务,例如 PayPal 或 Google 电子钱包。
但是,在用户进行购买后,我如何将在线支付服务(即 Paypal)上的购买与数据库中的用户匹配,以便为该客户提供适当的服务?
例如,如果用户使用 PayPal 按钮进行购买,我会在我的 PayPal 帐户上看到该次购买的记录。但是我怎么知道我数据库中的哪个用户是在我的 PayPal 商家帐户上进行购买的那个人?我是否只需要相信用户在 PayPal 上的信息(名字、姓氏等)与他或她在我的网站上输入的信息相同?
最佳答案
使用paypal IPN,paypal 会在付款后自动运行指定的脚本。在此脚本中,您可以将信息添加到数据库中,例如付款的用户、txnid(交易 ID)、付款金额、付款状态。所有将来可能有用的东西。以下是一些有用的链接:
IPN documentation .
IPN setup walkthrough
您需要在您的 paypal 设置中激活 IPN 并输入 paypal 运行的脚本。
如上所述,您还可以设置此脚本以“向该客户提供适当的服务”。
一旦你有 ipn 和数据库插入并工作,你可以向脚本添加一个 php 邮件函数来通知你自己哪个用户已经购买了:
<?PHP
//mail variables
$emailAddress = "your@email.net";
$subject = "User Purchase";
$message = "$user has made a purchase of $product for $productPrice";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers.= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$headers.= 'From: noreply@yourdomain.com' . "\r\n" .
'Reply-To: noreply@yourdomain.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
//mail function
mail($emailAddress, $subject, $message, $headers);
?>
此邮件功能也可用于调试目的。只需将需要调试的信息/变量添加到 $message 变量中,每次脚本运行时您都会收到一封电子邮件。
关于php - 如何跟踪哪些用户进行了购买?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17665468/