2016-11-11 98 views
0

我已经集成了payfast支付网关。重定向成功页面并通知页面后,我没有从payfast获得任何回应。什么是响应参数以及如何将事务详细信息存储在数据库中?Payfast支付网关ITN回复在php

+0

您的notify_url是否返回200响应? –

+0

@Daniel_ZA我们如何检查notify_url的状态? –

+0

@PathikVejani您可以使用Postman或任何其他类似的工具在页面上执行帖子,然后查看回复。 –

回答

1

付款成功后,PayFast将通过ITN回拨将其return variables退还给您的系统。

这些返回变量将只有如果它返回一个header 200响应按他们的documentation返回到您的notify_url

从PayFast收到付款信息,然后告诉PayFast此页面是由触发接头200到达,付款引擎会做出一些尝试,立刻再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