Интеграция формы Sagepay - PullRequest
0 голосов
/ 04 июля 2018

Я настраиваю интеграцию формы оплаты Sage на своем сайте. Все прошло хорошо. я добился всего, что требуется, теперь я могу совершать платежи на платной основе.

ответ на возврат мудреца выглядит следующим образом.

    Array
(
    [env] => test
    [vendorName] => Vendor name
    [integrationType] => form
    [basket] => Array
        (
            [items] => Array
                (
                )

        )

[decrypt] => Array
    (
        [VendorTxCode] => kingkebab-PAYMENT-1530730472-792775742
        [VPSTxId] => {45A5E0B8-DA1A-B3CE-424A-6E8BF2C8EA05}
        [Status] => OK
        [StatusDetail] => 0000 : The Authorisation was Successful.
        [TxAuthNo] => 18306833
        [AVSCV2] => SECURITY CODE MATCH ONLY
        [AddressResult] => NOTMATCHED
        [PostCodeResult] => NOTMATCHED
        [CV2Result] => MATCHED
        [GiftAid] => 0
        [3DSecureStatus] => NOTCHECKED
        [CardType] => VISA
        [Last4Digits] => 0006
        [Surcharge] => 3.50
        [DeclineCode] => 00
        [ExpiryDate] => 1221
        [Amount] => 59.60
        [BankAuthCode] => 999777
    )

[currency] => GBP
[isSuccess] => 1
[message] => OK
[res] => Array
    (
        [vpsTxId] => {45A5E0B8-DA1A-B3CE-424A-6E8BF2C8EA05}
        [txAuthNo] => 18306833
        [Surcharge] => 3.50
        [BankAuthCode] => 999777
        [DeclineCode] => 00
        [GiftAid] => 
        [avsCv2] => SECURITY CODE MATCH ONLY
        [addressResult] => NOTMATCHED
        [postCodeResult] => NOTMATCHED
        [cv2Result] => MATCHED
        [3DSecureStatus] => NOTCHECKED
        [CAVV] => 
        [cardType] => VISA
        [last4Digits] => 0006
        [expiryDate] => 1221
        [addressStatus] => 
        [payerStatus] => 
    )

)

Но есть одна вещь, где я просто застрял. Я хочу отправить свое настраиваемое поле в зашифрованных данных о платеже шалфея и получить его обратно после успешного завершения транзакции, дать мне ответ и расшифровать его. поле, которое я хочу, похоже на номер заказа и т.д.

Может кто-нибудь, пожалуйста, помогите мне в этом.

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

Это старый, я знаю, но проблема все еще в том, что людям, возможно, придется решать.

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

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

0 голосов
/ 16 августа 2018

Если полезная нагрузка состоит из буквенно-цифровых символов и имеет длину менее 200, вы можете отправить ее в Sage Pay в поле vendordata. Это не входит в ответ на транзакцию, но затем вы можете сделать дополнительный вызов с помощью API отчетности и извлечь его таким образом ...

...