我已经集成了payfast支付网关。重定向成功页面和通知页面后,我没有得到payfast的任何回复。什么是响应参数以及如何在数据库中存储事务详细信息?
答案 0 :(得分:1)
PayFast会在成功付款后通过ITN回调将return variables返回到您的系统。
如果根据documentation返回notify_url
响应,这些返回变量仅将返回header 200
。
从PayFast接收付款信息然后通过触发标题200告诉PayFast该页面是可到达的,付款引擎将进行几次尝试,一次立即然后再一次10分钟后,然后以更长的间隔指数级,直到它从您的Web服务器收到一个OK 200。
您可以通过$_POST
变量访问返回的值,并使用它们来更新数据库。
// Notify PayFast that information has been received
header( 'HTTP/1.0 200 OK' );
flush();
// Posted variables from ITN
$pfData = $_POST;
//update db
switch( $pfData['payment_status'] )
{
case 'COMPLETE':
// If complete, update your application, email the buyer and process the transaction as paid
break;
case 'FAILED':
// There was an error, update your application
break;
default:
// If unknown status, do nothing (safest course of action)
break;
}
您可以查看PayFast示例PHP ITN代码here。