我正在使用Codeignitor和MySQL对我的网站进行编码。用户需要创建一个新帐户才能使用我的网站。每个用户都有一个唯一的ID以及保存在数据库中的其他信息。我计划使用PayPal或Google电子钱包等在线支付服务。
但是,在用户进行购买后,如何将在线支付服务(即Paypal)上的购买与我的数据库中的用户进行匹配,以便我可以向该客户提供相应的服务?
例如,如果用户使用PayPal按钮进行购买,我会在PayPal帐户上看到该购买的记录。但是,我如何知道我的数据库中的哪个用户是在我的PayPal商家帐户上列出的那个用户?我是否只需要相信用户关于PayPal(名字,姓氏等)的信息与他或她在我的网站上输入的信息相同?
答案 0 :(得分:1)
使用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变量中,每次脚本运行时都会收到一封电子邮件。
答案 1 :(得分:0)
我相信,一旦用户离开您的网站用PayPal付款,PayPal实际上会将信息发回您的网站,让您知道它是否成功。
以下是API文档:
https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/gs_AdaptivePayments/
页面底部包含
一旦买方授权付款,交易就完成了 它们被重定向到returnUrl输入字段指定的URL 在您的付款申请中。
希望有所帮助!!