Это старый, я знаю, но проблема все еще в том, что людям, возможно, придется решать.
Вы отправляете VendorTxCode
с зашифрованными данными формы, и (в отличие от примера, приведенного здесь OP), вы делаете возвращаете VendorTxCode
в конечном результате. Этот идентификатор будет уникальным и генерируется торговым сайтом и может быть использован для идентификации исходной транзакции в хранилище. Поэтому не отправляйте идентификатор заказа, отправьте VendorTxCode
, использованный для поиска идентификатора заказа, когда пользователь вернется.
Альтернативный метод, который не совсем то, что запрашивалось, заключается в добавлении дополнительных данных в качестве параметров запроса к SuccessURL
. Он будет зашифрован на пути от до шлюза Sage Pay, но не будет зашифрован на обратном пути, поэтому может подвергаться манипуляциям. Вам нужно будет проверить его на соответствие сеансу (что делает его пустой тратой времени, когда значение также может быть в начале сеанса), либо зашифровать или подписать его отдельно, что может привести к некоторым очень длинным URL-адресам.