Код ошибки 5006 не принимает мой RedirectURL
Я пытаюсь интегрировать sagepay
с моей корзиной После того, как я отправил свою корзину на сервер оплаты sage, он, похоже, не принимает мою RedirectURL
, Кажется, что я могу подтвердить подлинность в порядке; но когда я пытаюсь отправить обратно RedirectURL
Я продолжаю получать следующее в браузере:
Error Code : 5006
Error Description : Unable to redirect to Vendor's web site. The Vendor failed to provide a RedirectionURL.
Вот мой пост из моей корзины для sagepay, чтобы инициировать платеж.
\sagepay request[ VPSProtocol ] => 3.00
\sagepay request[ TxType ] => PAYMENT
\sagepay request[ Vendor ] => myVendorName
\sagepay request[ VendorTxCode ] => 49
\sagepay request[ Amount ] => 9,215.00
\sagepay request[ Currency ] => GBP
\sagepay request[ Description ] => Our shopping cart
\sagepay request[ NotificationURL ] => http://www.example.com/path/to/notification-url/index.php
\sagepay request[ CustomerEMail ] => daithi.coombes@example.com
\sagepay request[ BillingFirstnames ] => Daithi
\sagepay request[ BillingSurname ] => Coombes
\sagepay request[ BillingAddress1 ] => Somewhere
\sagepay request[ BillingAddress2 ] => That place
\sagepay request[ BillingCity ] => Sheffield
\sagepay request[ BillingPostCode ] => xxxx
\sagepay request[ BillingCountry ] => GB
\sagepay request[ BillingState ] =>
\sagepay request[ BillingPhone ] => 0000
\sagepay request[ DeliveryFirstnames ] => Daithi
\sagepay request[ DeliverySurname ] => Coombes
\sagepay request[ DeliveryAddress1 ] => Somewhere
\sagepay request[ DeliveryAddress2 ] => That place
\sagepay request[ DeliveryCity ] => Sheffield
\sagepay request[ DeliveryPostCode ] => xxxx
\sagepay request[ DeliveryCountry ] => GB
\sagepay request[ DeliveryState ] =>
\sagepay request[ DeliveryPhone ] => 0000
Вот ответ на мой notificationURL
от sagepay (уведомление VendorTxCode
такой же, как и выше, это фактический ответ):
\sagepay response[ VPSProtocol ] => 3.00
\sagepay response[ TxType ] => PAYMENT
\sagepay response[ VendorTxCode ] => 49
\sagepay response[ VPSTxId ] => {376BBFA1-5895-AB53-37CD-D932BE1F9019}
\sagepay response[ Status ] => OK
\sagepay response[ StatusDetail ] => 0000 : The Authorisation was Successful.
\sagepay response[ TxAuthNo ] => 7605576
\sagepay response[ AVSCV2 ] => SECURITY CODE MATCH ONLY
\sagepay response[ AddressResult ] => NOTMATCHED
\sagepay response[ PostCodeResult ] => NOTMATCHED
\sagepay response[ CV2Result ] => MATCHED
\sagepay response[ GiftAid ] => 0
\sagepay response[ 3DSecureStatus ] => NOTCHECKED
\sagepay response[ CardType ] => VISA
\sagepay response[ Last4Digits ] => 0006
\sagepay response[ VPSSignature ] => 02251363205725C79A58DD175E6F96DC
\sagepay response[ DeclineCode ] => 00
\sagepay response[ ExpiryDate ] => 0519
\sagepay response[ BankAuthCode ] => 999777
Но когда мой NotificationURL
эхо следующее: \ sagepay request [Status] => OK \ sagepay request [RedirectURL] => http://www.example.com/path/to/redirection-url/redirect.php
на экране пользователя отображается сообщение об ошибке выше (код: 5006 описание: невозможно перенаправить на веб-сайт поставщика. Поставщик не смог предоставить RedirectionURL.) После нескольких попыток от sagepay до моего notificationURL
Затем он отправляет следующее:
\sagepay response[ VPSProtocol ] => 3.00
\sagepay response[ TxType ] => PAYMENT
\sagepay response[ VendorTxCode ] => 49
\sagepay response[ VPSTxId ] => {63D68B7D-5503-7695-B208-01FE14C668B4}
\sagepay response[ Status ] => ABORT
\sagepay response[ StatusDetail ] => 2008 : The Transaction timed-out.
\sagepay response[ AVSCV2 ] => DATA NOT CHECKED
\sagepay response[ AddressResult ] => NOTPROVIDED
\sagepay response[ PostCodeResult ] => NOTPROVIDED
\sagepay response[ CV2Result ] => NOTPROVIDED
\sagepay response[ GiftAid ] => 0
\sagepay response[ 3DSecureStatus ] => NOTCHECKED
\sagepay response[ VPSSignature ] => 683B1004A0A6385D48C6D7D797C3FBC8
Я хожу по кругу с документацией, и я теряюсь, что делать. Любая помощь приветствуется.
2 ответа
URL успеха:
$request['SuccessURL']=>'http://www.example.com/path/to/notification-url/index.php';
Я решил это. Мой ответ в уведомлении был неправильно закодирован, я использовал http_build_query()
вывести ответ. documentation
конкретно говорится:
Это часть POST в виде простого текста, созданная сервером на шаге выше. Кодировка должна быть в виде полей Name=Value, разделенных символами возврата каретки-возврата (CRLF).
Так что теперь в поле уведомлений теперь есть что-то вроде:
<?php
echo "Status={$_REQUEST['Status']}
RedirectURL=http://www.example.com/path/to/RedirectURL/redirect.php";
die();