Как сгенерировать контрольную сумму по нажатию кнопки - PullRequest
0 голосов
/ 16 июня 2019

Я пытаюсь создать контрольную сумму для интеграции Paytm в моем приложении.

Итак, я скачал https://github.com/Paytm-Payments/Paytm_App_Checksum_Kit_NodeJs репозиторий github.

Затем на стороне сервера я создал имя папки "paytm_mobile", в которой загруженная структура выглядит следующим образом.

two muppets Затем я обновил файл "paytm_config" внутри папки "paytm" с моими данными

module.exports = {
  paytm_config: {
    MID: 'V******************3',
    WEBSITE: 'WEBSTAGING',
    CHANNEL_ID: 'WAP',
    INDUSTRY_TYPE_ID: 'Retail',
    MERCHANT_KEY : '0Un**********y3R'
    }
}

Затем, согласно шагам, указанным в приведенной выше ссылке,

  • Скопируйте папку 'paytm', index.js, router.js и server.js в каталог вашего проекта.
  • Пожалуйста, установите необходимые параметры в файле 'paytm / paytm_config.js'. Эти параметры будут получены после завершения процесса регистрации в Paytm.
  • Для URL-адреса Generate Checksum используйте регистр для '/ generate_checksum' в файле router.js. Например, URL-адрес для создания контрольной суммы может выглядеть как yoursite / generate_checksum.
  • Для URL проверки контрольной суммы используйте регистр для '/ verify_checksum' в файле router.js. Например, URL-адрес контрольной суммы проверки может выглядеть как ваш сайт / verify_checksum.

Я пытался вызвать "yoursite / generate_checksum" в соответствии с шагом 3 при нажатии кнопки в моем приложении, как показано ниже.

exports.generate_cheksum = function(){
    console.log("generate_cheksum");

    const httpModule = require("http");
    httpModule.request({
        url: "http://www.vis******ma.com/paytm_mobile/index.js",
        method: "GET"
    }).then((response) => {
        console.log(response); //[object Object]
        response.map(key=>console.log(key)); //not getting anything
    }, (e) => {
        console.log("----error");
        console.log(e);
    });
}

Но одну вещь, которую я не понял, это как назвать "generate_checksum".

  • Я знаю, что URL неверен. Так как я могу получить контрольную сумму в ответ?
  • любые другие найденные ошибки! Дайте мне знать.

1 Ответ

1 голос
/ 18 июня 2019

записать этот php-файл в любое место на сервере, например: generate_checksum.php

<?php

    require_once("encdec_paytm.php");

    define("merchantMid", "V******************3");
    // Key in your staging and production MID available in your dashboard
    define("merchantKey", "0**************R");

    // Key in your staging and production merchant key available in your dashboard
    define("orderId", "order1");
    define("channelId", "WEB");
    define("custId", "cust123");
    define("mobileNo", "7777777777");
    define("email", "username@emailprovider.com");
    define("txnAmount", "100.12");
    define("website", "WEBSTAGING");
    // This is the staging value. Production value is available in your dashboard
    define("industryTypeId", "Retail");
    // This is the staging value. Production value is available in your dashboard
    define("callbackUrl", "https://<Merchant_Response_URL>");
    $paytmParams = array();
    $paytmParams["MID"] = merchantMid;
    $paytmParams["ORDER_ID"] = orderId;
    $paytmParams["CUST_ID"] = custId;
    $paytmParams["MOBILE_NO"] = mobileNo;
    $paytmParams["EMAIL"] = email;
    $paytmParams["CHANNEL_ID"] = channelId;
    $paytmParams["TXN_AMOUNT"] = txnAmount;
    $paytmParams["WEBSITE"] = website;
    $paytmParams["INDUSTRY_TYPE_ID"] = industryTypeId;
    $paytmParams["CALLBACK_URL"] = callbackUrl;
    $paytmChecksum = getChecksumFromArray($paytmParams, merchantKey);
    $transactionURL = "https://securegw-stage.paytm.in/theia/processTransaction";
    // $transactionURL = "https://securegw.paytm.in/theia/processTransaction"; // for    production

    echo $paytmChecksum;
?>

добавить этот файл "require_once (" encdec_paytm.php ");" в этой же папке по этой ссылке

https://github.com/Paytm-Payments/Paytm_App_Checksum_Kit_PHP/blob/master/lib/encdec_paytm.php

Передача обязательных полей в php-файл остается за вами. вам нужно дать свою середину и Mkey там.

...