Помочь реализовать Выплаты по токену в платежной системе CloudPayments
1 000 руб. за проект
В платежной системе 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);
В описании есть такой пункт "Можно воспользоваться механизмом надежной аутентификации запроса на выплату. Для этого передайте в нашу поддержку сертификат с публичной частью ключа. Далее сгенерируйте подпись на основе тела запроса и разместите ее в заголовке 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);
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.