Метод оплаты в Commerce

Главные вкладки

Аватар пользователя Uzmediaidea Uzmediaidea 2 апреля 2017 в 12:29

Здравствуйте.
Помогите подключить метод оплаты платежной системы в Commerce.
Код для интеграции:

<form action="https://my.pay.com/pay/" method="post" target="_blank">
        <button typo="submit" class="pay_with_pay"><i></i>Оплатить</button>
        <input type=”hidden” name=”KEY” value=VALUE/>
        <input type=”hidden” name=”KEY” value=VALUE/>
        …
</form>

Для взаимодействия сайта поставщика и интерфейса оплаты необходимо передать следующие параметры c помощью hidden полей.

MNT_ID
MNT_USER_ID
MNT_SERVICE_ID
MNT_TRANS_ID
MNT_TRANS_AMOUNT
MNT_TRANS_NOTE
MNT_USER_PHONE
MNT_USER_EMAIL
SIGN_TIME
SIGN_STRING
MNT_TRANS_NOTE_BASE64

Параметр SIGN_STRING формируется по алгоритму, который приведен ниже:

MD5(SIGN_TIME + SECRET_KEY + MNT_SERVICE_ID + MNT_TRANS_ID + MNT_TRANS_AMOUNT)

Пример формирования MNT_TRANS_NOTE_BASE64 и SIGN_STRING (PHP Код):

<?php<?
$secret = "XXXXX"; //Нужно заменить параметры на полученные
$date = date("Y-m-d h:i:s");
$mntID = 30; //Нужно заменить параметр на полученный ID
$mntUserID = 5; 
$serviceID = 22;  $transID = "user23151";
$transAmount = number_format(1000, 2, '.', '');
$signString = md5 ($date. $secret. $serviceID. $transID. $transAmount);
 //Список товаров из корзины (для интернет-магазинов)
$data = array(
    "foods" => array(
        "0" => array(
            "name" => "Товар 1",
            "count" => 2,
            "price" => 12000
        ),
        "1" => array(
            "name" => "Товар 2",
            "count" => 1,
            "price" => 7000
        )
    ),
    "client" => array(
        "name" => "John Doe",
        "phone" => "9989XYYYYXXYY",
        "address" => "Адрес доставки сюда"
    )
);
$encoded = base64_encode(serialize($data));
$HTML = <<<CODE
<form action="https://my.pay.com/pay/" id=”pay_form” method="post" target="_blank"> 
    <input id=”pay_amount_field” type="hidden" name="MNT_TRANS_AMOUNT" value="$transAmount" class=”pay_input” />
    <input type="hidden" name="MNT_ID" value="$mntID"/>
    <input type="hidden" name="MNT_USER_ID" value="$mntUserID"/>
    <input type="hidden" name="MNT_SERVICE_ID" value="$serviceID"/>
    <input type="hidden" name="MNT_TRANS_ID" value="$transID"/> 
    <input type="hidden" name="MNT_TRANS_NOTE" value="Оплата"/>          
    <input type="hidden" name="MNT_USER_PHONE" value="77777777777"/> 
    <input type="hidden" name="MNT_USER_EMAIL" value="mail@server.com"/> 
    <input type="hidden" name="SIGN_TIME" value="$date"/>
    <input type="hidden" name="SIGN_STRING" value="$signString"/>
    <input type="hidden" name="MNT_TRANS_NOTE_BASE64" value="$encoded"/>
    <button class=”pay_logo"><i></i>Оплатить</button>             
</form>
<div id="pay_button" class="field" style="display: none;">            
    <button typo="submit" class="pay_logo"><i></i>Оплатить</button>
</div>
CODE;
?>

Пример конечного HTML кода:

<form id="pay_form" action="https://my.pay.com/pay/" method="post" target="_blank">    
        <input id="pay_amount_field" type="hidden" name="MNT_TRANS_AMOUNT" value="1000" class="pay_input" />
        <input type="hidden" name="MNT_ID" value="46"/>
        <input type="hidden" name="MNT_USER_ID" value="4"/>
        <input type="hidden" name="MNT_SERVICE_ID" value="36"/>
        <input type="hidden" name="MNT_TRANS_ID" value="user23151"/>
        <input type="hidden" name="MNT_TRANS_NOTE" value="Оплата за услуги"/>
        <input type="hidden" name="MNT_USER_PHONE" value="777777777777"/>
        <input type="hidden" name="MNT_USER_EMAIL" value="mail@server.com"/>
        <input type="hidden" name="SIGN_TIME" value="2013-01-25 12:54:36"/>
        <input type="hidden" name="SIGN_STRING" value="8bf8051adc7bf25c75e939f04"/>
        <input type="hidden" name="MNT_TRANS_NOTE_BASE64" value="JGRhdGEgPSBhcnJheSgNCgkiZm9KA0KCQkiMCIgPT4gYXJyQoJCQkibmFQoJCQkiY291bnQiID0+IDIsDQoJCQkicHJpY2UiID0+IDEyMDAwDQoJCSksDQoJCSIxIiA9PiBhcnJheSgNCgkJCSJuYW1LQvtCy0LDRgSIgPT4gNzAwMA0KCQkpDQoJKQ0KKTs="/>
    <button class="pay_logo"><i></i>Оплатить</button>
</form>
 
<div id="pay_button" class="field" style="display: none;">                     
        <button typo="submit" class="pay_logo"><i></i>Оплатить</button>        
</div>

Комментарии