Генерация MSID в Skrill Quick Checkout
Я использую NodeJs. и после быстрой проверки Интеграция Платежного шлюза Skrill.
Я застрял во время успеха, когда нам нужно создать msid и сравнить его с предоставленным в обратном URL успеха для аутентификации запроса.
Согласно документам ( https://www.skrill.com/fileadmin/content/pdf/Skrill_Quick_Checkout_Guide.pdf), msid может быть сгенерирован как подпись MD5 со следующими значениями:
• merchant_id, for example: 123456
• transaction_id, for example: A205220
• upper-case MD5 value of the ASCII
equivalent of your secret word, for
example:
F76538E261E8009140AF89E001341F17
и я использую следующий код для того же.
var br = new Buffer.from('secret').join(' ').trim()
let sw = md5(br).toUpperCase()
let param_data = {
merchant_id: 'merchant-email@email.com',
transaction_id: "Ahjt786uy787",
secret_word: sw
}
let msid = crypto.createHash('md5').update(param_data.merchant_id+param_data.transaction_id+sw).digest('hex');
1 ответ
Обратите внимание, что проверка msid и md5sig должна выполняться только на вашем сервере, чтобы защитить ваше "секретное слово".
- merchant-email@email.com не ваш идентификатор, это ваш адрес электронной почты, связанный с merchant_id. Войдите на сайт www.skrill.com со своей учетной записью продавца, и вы сможете найти свой идентификатор в правом верхнем углу.
- Вы должны использовать хэш-значение md5 секретного слова, прежде чем хэшировать всю строку
Примером функции msid может быть: md5(merchant_id +action_id + md5(secret_word))
Также обратите внимание, что параметр msid не предоставляет статус транзакции. Это только доказывает, что клиент завершил поток через шлюз. Вы должны проверять статус транзакции, который отправляется на ваш "status_url" - сообщение POST ASYNC, отправленное Skrill