Я нашел проблемы, похожие на это. Но я хотел объяснить мой случай, так как я не нашел подходящего ответа.
У меня есть система продажи билетов, в которой я внедрил Sage Pay. Когда я сделаю транзакцию, она будет перенаправлена на SagePay, и транзакция будет завершена. Теперь, если я хочу вернуть платеж, мне нужно перейти на SagePay, войдите в систему, выберите заказ, который должен быть возвращен, а затем верните его. Поэтому вместо этого я подумал о внедрении этого в моей системе продажи билетов. Когда транзакция завершается через SagePay, генерируется код ответа, который выглядит примерно так.
Array ( [VendorTxCode] => 14-11-04-16-19-30-8989049 [VPSTxId] => {8D7FC333-9979-DA1C-32E0-AAA2CC1A31FB} [Status] => OK [StatusDetail] => 0000 : The Authorisation was Successful. [TxAuthNo] => 164996 [AVSCV2] => SECURITY CODE MATCH ONLY [AddressResult] => NOTMATCHED [PostCodeResult] => NOTMATCHED [CV2Result] => MATCHED [GiftAid] => 0 [3DSecureStatus] => NOTCHECKED [CardType] => VISA [Last4Digits] => 0006 [DeclineCode] => 00 [Amount] => 10.00 [BankAuthCode] => 999777 )
Теперь, чтобы возместить транзакцию, мне нужно иметь RelatedSecurityKey, который не отправляется SagePay. Когда я захожу в Sage Pay, получаю ключ безопасности и жесткий код, значение в моем API возврата средств, я могу вернуть транзакцию. Есть ли способ получить ключ безопасности в моей системе продажи билетов. Если так, как?
Если вы используете Сервер, вы получите ключ безопасности как часть ответа на начальную запись регистрации транзакции. Затем вы можете передать это обратно с сообщениями о возврате как RelatedSecurityKey.
Если вы используете форму, вы не получите это значение обратно. В этом случае вы можете использовать API отчетности чтобы получить ключ безопасности (команда getTransactionDetail) вместо входа в My Sage Pay.
Других решений пока нет …