{"id":16523,"date":"2023-04-08T23:46:40","date_gmt":"2023-04-08T20:16:40","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/how-to-integrate-paytm-payment-gateway-5bbf\/"},"modified":"2023-04-08T23:46:40","modified_gmt":"2023-04-08T20:16:40","slug":"how-to-integrate-paytm-payment-gateway-5bbf","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/how-to-integrate-paytm-payment-gateway-5bbf\/","title":{"rendered":"\u0686\u06af\u0648\u0646\u0647 \u062f\u0631\u06af\u0627\u0647 \u067e\u0631\u062f\u0627\u062e\u062a Paytm \u0631\u0627 \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u06a9\u0646\u06cc\u0645\u061f"},"content":{"rendered":"<div data-article-id=\"1430155\" id=\"article-body\">\n<p><strong>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0645\u0646 \u0628\u0647 \u0634\u0645\u0627 \u0646\u0634\u0627\u0646 \u062e\u0648\u0627\u0647\u0645 \u062f\u0627\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Node.js \u0648 Express\u060c \u062f\u0631\u0648\u0627\u0632\u0647 \u067e\u0631\u062f\u0627\u062e\u062a Paytm \u0631\u0627 \u062f\u0631 \u0648\u0628 \u0633\u0627\u06cc\u062a \u06cc\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0627\u062f\u063a\u0627\u0645 \u06a9\u0646\u06cc\u062f.  \u062f\u0631\u06af\u0627\u0647 \u067e\u0631\u062f\u0627\u062e\u062a Paytm \u0631\u0627\u0647\u06cc \u0627\u0645\u0646 \u0648 \u0622\u0633\u0627\u0646 \u0628\u0631\u0627\u06cc \u067e\u0630\u06cc\u0631\u0634 \u067e\u0631\u062f\u0627\u062e\u062a \u0647\u0627\u06cc \u0622\u0646\u0644\u0627\u06cc\u0646 \u0627\u0632 \u0645\u0634\u062a\u0631\u06cc\u0627\u0646 \u0634\u0645\u0627 \u0627\u0633\u062a.  \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062f\u0631\u06af\u0627\u0647 \u067e\u0631\u062f\u0627\u062e\u062a Paytm \u0628\u0631\u0627\u06cc \u067e\u0630\u06cc\u0631\u0634 \u067e\u0631\u062f\u0627\u062e\u062a\u200c\u0647\u0627 \u0627\u0632 \u0645\u0646\u0627\u0628\u0639 \u0645\u062e\u062a\u0644\u0641\u060c \u0645\u0627\u0646\u0646\u062f \u06a9\u0627\u0631\u062a\u200c\u0647\u0627\u06cc \u0646\u0642\u062f\u06cc\/\u0627\u0639\u062a\u0628\u0627\u0631\u06cc\u060c UPI\u060c Netbanking\u060c Paytm Wallet \u0648 EMI \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.  \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627 \u0648 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u0627\u062a\u06cc \u06a9\u0647 \u062f\u0631\u06af\u0627\u0647 \u067e\u0631\u062f\u0627\u062e\u062a Paytm \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0645\u0627\u0646\u0646\u062f \u0646\u0631\u062e \u0645\u0648\u0641\u0642\u06cc\u062a \u0628\u0627\u0644\u0627\u060c \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u062e\u062a\u0635\u0627\u0635\u06cc\u060c \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644\u060c \u0645\u062d\u0635\u0648\u0644\u0627\u062a \u0645\u0642\u0631\u0648\u0646 \u0628\u0647 \u0635\u0631\u0641\u0647 \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0628\u0647\u0631\u0647 \u0645\u0646\u062f \u0634\u0648\u06cc\u062f.<\/strong><\/p>\n<p><strong>\u06a9\u062f Github<\/strong> : \u0627\u06cc\u0646\u062c\u0627<\/p>\n<p>\u062d\u0627\u0644\u0627 \u0641\u0642\u0637 \u0627\u06cc\u0646 \u0645\u0631\u0627\u062d\u0644 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f: <\/p>\n<p><strong>\u06cc\u06a9 \u067e\u0648\u0634\u0647 \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u0648 \u0622\u0646 \u0631\u0627 \u062f\u0631 VS Code \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f.<\/strong><\/p>\n<ol>\n<li>\n<code>npm init -y<\/code>  (\u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0641\u0627\u06cc\u0644 package.json \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u0634\u0648\u062f)<\/li>\n<li>\n<code>npm i express nodemon<\/code>  (\u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 express \u0648 nodemon \u0646\u0635\u0628 \u0645\u06cc \u0634\u0648\u062f)<\/li>\n<li>\u0648\u0628 \u0633\u0627\u06cc\u062a paytm \u0631\u0627 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f > \u0628\u0627 \u062d\u0633\u0627\u0628 paytm \u062e\u0648\u062f \u0648\u0627\u0631\u062f \u0634\u0648\u06cc\u062f<\/li>\n<li>\u0628\u0647 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633 \u0628\u0631\u0648\u06cc\u062f<\/li>\n<li>\n<p>\u0631\u0648\u06cc API Keys \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u06cc\u0627\u060c<\/p>\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>- Go to [here](https:\/\/business.paytm.com\/integration-builder\/account-setup)\n- Copy the Merchant ID and Merchant Key\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\n<p>\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0627 \u062f\u0631 package.json \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f <code>\"start\": \"nodemon index.js\"<\/code><\/p>\n<pre class=\"highlight json\"><code><span class=\"nl\">\"scripts\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><span class=\"nl\">\"start\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"nodemon index.js\"<\/span><span class=\"w\">\n<\/span><span class=\"p\">}<\/span><span class=\"err\">,<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>\u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0628\u0647 \u0646\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>index.js<\/code> \u0648 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">express<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">express<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">https<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">https<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">qs<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">querystring<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">app<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">express<\/span><span class=\"p\">();<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">parseUrl<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">express<\/span><span class=\"p\">.<\/span><span class=\"nx\">urlencoded<\/span><span class=\"p\">({<\/span> <span class=\"na\">extended<\/span><span class=\"p\">:<\/span> <span class=\"kc\">false<\/span> <span class=\"p\">});<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">parseJson<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">express<\/span><span class=\"p\">.<\/span><span class=\"nx\">json<\/span><span class=\"p\">({<\/span> <span class=\"na\">extended<\/span><span class=\"p\">:<\/span> <span class=\"kc\">false<\/span> <span class=\"p\">});<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">PORT<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">process<\/span><span class=\"p\">.<\/span><span class=\"nx\">env<\/span><span class=\"p\">.<\/span><span class=\"nx\">PORT<\/span> <span class=\"o\">||<\/span> <span class=\"mi\">4000<\/span><span class=\"p\">;<\/span>\n\n<span class=\"nx\">app<\/span><span class=\"p\">.<\/span><span class=\"kd\">get<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">\/<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"nx\">req<\/span><span class=\"p\">,<\/span> <span class=\"nx\">res<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nx\">sendFile<\/span><span class=\"p\">(<\/span><span class=\"nx\">__dirname<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">\/index.html<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">});<\/span>\n\n<span class=\"nx\">app<\/span><span class=\"p\">.<\/span><span class=\"nx\">post<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">\/paynow<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"p\">[<\/span><span class=\"nx\">parseUrl<\/span><span class=\"p\">,<\/span> <span class=\"nx\">parseJson<\/span><span class=\"p\">],<\/span> <span class=\"p\">(<\/span><span class=\"nx\">req<\/span><span class=\"p\">,<\/span> <span class=\"nx\">res<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"c1\">\/\/ Route for making payment<\/span>\n\n  <span class=\"kd\">var<\/span> <span class=\"nx\">paymentDetails<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n    <span class=\"na\">amount<\/span><span class=\"p\">:<\/span> <span class=\"nx\">req<\/span><span class=\"p\">.<\/span><span class=\"nx\">body<\/span><span class=\"p\">.<\/span><span class=\"nx\">amount<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">customerId<\/span><span class=\"p\">:<\/span> <span class=\"nx\">req<\/span><span class=\"p\">.<\/span><span class=\"nx\">body<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">customerEmail<\/span><span class=\"p\">:<\/span> <span class=\"nx\">req<\/span><span class=\"p\">.<\/span><span class=\"nx\">body<\/span><span class=\"p\">.<\/span><span class=\"nx\">email<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">customerPhone<\/span><span class=\"p\">:<\/span> <span class=\"nx\">req<\/span><span class=\"p\">.<\/span><span class=\"nx\">body<\/span><span class=\"p\">.<\/span><span class=\"nx\">phone<\/span><span class=\"p\">,<\/span>\n  <span class=\"p\">};<\/span>\n  <span class=\"k\">if<\/span> <span class=\"p\">(<\/span>\n    <span class=\"o\">!<\/span><span class=\"nx\">paymentDetails<\/span><span class=\"p\">.<\/span><span class=\"nx\">amount<\/span> <span class=\"o\">||<\/span>\n    <span class=\"o\">!<\/span><span class=\"nx\">paymentDetails<\/span><span class=\"p\">.<\/span><span class=\"nx\">customerId<\/span> <span class=\"o\">||<\/span>\n    <span class=\"o\">!<\/span><span class=\"nx\">paymentDetails<\/span><span class=\"p\">.<\/span><span class=\"nx\">customerEmail<\/span> <span class=\"o\">||<\/span>\n    <span class=\"o\">!<\/span><span class=\"nx\">paymentDetails<\/span><span class=\"p\">.<\/span><span class=\"nx\">customerPhone<\/span>\n  <span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nx\">status<\/span><span class=\"p\">(<\/span><span class=\"mi\">400<\/span><span class=\"p\">).<\/span><span class=\"nx\">send<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Payment failed<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">params<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{};<\/span>\n    <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">MID<\/span><span class=\"dl\">\"<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">config<\/span><span class=\"p\">.<\/span><span class=\"nx\">PaytmConfig<\/span><span class=\"p\">.<\/span><span class=\"nx\">mid<\/span><span class=\"p\">;<\/span>\n    <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">WEBSITE<\/span><span class=\"dl\">\"<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">config<\/span><span class=\"p\">.<\/span><span class=\"nx\">PaytmConfig<\/span><span class=\"p\">.<\/span><span class=\"nx\">website<\/span><span class=\"p\">;<\/span>\n    <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">CHANNEL_ID<\/span><span class=\"dl\">\"<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">WEB<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n    <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">INDUSTRY_TYPE_ID<\/span><span class=\"dl\">\"<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">Retail<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n    <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">ORDER_ID<\/span><span class=\"dl\">\"<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">TEST_<\/span><span class=\"dl\">\"<\/span> <span class=\"o\">+<\/span> <span class=\"k\">new<\/span> <span class=\"nb\">Date<\/span><span class=\"p\">().<\/span><span class=\"nx\">getTime<\/span><span class=\"p\">();<\/span>\n    <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">CUST_ID<\/span><span class=\"dl\">\"<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">paymentDetails<\/span><span class=\"p\">.<\/span><span class=\"nx\">customerId<\/span><span class=\"p\">;<\/span>\n    <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">TXN_AMOUNT<\/span><span class=\"dl\">\"<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">paymentDetails<\/span><span class=\"p\">.<\/span><span class=\"nx\">amount<\/span><span class=\"p\">;<\/span>\n    <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">CALLBACK_URL<\/span><span class=\"dl\">\"<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">http:\/\/localhost:3000\/callback<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n    <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">EMAIL<\/span><span class=\"dl\">\"<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">paymentDetails<\/span><span class=\"p\">.<\/span><span class=\"nx\">customerEmail<\/span><span class=\"p\">;<\/span>\n    <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">MOBILE_NO<\/span><span class=\"dl\">\"<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">paymentDetails<\/span><span class=\"p\">.<\/span><span class=\"nx\">customerPhone<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"nx\">checksum_lib<\/span><span class=\"p\">.<\/span><span class=\"nx\">genchecksum<\/span><span class=\"p\">(<\/span>\n      <span class=\"nx\">params<\/span><span class=\"p\">,<\/span>\n      <span class=\"nx\">config<\/span><span class=\"p\">.<\/span><span class=\"nx\">PaytmConfig<\/span><span class=\"p\">.<\/span><span class=\"nx\">key<\/span><span class=\"p\">,<\/span>\n      <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">,<\/span> <span class=\"nx\">checksum<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"kd\">var<\/span> <span class=\"nx\">txn_url<\/span> <span class=\"o\">=<\/span>\n          <span class=\"dl\">\"<\/span><span class=\"s2\">https:\/\/securegw-stage.paytm.in\/theia\/processTransaction<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ for staging<\/span>\n        <span class=\"c1\">\/\/ var txn_url = \"https:\/\/securegw.paytm.in\/theia\/processTransaction\"; \/\/ for production<\/span>\n\n        <span class=\"kd\">var<\/span> <span class=\"nx\">form_fields<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"\"<\/span><span class=\"p\">;<\/span>\n        <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"kd\">var<\/span> <span class=\"nx\">x<\/span> <span class=\"k\">in<\/span> <span class=\"nx\">params<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n          <span class=\"nx\">form_fields<\/span> <span class=\"o\">+=<\/span>\n            <span class=\"dl\">\"<\/span><span class=\"s2\">&lt;input type=\"hidden\" name=\"<\/span><span class=\"dl\">\"<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">x<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">\" value=\"<\/span><span class=\"dl\">\"<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"nx\">x<\/span><span class=\"p\">]<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">\" &gt;<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>\n        <span class=\"nx\">form_fields<\/span> <span class=\"o\">+=<\/span>\n          <span class=\"dl\">\"<\/span><span class=\"s2\">&lt;input type=\"hidden\" name=\"CHECKSUMHASH\" value=\"<\/span><span class=\"dl\">\"<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">checksum<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">\" &gt;<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n\n        <span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nx\">writeHead<\/span><span class=\"p\">(<\/span><span class=\"mi\">200<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">Content-Type<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">text\/html<\/span><span class=\"dl\">\"<\/span> <span class=\"p\">});<\/span>\n        <span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nx\">write<\/span><span class=\"p\">(<\/span>\n          <span class=\"dl\">'<\/span><span class=\"s1\">&lt;html&gt;&lt;head&gt;&lt;title&gt;Merchant Checkout Page&lt;\/title&gt;&lt;\/head&gt;&lt;body&gt;&lt;center&gt;&lt;h1&gt;Please do not refresh this page...&lt;\/h1&gt;&lt;\/center&gt;&lt;form method=\"post\" action=\"<\/span><span class=\"dl\">'<\/span> <span class=\"o\">+<\/span>\n            <span class=\"nx\">txn_url<\/span> <span class=\"o\">+<\/span>\n            <span class=\"dl\">'<\/span><span class=\"s1\">\" name=\"f1\"&gt;<\/span><span class=\"dl\">'<\/span> <span class=\"o\">+<\/span>\n            <span class=\"nx\">form_fields<\/span> <span class=\"o\">+<\/span>\n            <span class=\"dl\">'<\/span><span class=\"s1\">&lt;\/form&gt;&lt;script type=\"text\/javascript\"&gt;document.f1.submit();&lt;\/script&gt;&lt;\/body&gt;&lt;\/html&gt;<\/span><span class=\"dl\">'<\/span>\n        <span class=\"p\">);<\/span>\n        <span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nx\">end<\/span><span class=\"p\">();<\/span>\n      <span class=\"p\">}<\/span>\n    <span class=\"p\">);<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">});<\/span>\n\n<span class=\"nx\">app<\/span><span class=\"p\">.<\/span><span class=\"nx\">post<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">\/callback<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"nx\">req<\/span><span class=\"p\">,<\/span> <span class=\"nx\">res<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"c1\">\/\/ Route for verifiying payment<\/span>\n\n  <span class=\"kd\">var<\/span> <span class=\"nx\">body<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"\"<\/span><span class=\"p\">;<\/span>\n\n  <span class=\"nx\">req<\/span><span class=\"p\">.<\/span><span class=\"nx\">on<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">data<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">body<\/span> <span class=\"o\">+=<\/span> <span class=\"nx\">data<\/span><span class=\"p\">;<\/span>\n  <span class=\"p\">});<\/span>\n\n  <span class=\"nx\">req<\/span><span class=\"p\">.<\/span><span class=\"nx\">on<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">end<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">html<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"\"<\/span><span class=\"p\">;<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">post_data<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">qs<\/span><span class=\"p\">.<\/span><span class=\"nx\">parse<\/span><span class=\"p\">(<\/span><span class=\"nx\">body<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ received params in callback<\/span>\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Callback Response: <\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"nx\">post_data<\/span><span class=\"p\">,<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">n<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ verify the checksum<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">checksumhash<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">post_data<\/span><span class=\"p\">.<\/span><span class=\"nx\">CHECKSUMHASH<\/span><span class=\"p\">;<\/span>\n    <span class=\"c1\">\/\/ delete post_data.CHECKSUMHASH;<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">result<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">checksum_lib<\/span><span class=\"p\">.<\/span><span class=\"nx\">verifychecksum<\/span><span class=\"p\">(<\/span>\n      <span class=\"nx\">post_data<\/span><span class=\"p\">,<\/span>\n      <span class=\"nx\">config<\/span><span class=\"p\">.<\/span><span class=\"nx\">PaytmConfig<\/span><span class=\"p\">.<\/span><span class=\"nx\">key<\/span><span class=\"p\">,<\/span>\n      <span class=\"nx\">checksumhash<\/span>\n    <span class=\"p\">);<\/span>\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Checksum Result =&gt; <\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"nx\">result<\/span><span class=\"p\">,<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">n<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Send Server-to-Server request to verify Order Status<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">params<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span> <span class=\"na\">MID<\/span><span class=\"p\">:<\/span> <span class=\"nx\">config<\/span><span class=\"p\">.<\/span><span class=\"nx\">PaytmConfig<\/span><span class=\"p\">.<\/span><span class=\"nx\">mid<\/span><span class=\"p\">,<\/span> <span class=\"na\">ORDERID<\/span><span class=\"p\">:<\/span> <span class=\"nx\">post_data<\/span><span class=\"p\">.<\/span><span class=\"nx\">ORDERID<\/span> <span class=\"p\">};<\/span>\n\n    <span class=\"nx\">checksum_lib<\/span><span class=\"p\">.<\/span><span class=\"nx\">genchecksum<\/span><span class=\"p\">(<\/span>\n      <span class=\"nx\">params<\/span><span class=\"p\">,<\/span>\n      <span class=\"nx\">config<\/span><span class=\"p\">.<\/span><span class=\"nx\">PaytmConfig<\/span><span class=\"p\">.<\/span><span class=\"nx\">key<\/span><span class=\"p\">,<\/span>\n      <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">,<\/span> <span class=\"nx\">checksum<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nx\">params<\/span><span class=\"p\">.<\/span><span class=\"nx\">CHECKSUMHASH<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">checksum<\/span><span class=\"p\">;<\/span>\n        <span class=\"nx\">post_data<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">JsonData=<\/span><span class=\"dl\">\"<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">JSON<\/span><span class=\"p\">.<\/span><span class=\"nx\">stringify<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">);<\/span>\n\n        <span class=\"kd\">var<\/span> <span class=\"nx\">options<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n          <span class=\"na\">hostname<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">securegw-stage.paytm.in<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"c1\">\/\/ for staging<\/span>\n          <span class=\"c1\">\/\/ hostname: 'securegw.paytm.in', \/\/ for production<\/span>\n          <span class=\"na\">port<\/span><span class=\"p\">:<\/span> <span class=\"mi\">443<\/span><span class=\"p\">,<\/span>\n          <span class=\"na\">path<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">\/merchant-status\/getTxnStatus<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n          <span class=\"na\">method<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">POST<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n          <span class=\"na\">headers<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n            <span class=\"dl\">\"<\/span><span class=\"s2\">Content-Type<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">application\/x-www-form-urlencoded<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n            <span class=\"dl\">\"<\/span><span class=\"s2\">Content-Length<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"nx\">post_data<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span><span class=\"p\">,<\/span>\n          <span class=\"p\">},<\/span>\n        <span class=\"p\">};<\/span>\n\n        <span class=\"c1\">\/\/ Set up the request<\/span>\n        <span class=\"kd\">var<\/span> <span class=\"nx\">response<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"\"<\/span><span class=\"p\">;<\/span>\n        <span class=\"kd\">var<\/span> <span class=\"nx\">post_req<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">https<\/span><span class=\"p\">.<\/span><span class=\"nx\">request<\/span><span class=\"p\">(<\/span><span class=\"nx\">options<\/span><span class=\"p\">,<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">post_res<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n          <span class=\"nx\">post_res<\/span><span class=\"p\">.<\/span><span class=\"nx\">on<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">data<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">chunk<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n            <span class=\"nx\">response<\/span> <span class=\"o\">+=<\/span> <span class=\"nx\">chunk<\/span><span class=\"p\">;<\/span>\n          <span class=\"p\">});<\/span>\n\n          <span class=\"nx\">post_res<\/span><span class=\"p\">.<\/span><span class=\"nx\">on<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">end<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n            <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">S2S Response: <\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"nx\">response<\/span><span class=\"p\">,<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">n<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n\n            <span class=\"kd\">var<\/span> <span class=\"nx\">_result<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">JSON<\/span><span class=\"p\">.<\/span><span class=\"nx\">parse<\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span><span class=\"p\">);<\/span>\n            <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">_result<\/span><span class=\"p\">.<\/span><span class=\"nx\">STATUS<\/span> <span class=\"o\">==<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">TXN_SUCCESS<\/span><span class=\"dl\">\"<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n              <span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nx\">send<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">payment sucess<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n            <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n              <span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nx\">send<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">payment failed<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n            <span class=\"p\">}<\/span>\n          <span class=\"p\">});<\/span>\n        <span class=\"p\">});<\/span>\n\n        <span class=\"c1\">\/\/ post the data<\/span>\n        <span class=\"nx\">post_req<\/span><span class=\"p\">.<\/span><span class=\"nx\">write<\/span><span class=\"p\">(<\/span><span class=\"nx\">post_data<\/span><span class=\"p\">);<\/span>\n        <span class=\"nx\">post_req<\/span><span class=\"p\">.<\/span><span class=\"nx\">end<\/span><span class=\"p\">();<\/span>\n      <span class=\"p\">}<\/span>\n    <span class=\"p\">);<\/span>\n  <span class=\"p\">});<\/span>\n<span class=\"p\">});<\/span>\n\n<span class=\"nx\">app<\/span><span class=\"p\">.<\/span><span class=\"nx\">listen<\/span><span class=\"p\">(<\/span><span class=\"nx\">PORT<\/span><span class=\"p\">,<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">`App is listening on Port <\/span><span class=\"p\">${<\/span><span class=\"nx\">PORT<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">});<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0628\u0647 \u0646\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>index.html<\/code> \u0648 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f.\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight html\"><code><span class=\"cp\">&lt;!DOCTYPE html&gt;<\/span>\n<span class=\"nt\">&lt;html<\/span> <span class=\"na\">lang=<\/span><span class=\"s\">\"en\"<\/span> <span class=\"na\">dir=<\/span><span class=\"s\">\"ltr\"<\/span><span class=\"nt\">&gt;<\/span>\n  <span class=\"nt\">&lt;head&gt;<\/span>\n    <span class=\"nt\">&lt;meta<\/span> <span class=\"na\">charset=<\/span><span class=\"s\">\"utf-8\"<\/span><span class=\"nt\">&gt;<\/span>\n    <span class=\"nt\">&lt;link<\/span> <span class=\"na\">rel=<\/span><span class=\"s\">\"stylesheet\"<\/span> <span class=\"na\">href=<\/span><span class=\"s\">\"https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.5.0\/css\/bootstrap.min.css\"<\/span> <span class=\"na\">integrity=<\/span><span class=\"s\">\"sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk\"<\/span> <span class=\"na\">crossorigin=<\/span><span class=\"s\">\"anonymous\"<\/span><span class=\"nt\">&gt;<\/span>\n    <span class=\"nt\">&lt;title&gt;<\/span>Paytm-Nodejs<span class=\"nt\">&lt;\/title&gt;<\/span>\n  <span class=\"nt\">&lt;\/head&gt;<\/span>\n  <span class=\"nt\">&lt;body<\/span> <span class=\"na\">style=<\/span><span class=\"s\">\"background-color:#f5f3ef\"<\/span><span class=\"nt\">&gt;<\/span>\n    <span class=\"nt\">&lt;div<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"row my-5\"<\/span><span class=\"nt\">&gt;<\/span>\n      <span class=\"nt\">&lt;div<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"col-md-4 offset-md-4\"<\/span><span class=\"nt\">&gt;<\/span>\n        <span class=\"nt\">&lt;div<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"card\"<\/span><span class=\"nt\">&gt;<\/span>\n          <span class=\"nt\">&lt;div<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"card-body\"<\/span><span class=\"nt\">&gt;<\/span>\n            <span class=\"nt\">&lt;form<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"\"<\/span> <span class=\"na\">action=<\/span><span class=\"s\">\"\/paynow\"<\/span> <span class=\"na\">method=<\/span><span class=\"s\">\"post\"<\/span><span class=\"nt\">&gt;<\/span>\n              <span class=\"nt\">&lt;div<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"form-group\"<\/span><span class=\"nt\">&gt;<\/span>\n                <span class=\"nt\">&lt;label<\/span> <span class=\"na\">for=<\/span><span class=\"s\">\"\"<\/span><span class=\"nt\">&gt;<\/span>Name: <span class=\"nt\">&lt;\/label&gt;<\/span>\n                <span class=\"nt\">&lt;input<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"form-control\"<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"text\"<\/span> <span class=\"na\">name=<\/span><span class=\"s\">\"name\"<\/span> <span class=\"na\">value=<\/span><span class=\"s\">\"\"<\/span><span class=\"nt\">&gt;<\/span>\n              <span class=\"nt\">&lt;\/div&gt;<\/span>\n              <span class=\"nt\">&lt;div<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"form-group\"<\/span><span class=\"nt\">&gt;<\/span>\n                <span class=\"nt\">&lt;label<\/span> <span class=\"na\">for=<\/span><span class=\"s\">\"\"<\/span><span class=\"nt\">&gt;<\/span>Email: <span class=\"nt\">&lt;\/label&gt;<\/span>\n                <span class=\"nt\">&lt;input<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"form-control\"<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"text\"<\/span> <span class=\"na\">name=<\/span><span class=\"s\">\"email\"<\/span> <span class=\"na\">value=<\/span><span class=\"s\">\"\"<\/span><span class=\"nt\">&gt;<\/span>\n              <span class=\"nt\">&lt;\/div&gt;<\/span>\n              <span class=\"nt\">&lt;div<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"form-group\"<\/span><span class=\"nt\">&gt;<\/span>\n                <span class=\"nt\">&lt;label<\/span> <span class=\"na\">for=<\/span><span class=\"s\">\"\"<\/span><span class=\"nt\">&gt;<\/span>Phone: <span class=\"nt\">&lt;\/label&gt;<\/span>\n                <span class=\"nt\">&lt;input<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"form-control\"<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"text\"<\/span> <span class=\"na\">name=<\/span><span class=\"s\">\"phone\"<\/span> <span class=\"na\">value=<\/span><span class=\"s\">\"\"<\/span><span class=\"nt\">&gt;<\/span>\n              <span class=\"nt\">&lt;\/div&gt;<\/span>\n                <span class=\"nt\">&lt;div<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"form-group\"<\/span><span class=\"nt\">&gt;<\/span>\n                <span class=\"nt\">&lt;label<\/span> <span class=\"na\">for=<\/span><span class=\"s\">\"\"<\/span><span class=\"nt\">&gt;<\/span>Amount: <span class=\"nt\">&lt;\/label&gt;<\/span>\n                <span class=\"nt\">&lt;input<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"form-control\"<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"text\"<\/span> <span class=\"na\">name=<\/span><span class=\"s\">\"amount\"<\/span> <span class=\"na\">value=<\/span><span class=\"s\">\"\"<\/span><span class=\"nt\">&gt;<\/span>\n              <span class=\"nt\">&lt;\/div&gt;<\/span>\n              <span class=\"nt\">&lt;div<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"form-group\"<\/span><span class=\"nt\">&gt;<\/span>\n                <span class=\"nt\">&lt;button<\/span> <span class=\"na\">class=<\/span><span class=\"s\">\"btn form-control btn-primary\"<\/span><span class=\"nt\">&gt;<\/span>Pay Now<span class=\"nt\">&lt;\/button&gt;<\/span>\n              <span class=\"nt\">&lt;\/div&gt;<\/span>\n            <span class=\"nt\">&lt;\/form&gt;<\/span>\n          <span class=\"nt\">&lt;\/div&gt;<\/span>\n        <span class=\"nt\">&lt;\/div&gt;<\/span>\n      <span class=\"nt\">&lt;\/div&gt;<\/span>\n    <span class=\"nt\">&lt;\/div&gt;<\/span>\n  <span class=\"nt\">&lt;\/body&gt;<\/span>\n<span class=\"nt\">&lt;\/html&gt;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\u0627\u0635\u0627\u0628\u062a <code>npm start<\/code> \u0628\u0631\u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0633\u0631\u0648\u0631<\/li>\n<\/ol>\n<ul>\n<li>\u0645\u0631\u0648\u0631\u06af\u0631 \u0641\u0631\u0645 &#8220;\u0646\u0627\u0645 \u0634\u0645\u0627\u0631\u0647 \u062a\u0644\u0641\u0646 \u0627\u06cc\u0645\u06cc\u0644&#8221; \u0631\u0627 \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc \u062f\u0647\u062f.<\/li>\n<\/ul>\n<blockquote>\n<p>\u0627\u06af\u0631 \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0641\u0627\u06cc\u0644 html \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f\u060c \u062f\u0631 \u0641\u0631\u0645 \u0639\u0645\u0644 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u06cc\u062f <code>\/paynow<\/code> \u0648 \u0631\u0648\u0634 \u0627\u0633\u062a <code>post<\/code> \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0628\u0647 \u0633\u0631\u0648\u0631 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0633\u0631\u0648\u0631 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0628\u0647 \u0633\u0631\u0648\u0631 paytm \u0648 \u0633\u0631\u0648\u0631 paytm \u067e\u0627\u0633\u062e \u0631\u0627 \u0628\u0647 \u0633\u0631\u0648\u0631 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0633\u0631\u0648\u0631 \u067e\u0627\u0633\u062e \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u0631\u0648\u0631\u06af\u0631 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f. <\/p>\n<\/blockquote>\n<ol>\n<li>\u0648 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u062f <code>Paytm<\/code> \u067e\u0648\u0634\u0647 \u0648 \u062f\u0627\u062e\u0644 \u0622\u0646 \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>checksum.js<\/code> \u0641\u0627\u06cc\u0644 \u0648 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u062f<\/li>\n<\/ol>\n<p><code>Paytm\/checksum.js<\/code><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"dl\">\"<\/span><span class=\"s2\">use strict<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">var<\/span> <span class=\"nx\">crypt<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">.\/crypt<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n<span class=\"kd\">var<\/span> <span class=\"nx\">util<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">util<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n<span class=\"kd\">var<\/span> <span class=\"nx\">crypto<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">crypto<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n\n<span class=\"c1\">\/\/mandatory flag: when it set, only mandatory parameters are added to checksum<\/span>\n\n<span class=\"kd\">function<\/span> <span class=\"nx\">paramsToString<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">,<\/span> <span class=\"nx\">mandatoryflag<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">var<\/span> <span class=\"nx\">data<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">''<\/span><span class=\"p\">;<\/span>\n  <span class=\"kd\">var<\/span> <span class=\"nx\">tempKeys<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">Object<\/span><span class=\"p\">.<\/span><span class=\"nx\">keys<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">);<\/span>\n  <span class=\"nx\">tempKeys<\/span><span class=\"p\">.<\/span><span class=\"nx\">sort<\/span><span class=\"p\">();<\/span>\n  <span class=\"nx\">tempKeys<\/span><span class=\"p\">.<\/span><span class=\"nx\">forEach<\/span><span class=\"p\">(<\/span><span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">key<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">var<\/span> <span class=\"nx\">n<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">].<\/span><span class=\"nx\">includes<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">REFUND<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span> \n   <span class=\"kd\">var<\/span> <span class=\"nx\">m<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">].<\/span><span class=\"nx\">includes<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">|<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>  \n        <span class=\"k\">if<\/span><span class=\"p\">(<\/span><span class=\"nx\">n<\/span> <span class=\"o\">==<\/span> <span class=\"kc\">true<\/span> <span class=\"p\">)<\/span>\n        <span class=\"p\">{<\/span>\n          <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"\"<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>\n          <span class=\"k\">if<\/span><span class=\"p\">(<\/span><span class=\"nx\">m<\/span> <span class=\"o\">==<\/span> <span class=\"kc\">true<\/span><span class=\"p\">)<\/span>\n        <span class=\"p\">{<\/span>\n          <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"\"<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>  \n    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">key<\/span> <span class=\"o\">!==<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">CHECKSUMHASH<\/span><span class=\"dl\">'<\/span> <span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">===<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">null<\/span><span class=\"dl\">'<\/span><span class=\"p\">)<\/span> <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">''<\/span><span class=\"p\">;<\/span>\n      <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"nx\">mandatoryflag<\/span> <span class=\"o\">||<\/span> <span class=\"nx\">mandatoryParams<\/span><span class=\"p\">.<\/span><span class=\"nx\">indexOf<\/span><span class=\"p\">(<\/span><span class=\"nx\">key<\/span><span class=\"p\">)<\/span> <span class=\"o\">!==<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nx\">data<\/span> <span class=\"o\">+=<\/span> <span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">|<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n      <span class=\"p\">}<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">});<\/span>\n  <span class=\"k\">return<\/span> <span class=\"nx\">data<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">}<\/span>\n\n\n<span class=\"kd\">function<\/span> <span class=\"nx\">genchecksum<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">,<\/span> <span class=\"nx\">key<\/span><span class=\"p\">,<\/span> <span class=\"nx\">cb<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">var<\/span> <span class=\"nx\">data<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">paramsToString<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">);<\/span>\n<span class=\"nx\">crypt<\/span><span class=\"p\">.<\/span><span class=\"nx\">gen_salt<\/span><span class=\"p\">(<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">,<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">sha256<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypto<\/span><span class=\"p\">.<\/span><span class=\"nx\">createHash<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">sha256<\/span><span class=\"dl\">'<\/span><span class=\"p\">).<\/span><span class=\"nx\">update<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">).<\/span><span class=\"nx\">digest<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">hex<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">check_sum<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">sha256<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">;<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">encrypted<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypt<\/span><span class=\"p\">.<\/span><span class=\"nx\">encrypt<\/span><span class=\"p\">(<\/span><span class=\"nx\">check_sum<\/span><span class=\"p\">,<\/span> <span class=\"nx\">key<\/span><span class=\"p\">);<\/span>\n    <span class=\"nx\">cb<\/span><span class=\"p\">(<\/span><span class=\"kc\">undefined<\/span><span class=\"p\">,<\/span> <span class=\"nx\">encrypted<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">});<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"kd\">function<\/span> <span class=\"nx\">genchecksumbystring<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">,<\/span> <span class=\"nx\">key<\/span><span class=\"p\">,<\/span> <span class=\"nx\">cb<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n\n  <span class=\"nx\">crypt<\/span><span class=\"p\">.<\/span><span class=\"nx\">gen_salt<\/span><span class=\"p\">(<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">,<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">sha256<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypto<\/span><span class=\"p\">.<\/span><span class=\"nx\">createHash<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">sha256<\/span><span class=\"dl\">'<\/span><span class=\"p\">).<\/span><span class=\"nx\">update<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">|<\/span><span class=\"dl\">'<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">).<\/span><span class=\"nx\">digest<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">hex<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">check_sum<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">sha256<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">;<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">encrypted<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypt<\/span><span class=\"p\">.<\/span><span class=\"nx\">encrypt<\/span><span class=\"p\">(<\/span><span class=\"nx\">check_sum<\/span><span class=\"p\">,<\/span> <span class=\"nx\">key<\/span><span class=\"p\">);<\/span>\n\n     <span class=\"kd\">var<\/span> <span class=\"nx\">CHECKSUMHASH<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">encodeURIComponent<\/span><span class=\"p\">(<\/span><span class=\"nx\">encrypted<\/span><span class=\"p\">);<\/span>\n     <span class=\"nx\">CHECKSUMHASH<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">encrypted<\/span><span class=\"p\">;<\/span>\n    <span class=\"nx\">cb<\/span><span class=\"p\">(<\/span><span class=\"kc\">undefined<\/span><span class=\"p\">,<\/span> <span class=\"nx\">CHECKSUMHASH<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">});<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"kd\">function<\/span> <span class=\"nx\">verifychecksum<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">,<\/span> <span class=\"nx\">key<\/span><span class=\"p\">,<\/span> <span class=\"nx\">checksumhash<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">var<\/span> <span class=\"nx\">data<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">paramsToString<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">,<\/span> <span class=\"kc\">false<\/span><span class=\"p\">);<\/span>\n\n  <span class=\"c1\">\/\/TODO: after PG fix on thier side remove below two lines<\/span>\n  <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"k\">typeof<\/span> <span class=\"nx\">checksumhash<\/span> <span class=\"o\">!==<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">undefined<\/span><span class=\"dl\">\"<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">checksumhash<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">checksumhash<\/span><span class=\"p\">.<\/span><span class=\"nx\">replace<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">n<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"dl\">''<\/span><span class=\"p\">);<\/span>\n    <span class=\"nx\">checksumhash<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">checksumhash<\/span><span class=\"p\">.<\/span><span class=\"nx\">replace<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">r<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"dl\">''<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">temp<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">decodeURIComponent<\/span><span class=\"p\">(<\/span><span class=\"nx\">checksumhash<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">checksum<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypt<\/span><span class=\"p\">.<\/span><span class=\"nx\">decrypt<\/span><span class=\"p\">(<\/span><span class=\"nx\">temp<\/span><span class=\"p\">,<\/span> <span class=\"nx\">key<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">salt<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">checksum<\/span><span class=\"p\">.<\/span><span class=\"nx\">substr<\/span><span class=\"p\">(<\/span><span class=\"nx\">checksum<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">4<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">sha256<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">checksum<\/span><span class=\"p\">.<\/span><span class=\"nx\">substr<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"nx\">checksum<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">4<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">hash<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypto<\/span><span class=\"p\">.<\/span><span class=\"nx\">createHash<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">sha256<\/span><span class=\"dl\">'<\/span><span class=\"p\">).<\/span><span class=\"nx\">update<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">).<\/span><span class=\"nx\">digest<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">hex<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">hash<\/span> <span class=\"o\">===<\/span> <span class=\"nx\">sha256<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"k\">return<\/span> <span class=\"kc\">true<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nx\">util<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">checksum is wrong<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n      <span class=\"k\">return<\/span> <span class=\"kc\">false<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">util<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">checksum not found<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">return<\/span> <span class=\"kc\">false<\/span><span class=\"p\">;<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"kd\">function<\/span> <span class=\"nx\">verifychecksumbystring<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">,<\/span> <span class=\"nx\">key<\/span><span class=\"p\">,<\/span><span class=\"nx\">checksumhash<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n\n    <span class=\"kd\">var<\/span> <span class=\"nx\">checksum<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypt<\/span><span class=\"p\">.<\/span><span class=\"nx\">decrypt<\/span><span class=\"p\">(<\/span><span class=\"nx\">checksumhash<\/span><span class=\"p\">,<\/span> <span class=\"nx\">key<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">salt<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">checksum<\/span><span class=\"p\">.<\/span><span class=\"nx\">substr<\/span><span class=\"p\">(<\/span><span class=\"nx\">checksum<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">4<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">sha256<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">checksum<\/span><span class=\"p\">.<\/span><span class=\"nx\">substr<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"nx\">checksum<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">4<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">hash<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypto<\/span><span class=\"p\">.<\/span><span class=\"nx\">createHash<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">sha256<\/span><span class=\"dl\">'<\/span><span class=\"p\">).<\/span><span class=\"nx\">update<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">|<\/span><span class=\"dl\">'<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">).<\/span><span class=\"nx\">digest<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">hex<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">hash<\/span> <span class=\"o\">===<\/span> <span class=\"nx\">sha256<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"k\">return<\/span> <span class=\"kc\">true<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nx\">util<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">checksum is wrong<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n      <span class=\"k\">return<\/span> <span class=\"kc\">false<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">}<\/span> \n\n<span class=\"kd\">function<\/span> <span class=\"nx\">genchecksumforrefund<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">,<\/span> <span class=\"nx\">key<\/span><span class=\"p\">,<\/span> <span class=\"nx\">cb<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">var<\/span> <span class=\"nx\">data<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">paramsToStringrefund<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">);<\/span>\n<span class=\"nx\">crypt<\/span><span class=\"p\">.<\/span><span class=\"nx\">gen_salt<\/span><span class=\"p\">(<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">,<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">sha256<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypto<\/span><span class=\"p\">.<\/span><span class=\"nx\">createHash<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">sha256<\/span><span class=\"dl\">'<\/span><span class=\"p\">).<\/span><span class=\"nx\">update<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">).<\/span><span class=\"nx\">digest<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">hex<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">check_sum<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">sha256<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">;<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">encrypted<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypt<\/span><span class=\"p\">.<\/span><span class=\"nx\">encrypt<\/span><span class=\"p\">(<\/span><span class=\"nx\">check_sum<\/span><span class=\"p\">,<\/span> <span class=\"nx\">key<\/span><span class=\"p\">);<\/span>\n      <span class=\"nx\">params<\/span><span class=\"p\">.<\/span><span class=\"nx\">CHECKSUM<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">encodeURIComponent<\/span><span class=\"p\">(<\/span><span class=\"nx\">encrypted<\/span><span class=\"p\">);<\/span>\n    <span class=\"nx\">cb<\/span><span class=\"p\">(<\/span><span class=\"kc\">undefined<\/span><span class=\"p\">,<\/span> <span class=\"nx\">params<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">});<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"kd\">function<\/span> <span class=\"nx\">paramsToStringrefund<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">,<\/span> <span class=\"nx\">mandatoryflag<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">var<\/span> <span class=\"nx\">data<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">''<\/span><span class=\"p\">;<\/span>\n  <span class=\"kd\">var<\/span> <span class=\"nx\">tempKeys<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">Object<\/span><span class=\"p\">.<\/span><span class=\"nx\">keys<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">);<\/span>\n  <span class=\"nx\">tempKeys<\/span><span class=\"p\">.<\/span><span class=\"nx\">sort<\/span><span class=\"p\">();<\/span>\n  <span class=\"nx\">tempKeys<\/span><span class=\"p\">.<\/span><span class=\"nx\">forEach<\/span><span class=\"p\">(<\/span><span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">key<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n   <span class=\"kd\">var<\/span> <span class=\"nx\">m<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">].<\/span><span class=\"nx\">includes<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">|<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>  \n          <span class=\"k\">if<\/span><span class=\"p\">(<\/span><span class=\"nx\">m<\/span> <span class=\"o\">==<\/span> <span class=\"kc\">true<\/span><span class=\"p\">)<\/span>\n        <span class=\"p\">{<\/span>\n          <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"\"<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>  \n    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">key<\/span> <span class=\"o\">!==<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">CHECKSUMHASH<\/span><span class=\"dl\">'<\/span> <span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">===<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">null<\/span><span class=\"dl\">'<\/span><span class=\"p\">)<\/span> <span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">''<\/span><span class=\"p\">;<\/span>\n      <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"nx\">mandatoryflag<\/span> <span class=\"o\">||<\/span> <span class=\"nx\">mandatoryParams<\/span><span class=\"p\">.<\/span><span class=\"nx\">indexOf<\/span><span class=\"p\">(<\/span><span class=\"nx\">key<\/span><span class=\"p\">)<\/span> <span class=\"o\">!==<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nx\">data<\/span> <span class=\"o\">+=<\/span> <span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">|<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n      <span class=\"p\">}<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">});<\/span>\n  <span class=\"k\">return<\/span> <span class=\"nx\">data<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"nx\">module<\/span><span class=\"p\">.<\/span><span class=\"nx\">exports<\/span><span class=\"p\">.<\/span><span class=\"nx\">genchecksum<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">genchecksum<\/span><span class=\"p\">;<\/span>\n<span class=\"nx\">module<\/span><span class=\"p\">.<\/span><span class=\"nx\">exports<\/span><span class=\"p\">.<\/span><span class=\"nx\">verifychecksum<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">verifychecksum<\/span><span class=\"p\">;<\/span>\n<span class=\"nx\">module<\/span><span class=\"p\">.<\/span><span class=\"nx\">exports<\/span><span class=\"p\">.<\/span><span class=\"nx\">verifychecksumbystring<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">verifychecksumbystring<\/span><span class=\"p\">;<\/span>\n<span class=\"nx\">module<\/span><span class=\"p\">.<\/span><span class=\"nx\">exports<\/span><span class=\"p\">.<\/span><span class=\"nx\">genchecksumbystring<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">genchecksumbystring<\/span><span class=\"p\">;<\/span>\n<span class=\"nx\">module<\/span><span class=\"p\">.<\/span><span class=\"nx\">exports<\/span><span class=\"p\">.<\/span><span class=\"nx\">genchecksumforrefund<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">genchecksumforrefund<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>config.js<\/code> \u0641\u0627\u06cc\u0644 \u062f\u0627\u062e\u0644 <code>Paytm<\/code> \u067e\u0648\u0634\u0647 \u0648 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u062f\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">var<\/span> <span class=\"nx\">PaytmConfig<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n  <span class=\"na\">mid<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">####yourmid#####<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n  <span class=\"na\">key<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">###yourkey#####<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n  <span class=\"na\">website<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">##yourwebsite##<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n<span class=\"p\">};<\/span>\n<span class=\"nx\">module<\/span><span class=\"p\">.<\/span><span class=\"nx\">exports<\/span><span class=\"p\">.<\/span><span class=\"nx\">PaytmConfig<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">PaytmConfig<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<blockquote>\n<p>\u062a\u0648\u062c\u0647: \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u062a\u0639\u0648\u06cc\u0636 \u06a9\u0646\u06cc\u062f <code>mid<\/code> \u0648 <code>key<\/code> \u0628\u0627 \u062e\u0648\u062f\u062a <code>mid<\/code> \u0648 <code>key<\/code> \u0648 <code>website<\/code> \u0628\u0627 \u062e\u0648\u062f\u062a <code>website<\/code><\/p>\n<\/blockquote>\n<ol>\n<li>\u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>crypt.js<\/code> \u0641\u0627\u06cc\u0644 \u062f\u0627\u062e\u0644 <code>Paytm<\/code> \u067e\u0648\u0634\u0647 \u0648 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u062f\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"dl\">\"<\/span><span class=\"s2\">use strict<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">var<\/span> <span class=\"nx\">crypto<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">crypto<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n<span class=\"kd\">var<\/span> <span class=\"nx\">util<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">util<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n\n<span class=\"kd\">var<\/span> <span class=\"nx\">crypt<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n  <span class=\"na\">iv<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@@@@&amp;&amp;&amp;&amp;####$$<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span>\n\n  <span class=\"na\">encrypt<\/span><span class=\"p\">:<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"p\">,<\/span><span class=\"nx\">custom_key<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">iv<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">iv<\/span><span class=\"p\">;<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">key<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">custom_key<\/span><span class=\"p\">;<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">algo<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">256<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n    <span class=\"k\">switch<\/span> <span class=\"p\">(<\/span><span class=\"nx\">key<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">case<\/span> <span class=\"mi\">16<\/span><span class=\"p\">:<\/span>\n      <span class=\"nx\">algo<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">128<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n      <span class=\"k\">break<\/span><span class=\"p\">;<\/span>\n    <span class=\"k\">case<\/span> <span class=\"mi\">24<\/span><span class=\"p\">:<\/span>\n      <span class=\"nx\">algo<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">192<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n      <span class=\"k\">break<\/span><span class=\"p\">;<\/span>\n    <span class=\"k\">case<\/span> <span class=\"mi\">32<\/span><span class=\"p\">:<\/span>\n      <span class=\"nx\">algo<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">256<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n      <span class=\"k\">break<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"p\">}<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">cipher<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypto<\/span><span class=\"p\">.<\/span><span class=\"nx\">createCipheriv<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">AES-<\/span><span class=\"dl\">'<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">algo<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">-CBC<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"nx\">key<\/span><span class=\"p\">,<\/span> <span class=\"nx\">iv<\/span><span class=\"p\">);<\/span>\n    <span class=\"c1\">\/\/var cipher = crypto.createCipher('aes256',key);<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">encrypted<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">cipher<\/span><span class=\"p\">.<\/span><span class=\"nx\">update<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"p\">,<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">binary<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">base64<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n    <span class=\"nx\">encrypted<\/span> <span class=\"o\">+=<\/span> <span class=\"nx\">cipher<\/span><span class=\"p\">.<\/span><span class=\"nx\">final<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">base64<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">return<\/span> <span class=\"nx\">encrypted<\/span><span class=\"p\">;<\/span>\n  <span class=\"p\">},<\/span>\n\n  <span class=\"na\">decrypt<\/span><span class=\"p\">:<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"p\">,<\/span><span class=\"nx\">custom_key<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">iv<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">iv<\/span><span class=\"p\">;<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">key<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">custom_key<\/span><span class=\"p\">;<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">algo<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">256<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n    <span class=\"k\">switch<\/span> <span class=\"p\">(<\/span><span class=\"nx\">key<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">case<\/span> <span class=\"mi\">16<\/span><span class=\"p\">:<\/span>\n      <span class=\"nx\">algo<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">128<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n      <span class=\"k\">break<\/span><span class=\"p\">;<\/span>\n    <span class=\"k\">case<\/span> <span class=\"mi\">24<\/span><span class=\"p\">:<\/span>\n      <span class=\"nx\">algo<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">192<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n      <span class=\"k\">break<\/span><span class=\"p\">;<\/span>\n    <span class=\"k\">case<\/span> <span class=\"mi\">32<\/span><span class=\"p\">:<\/span>\n      <span class=\"nx\">algo<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">256<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n      <span class=\"k\">break<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">decipher<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypto<\/span><span class=\"p\">.<\/span><span class=\"nx\">createDecipheriv<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">AES-<\/span><span class=\"dl\">'<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">algo<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">-CBC<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"nx\">key<\/span><span class=\"p\">,<\/span> <span class=\"nx\">iv<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">decrypted<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">decipher<\/span><span class=\"p\">.<\/span><span class=\"nx\">update<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"p\">,<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">base64<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">binary<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">try<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nx\">decrypted<\/span> <span class=\"o\">+=<\/span> <span class=\"nx\">decipher<\/span><span class=\"p\">.<\/span><span class=\"nx\">final<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">binary<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span> <span class=\"k\">catch<\/span> <span class=\"p\">(<\/span><span class=\"nx\">e<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nx\">util<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">util<\/span><span class=\"p\">.<\/span><span class=\"nx\">inspect<\/span><span class=\"p\">(<\/span><span class=\"nx\">e<\/span><span class=\"p\">));<\/span>\n    <span class=\"p\">}<\/span>\n    <span class=\"k\">return<\/span> <span class=\"nx\">decrypted<\/span><span class=\"p\">;<\/span>\n  <span class=\"p\">},<\/span>\n\n  <span class=\"na\">gen_salt<\/span><span class=\"p\">:<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">length<\/span><span class=\"p\">,<\/span> <span class=\"nx\">cb<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">crypto<\/span><span class=\"p\">.<\/span><span class=\"nx\">randomBytes<\/span><span class=\"p\">((<\/span><span class=\"nx\">length<\/span> <span class=\"o\">*<\/span> <span class=\"mf\">3.0<\/span><span class=\"p\">)<\/span> <span class=\"o\">\/<\/span> <span class=\"mf\">4.0<\/span><span class=\"p\">,<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">,<\/span> <span class=\"nx\">buf<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"kd\">var<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">;<\/span>\n      <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nx\">salt<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">buf<\/span><span class=\"p\">.<\/span><span class=\"nx\">toString<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">base64<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n      <span class=\"p\">}<\/span>\n      <span class=\"c1\">\/\/salt=Math.floor(Math.random()*8999)+1000;<\/span>\n      <span class=\"nx\">cb<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">,<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">});<\/span>\n  <span class=\"p\">},<\/span>\n\n  <span class=\"cm\">\/* one way md5 hash with salt *\/<\/span>\n  <span class=\"na\">md5sum<\/span><span class=\"p\">:<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">salt<\/span><span class=\"p\">,<\/span> <span class=\"nx\">data<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return<\/span> <span class=\"nx\">crypto<\/span><span class=\"p\">.<\/span><span class=\"nx\">createHash<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">md5<\/span><span class=\"dl\">'<\/span><span class=\"p\">).<\/span><span class=\"nx\">update<\/span><span class=\"p\">(<\/span><span class=\"nx\">salt<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">data<\/span><span class=\"p\">).<\/span><span class=\"nx\">digest<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">hex<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">},<\/span>\n  <span class=\"na\">sha256sum<\/span><span class=\"p\">:<\/span> <span class=\"kd\">function<\/span> <span class=\"p\">(<\/span><span class=\"nx\">salt<\/span><span class=\"p\">,<\/span> <span class=\"nx\">data<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return<\/span> <span class=\"nx\">crypto<\/span><span class=\"p\">.<\/span><span class=\"nx\">createHash<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">sha256<\/span><span class=\"dl\">'<\/span><span class=\"p\">).<\/span><span class=\"nx\">update<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">).<\/span><span class=\"nx\">digest<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">hex<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">};<\/span>\n\n<span class=\"nx\">module<\/span><span class=\"p\">.<\/span><span class=\"nx\">exports<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypt<\/span><span class=\"p\">;<\/span>\n\n<span class=\"p\">(<\/span><span class=\"kd\">function<\/span> <span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">var<\/span> <span class=\"nx\">i<\/span><span class=\"p\">;<\/span>\n\n  <span class=\"kd\">function<\/span> <span class=\"nx\">logsalt<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">,<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">salt is <\/span><span class=\"dl\">'<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">salt<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">}<\/span>\n\n  <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">require<\/span><span class=\"p\">.<\/span><span class=\"nx\">main<\/span> <span class=\"o\">===<\/span> <span class=\"nx\">module<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">var<\/span> <span class=\"nx\">enc<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">crypt<\/span><span class=\"p\">.<\/span><span class=\"nx\">encrypt<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">One97<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">encrypted - <\/span><span class=\"dl\">'<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">enc<\/span><span class=\"p\">);<\/span>\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">decrypted - <\/span><span class=\"dl\">'<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">crypt<\/span><span class=\"p\">.<\/span><span class=\"nx\">decrypt<\/span><span class=\"p\">(<\/span><span class=\"nx\">enc<\/span><span class=\"p\">));<\/span>\n\n    <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"nx\">i<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">&lt;<\/span> <span class=\"mi\">5<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nx\">crypt<\/span><span class=\"p\">.<\/span><span class=\"nx\">gen_salt<\/span><span class=\"p\">(<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"nx\">logsalt<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">}<\/span>\n\n<span class=\"p\">}());<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>\u062d\u0627\u0644 \u0627\u06af\u0631 \u0646\u0627\u0645 \u0648 \u0627\u06cc\u0645\u06cc\u0644 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0631 \u0631\u0648\u06cc \u0622\u0646 \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f <code>Pay Now<\/code> \u062f\u06a9\u0645\u0647 \u0634\u0645\u0627 \u0628\u0647 \u0622\u0646 \u0647\u062f\u0627\u06cc\u062a \u0645\u06cc \u0634\u0648\u06cc\u062f <code>Paytm<\/code> \u062f\u0631\u06af\u0627\u0647 \u067e\u0631\u062f\u0627\u062e\u062a \u0648 \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u067e\u0631\u062f\u0627\u062e\u062a \u06a9\u0646\u06cc\u062f <code>Paytm<\/code> \u0628\u0631\u0646\u0627\u0645\u0647 \u06cc\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>Paytm<\/code> \u0633\u0627\u06cc\u062a \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u06cc.<\/li>\n<\/ul><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0645\u0646 \u0628\u0647 \u0634\u0645\u0627 \u0646\u0634\u0627\u0646 \u062e\u0648\u0627\u0647\u0645 \u062f\u0627\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Node.js \u0648 Express\u060c \u062f\u0631\u0648\u0627\u0632\u0647 \u067e\u0631\u062f\u0627\u062e\u062a Paytm \u0631\u0627 \u062f\u0631 \u0648\u0628 \u0633\u0627\u06cc\u062a \u06cc\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0627\u062f\u063a\u0627\u0645 \u06a9\u0646\u06cc\u062f. \u062f\u0631\u06af\u0627\u0647 \u067e\u0631\u062f\u0627\u062e\u062a Paytm \u0631\u0627\u0647\u06cc \u0627\u0645\u0646 \u0648 \u0622\u0633\u0627\u0646 \u0628\u0631\u0627\u06cc \u067e\u0630\u06cc\u0631\u0634 \u067e\u0631\u062f\u0627\u062e\u062a \u0647\u0627\u06cc \u0622\u0646\u0644\u0627\u06cc\u0646 \u0627\u0632 \u0645\u0634\u062a\u0631\u06cc\u0627\u0646 \u0634\u0645\u0627 \u0627\u0633\u062a. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062f\u0631\u06af\u0627\u0647 \u067e\u0631\u062f\u0627\u062e\u062a Paytm \u0628\u0631\u0627\u06cc \u067e\u0630\u06cc\u0631\u0634 \u067e\u0631\u062f\u0627\u062e\u062a\u200c\u0647\u0627 \u0627\u0632 \u0645\u0646\u0627\u0628\u0639 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":16524,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-16523","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/16523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=16523"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/16523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/16524"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=16523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=16523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=16523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}