好的,所以我正在编写我的IPN页面,在payment_status
完成时将所有工作都插入到数据库中。这是我到目前为止的查询:
if($payment_status=="Completed"){
$txn_id_check = $mysqli->query("SELECT `transaction_id` FROM `payment` WHERE `transaction_id`='$txn_id'");
if($txn_id_check->num_rows != 1) {
$query = "INSERT INTO `payment` (`transaction_id`, `payment_status`, `users_id`) VALUES(?, ?, ?)";
$statement = $mysqli->prepare($query);
$statement->bind_param('ssi',$txn_id, $payment_status, $id);
if($statement->execute()){
print 'Success! ID of last inserted record is : ' .$statement->insert_id .'<br />';
}else{
die('Error : ('. $mysqli->errno .') '. $mysqli->error);
}
$statement->close();
}
}
因为我正在订阅订阅服务,所以我不确定所有可能发生的情况。我的想法:
用户购买会员资格
检查:必须检查付款是否更正收件人,transaction_id不存在,付款金额是否正确。
用户取消会员资格
还有什么我需要考虑的吗?
提前谢谢。