@nexus7777

Как правильно организовать «Выплаты по токену» в платежной системе CloudPayments?

В платежной системе CloudPayments есть "Выплаты по токену" - https://developers.cloudpayments.ru/#vyplata-po-tokenu

В описании есть такой пункт "Можно воспользоваться механизмом надежной аутентификации запроса на выплату. Для этого передайте в нашу поддержку сертификат с публичной частью ключа. Далее сгенерируйте подпись на основе тела запроса и разместите ее в заголовке X-Signature в base64 формате. CloudPayments проверит вашу подпись, используя CryptoService. Если подпись валидна, то обработка запроса продолжится, если нет — обработка прекратится."

Жирным выделил то что мне не понятно. Каким образом передать этот заголовок им в запросе?

Использую этот npm https://www.npmjs.com/package/cloudpayments
Метод для выплат chargeTokenPayout

В серверной части сейчас так:
const client2 = new ClientService({
    endpoint: 'https://api.cloudpayments.ru',
    privateKey: 'key',
    publicId: 'key'
});

const clientApi2 = client2.getClientApi();

app.post('/token_payout', (req, res) => {
    pool.query('SELECT * FROM user_tokens WHERE user_id = ? AND selected = 1', [req.user.userId], (err, result) => {

        if (err) return res.send({err: err});

        if (!!result.length) {
            clientApi2.chargeTokenPayout({
                Amount: req.body.amount,
                AccountId: req.user.userId,
                Token: result[0].token,
                Currency: 'RUB'
            }).then(data => res.send(data)).catch(err => res.send(err));
        }
    });
});


С фронтэнда обращаюсь на этот эндпоинт с данными:
f(
    '/video/token_payout',
    {
        Amount: 110,
        AccountId: 66,
        Token: "tk_5019298343504ea5ee08a8176ed48",
        Currency: "RUB"
    },
    'POST',
    'no-cors',
    {
        'X-Signature':signature_out
    }
).then(console.log).catch(console.error);
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы