php - 如何跟踪哪些用户进行了购买?

标签 php codeigniter paypal payment-processing android-pay

<分区>


要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅: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/

上一篇:paypal - 如何检索 PayPalTransactionDidSucceedNotification 的通知对象

下一篇:php - PayPal NVP API 错误 10413 - 购物车商品总金额与订单金额不匹配

相关文章:

php - 如何在csv查询的sql查询中插入last_insert_id?

php - codeigniter中的 session 错误?

php - PayPal 的 CallPaymentDetails 函数

java - 对 Paypal 中某些 IPN 消息的无效响应

php - 在 Jquery 中需要一个 "SEE MORE"风格的侧边栏菜单

php - 创建变体文章

php - 按最新(最近)相关模型排序 [Laravel]

javascript - 在 CodeIgniter 中允许 URL 中的任何字符

php - 如何使用 CodeIgniter 的 Active Record 方法添加 ORDER BY 子句?

paypal - 我在哪里可以找到 PayPal 在其开发者网站注册时自动创建的虚构沙盒帐户的密码?