magento自定义支付网关通知

时间:2013-07-10 09:43:53

标签: php magento magento-1.7 payment-gateway

我正在制定自定义付款解决方案,并坚持如何通知magento付款被接受或拒绝。

我有一个PaymentController.php文件,需要输入代码来处理这个问题。

付款网关在下方提供HTTP GET请求。

http://www.websitename.co.uk/mygateway/payment/response?SessionID=&Note=&Tariff=&Status=

  1. SessionID是由付款网关分配的唯一ID

  2. 注意是由magento

  3. 生成的orderID
  4. 关税是以便士为单位的价格,即100p

  5. 状态是付款状态,大约有10种不同类型,Status = 100表示​​付款成功,Status = 200表示付款失败

  6. 所以它可能是http://www.websitename.co.uk/mygateway/payment/response?SessionID=123456&Note=1000051&Tariff=300&Status=100

    我不知道如何创建代码来处理此get请求并计算出状态

    我需要将代码放在paymentcontroller

    的这个区域之间
    public function responseAction() {
        if($this->getRequest()->isPost()) {
    
            /*
            /* Your gateway's code to make sure the reponse you
            /* just got is from the gatway and not from some weirdo.
            /* This generally has some checksum or other checks,
            /* and is provided by the gateway.
            /* For now, we assume that the gateway's response is valid
            */
    
            $validated = true;
            $orderId = '';
    
            if($validated) {
    

1 个答案:

答案 0 :(得分:0)

使用Zend_Http_Client类。

您将在zend的这个小教程中找到您需要了解的所有内容:

http://framework.zend.com/manual/1.12/de/zend.http.client.html

快速而肮脏的方式是:

$client = new Zend_Http_Client('http://www.websitename.co.uk/mygateway/payment/response?SessionID=123456&Note=1000051&Tariff=300&Status=100');
$response = $client->request();

然后检查回复和你的好处。祝你好运!