Worldpay Direct XML PHP Integration

Я пишу PHP-скрипт для приема данных кредитной карты и клиента на моем сайте, незаметной отправки этих данных на сервер Worldpay для обработки и последующего действия на основе ответа (оплачено, не удалось и т.д.).

Моя проблема в том, что я не могу аутентифицироваться в Worldpay при отправке XML - я заменил MYMERCHANTCODE на правильный код продавца. Вот код, который я использую - он основан на примере Worldpay:

require_once 'HTTP/Request.php';

$xml='


    
        

              20 Tulip Bulbs from MYMERCHANT Webshops

              

              
                  
                      4444333322221111
                      
                          
                      
                      J. Shopper
                      123
                      
                          
47A Queensbridge Rd CB94BQ GB
jshopper@myprovider.int [This example uses firefox 3.5.5 to demonstrate] text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)
'; $dest='https://secure-test.wp3.rbsworldpay.com/jsp/merchant/xml/paymentService.jsp'; //for sandbox //$dest='https://secure.wp3.rbsworldpay.com/jsp/merchant/xml/paymentService.jsp' //for production $req =& new HTTP_Request($dest); $req->setMethod(HTTP_REQUEST_METHOD_POST); $req->addHeader('Connection', 'keep-alive'); $req->addRawPostData($xml); $req->sendRequest(); $req->getResponseBody(); echo nl2br(htmlentities($req->getResponseBody()));

Когда я запускаю это, вот что выходит:



401 Authorization Required

Authorization Required

This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.

Может кто-нибудь помочь с этим? В документации сказано, что нужно добавить ваш IP-адрес для запросов к вашему счету Worldpay, что, как мне кажется, я сделал правильно.

Большое спасибо

UPDATE:

Я только что понял, что если я добавлю свой ID продавца и пароль xml перед URL, например:

$dest='https://MERCHANTID:PASSWORD@secure-test.wp3.rbsworldpay.com/jsp/merchant/xml/paymentService.jsp';

Тогда он аутентифицируется, так что я сам отвечу на свой вопрос.

0
задан SammyBlackBaron 5 December 2011 в 11:23
поделиться