Предварительная авторизация Moneris с использованием метода DirectPost - PullRequest
0 голосов
/ 30 сентября 2019

Я интегрирую несколько шлюзов в свой продукт, но застрял на Moneris (eSelectPlus). Проблема в том, что я не могу найти переменную конфигурации, чтобы указать, какой тип типа транзакции я хочу использовать (например: PreAuth, PreAuth Complete / Capture, Purchase ... и т. Д.). Я звоню по этому URL-адресу из Post man для тестирования,

https://esqa.moneris.com/HPPDP/index.php?ps_store_id=2YN74tore5&hpp_key=dpVS4KRRNHF2&charge_total=11.00&order_id=0ec60134-7e2a-49a2-a1f7-a5e66b89862b

у большинства шлюзов есть переменная конфигурации в этом URL, я не могу найти ее в Moneris. и это ответ, который я получаю,

<form method=POST action="https://www.store.goodbarsecurity.com/checkout_confirmation.php" name="responseForm"><input type="hidden" name="response_order_id" id="response_order_id" value="mdp19272024343p77"><input type="hidden" name="date_stamp" id="date_stamp" value="2019-09-30"><input type="hidden" name="time_stamp" id="time_stamp" value="02:45:34"><input type="hidden" name="bank_transaction_id" id="bank_transaction_id" value="660148420014985290"><input type="hidden" name="charge_total" id="charge_total" value="10.00"><input type="hidden" name="bank_approval_code" id="bank_approval_code" value="755358"><input type="hidden" name="response_code" id="response_code" value="027"><input type="hidden" name="iso_code" id="iso_code" value="01"><input type="hidden" name="message" id="message" value="**APPROVED**           *                    ="><input type="hidden" name="trans_name" id="trans_name" value="purchase"><input type="hidden" name="cardholder" id="cardholder" value=""><input type="hidden" name="f4l4" id="f4l4" value="4242***4242"><input type="hidden" name="card" id="card" value="V"><input type="hidden" name="expiry_date" id="expiry_date" value=""><input type="hidden" name="result" id="result" value="1"><input type="hidden" name="transactionKey" id="transactionKey" value="aP0fIRkTqqTmpEKmtcK1hB9l9HCpQE"></form><div style="display:none;height:1px;width:1px;overflow:hidden"><img src="https://www.offlinx.com/pixel.gif?program_id=directpost&visitor_id=dpp1569825823TXKoULoow6N93uwhh" alt="moneris_logo"> </div><script>
        function init()
        {
            document.responseForm.submit();
        }

        window.onload=init;
        </script>

, как вы можете видеть, он утвержден, но Тип транзакции - "Покупка", я хочу, чтобы этот тип изменился как "PreAuth" или что-то в этом роде.

1 Ответ

0 голосов
/ 01 октября 2019

Я решил проблему, передав строку xml следующим образом:

POST запрос по этой ссылке

https://esqa.moneris.com/gateway2/servlet/MpgRequest

Использование заголовка:

Content-Type: application/xml

Для PreAuthXML-запрос будет выглядеть примерно так:

<?xml version="1.0"?>
<request>
    <store_id>yourstoreid</store_id>
    <api_token>yourapitoken</api_token>
    <purchase>
        <crypt_type>1</crypt_type>
        <order_id>a863eed8-9a79-4e92-892b-06f1bd23c68a</order_id>
        <cust_id>testclient1</cust_id>
        <amount>11.00</amount>
        <pan>4111111111111111</pan>
        <expdate>2709</expdate>
        <cust_info>
            <first_name>eselectplus</first_name>
            <last_name>test</last_name>
            <address>address1</address>
            <city>Mississauga</city>
            <country>Canada</country>
            <postal_code>ABC 123</postal_code>
            <phone_number>123456789</phone_number>
            <email>test@test.com</email>
        </cust_info>
    </purchase>
</request>

Для завершения этого запроса отправьте запрос на завершение POST по тому же URL-адресу, например:

<?xml version="1.0"?>
<request>
 <store_id>yourstoreid</store_id>
 <api_token>yourapitoken</api_token>
    <completion>
        <order_id>a863eed8-9a79-4e92-892b-06f1bd23c68a</order_id>
        <txn_number>24-0_14</txn_number>
        <comp_amount>11.00</comp_amount>
        <crypt_type>1</crypt_type>
        <cust_info>
        </cust_info>
    </completion>
</request>

Надеюсь, это кому-нибудь когда-нибудь поможет.

...