RelatedSecurityKey требуется в sageapy

Я завершил транзакции, после чего сервер sagepay возвращает ответ следующих значений.

    [VendorTxCode] => 14-10-31-10-49-36-196489754
[VPSTxId] => {AADB57CA-B7BF-1A70-682F-60303C2AF7E2}
[Status] => OK
[StatusDetail] => 0000 : The Authorisation was Successful.
[TxAuthNo] => 145552
[AVSCV2] => SECURITY CODE MATCH ONLY
[AddressResult] => NOTMATCHED
[PostCodeResult] => NOTMATCHED
[CV2Result] => MATCHED
[GiftAid] => 0
[3DSecureStatus] => OK
[CAVV] => AAABARR5kwAAAAAAAAAAAAAAAAA=
[CardType] => VISA
[Last4Digits] => 0006
[DeclineCode] => 00
[Amount] => 10.00
[BankAuthCode] => 999777

Я передаю вышеупомянутые параметры ввода в «Возврат транзакции«Когда я нажимаю»ВОЗВРАЩАТЬ ДЕНЬГИкнопка сервер sagepay выдает ошибку.

ОШИБКА:

VPSProtocol=3.00
Status=INVALID
StatusDetail=3033 : The RelatedSecurityKey is required.
VPSTxId={B67E6F2C-1E84-4C36-1E49-0AF89DD8B200}

Актуальный код:

 <?php
$responseArray = decode($_REQUEST['crypt']); //call to the decode method it return the human readable format
$relatedVendorTxCode = $responseArray['VendorTxCode'];
$amout = $responseArray['Amount'];
$relatedVPSTxId = $responseArray['VPSTxId'];
$relatedTxAuthNo = $responseArray['TxAuthNo'];
$vendorTxCode = 'REF'.$responseArray['VendorTxCode'];
echo "<form method='POST' id='SagePayForm' action='https://test.sagepay.com/gateway/service/refund.vsp'>
<input type='hidden' name='VPSProtocol' value= '3.00'>
<input type='hidden' name='TxType' value= 'REFUND'>
<input type='hidden' name='Vendor' value= 'protxross'>
<input type='hidden' name='Currency' value= 'GBP'>
<input type='hidden' name='Description' value= 'Description'>
<input type='hidden' name='RelatedVendorTxCode' value= '{$relatedVendorTxCode}'>
<input type='hidden' name='RelatedVPSTxId' value= '{$relatedVPSTxId}'>
<input type='hidden' name='Amount' value= '{$amout}'>
<input type='hidden' name='VendorTxCode' value= '{$vendorTxCode}'>
<input type='submit' value='REFUND'>
</form>";
?>

Как передать «RelatedSecurityKey»? Кто-нибудь может мне помочь, Как это исправить? ….

0

Решение

На основании объекта запроса, задокументированного в эта документация по Sagepay API, вам нужно передать поле с именем «RelatedSecurityKey».

Вам бы дали значение для этого как часть ответа Sagepay, когда вы впервые зарегистрировали транзакцию (в тот же момент вы получаете «NextUrl» для вашего перенаправления / iframe) — в этот момент он просто называется «SecurityKey» — Вы должны сохранить это значение в базе данных для повторного использования позже.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]