0

我正在使用 Codeignitor 和 MySQL 对我的网站进行编码。用户需要创建一个新帐户才能使用我的网站。每个用户都有一个唯一的 ID 以及保存在数据库中的其他信息。我计划使用在线支付服务,例如 PayPal 或 Google Wallet。

但是,在用户进行购买后,我如何将在线支付服务(即 Paypal)上的购买与我数据库中的用户进行匹配,以便为该客户提供适当的服务?

例如,如果用户使用 PayPal 按钮进行购买,我会在我的 PayPal 帐户中看到该购买记录。但是我怎么知道我的数据库中的哪个用户是在我的 PayPal 商家帐户中列出的购买的那个用户?我是否只需要相信用户在 PayPal 上的信息(名字、姓氏等)与他或她在我的网站上输入的信息相同吗?

4

2 回答 2

1

使用 paypal IPN,paypal 将在付款后自动运行指定的脚本。在此脚本中,您可以将信息添加到数据库中,例如付款的用户、txnid(交易 ID)、付款金额、付款状态。所有将来可能有用的东西。以下是一些有用的链接:
IPN 文档
IPN 设置演练

您需要在您的贝宝设置中激活 IPN 并输入一个脚本让贝宝运行。
如上所述,您还可以设置此脚本以“为该客户提供适当的服务”。
一旦你有 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 变量中,每次脚本运行时您都会收到一封电子邮件。

于 2013-07-15T23:48:56.283 回答
0

我相信一旦用户离开您的网站并使用 PayPal 付款,PayPal 实际上会将信息发布回您的网站,让您知道它是否成功。

以下是 API 文档:

https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/gs_AdaptivePayments/

页面底部包含

一旦买家授权付款,交易就完成了,他们将被重定向到您的付款请求中的 returnUrl 输入字段指定的 URL。

希望有帮助!!

于 2013-07-15T23:29:02.480 回答