Quantcast
Channel: Drupal - commerce
Viewing all articles
Browse latest Browse all 344

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

$
0
0

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

<formaction="https://my.pay.com/pay/"method="post"target="_blank">
        <button typo="submit"class="pay_with_pay"><i></i>Оплатить</button>
        <inputtype=”hidden” name=”KEY” value=VALUE/>
        <inputtype=”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 кода:

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

Viewing all articles
Browse latest Browse all 344

Trending Articles