@jekanok

Liqpay почему не верная подпись?

пишу модуль для оплаты на express хочу генерировать кнопку для оплаты смотрю доку, пишу по примеру в доке генерирую кнопку, перехожу и выдает ошибку "Извините. Произошла ошибка. Неверная подпись запроса",
const express = require("express");
const bodyParser = require('body-parser')
const cors = require("cors");
const sha1 = require('sha1');
const LiqPay = require("liqpay");
const public_key = "sandbox_i6056143995"; //fake
const private_key = "sandbox_FYJPFYbeddSheWm20U31UPdgZ6mnpmXnLsTGRem"; //fake
// const liqpay = new LiqPay(public_key, private_key);

const Base64 = require('js-base64').Base64;
const app = express();
app.use(cors())
app.use(bodyParser.urlencoded({
    extended: false
}))
app.use(bodyParser.json())
app.post('/pay', (req, res) => {
    const json_string = {
        "public_key": public_key,
        "version": "3",
        "action": "pay",
        "amount": req.body.amount,
        "currency": "UAH",
        "description": "test",
        "order_id": "000001",
        'result_url': 'http://192.168.56.1:8080/',
        'server_url': 'http://192.168.56.1:3000/order'
    }
    const json_strings = JSON.stringify(json_string);
    const data = Base64.encode(json_strings); // отримуємо об'єкт закодований в base64
    const sign_string = private_key + data + private_key;

    const signature = Base64.encode(sha1(sign_string))
    console.log(signature)


    res.send(`<form method="POST" action="https://www.liqpay.ua/api/3/checkout" accept-charset="utf-8"> 
        <input type="hidden" name="data" value="${data}"/>
        <input type="hidden" name="signature" value="${signature}"/> 
        <input type="submit" /> 
       </form>`)
})
app.listen(3000, () => {
    console.log('start')
})


//подскажите почему не работает?
  • Вопрос задан
  • 1395 просмотров
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
0. signature - уникальная подпись каждого запроса
base64_encode(
  sha1( private_key + data + private_key) ),


1. Уберите все секреты в env vars
Ответ написан
@Anakin_Skywalk
Добрый вечер! подскажите, вы нашли решение проблемы?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы