Compare commits

...

2 Commits

1 changed files with 6 additions and 5 deletions

View File

@ -443,10 +443,11 @@ function postJson(url, data) {
}) })
} }
function computeErpSignature(mercantId, statusCode, nominal, clientId) { async function computeErpSignature(mercantId, statusCode, nominal, clientId) {
try { try {
const raw = String(mercantId) + String(statusCode) + String(nominal) + String(clientId) const raw = String(mercantId) + String(statusCode) + String(nominal) + String(clientId)
return crypto.createHash('sha512').update(raw).digest('hex') const sign = crypto.createHash('sha512').update(raw).digest('hex')
return sign;
} catch { } catch {
return '' return ''
} }
@ -483,13 +484,13 @@ async function notifyERP({ orderId, nominal, mercantId }) {
logWarn('erp.notify.skip', { orderId, reason: 'missing_mercant_id' }) logWarn('erp.notify.skip', { orderId, reason: 'missing_mercant_id' })
return false return false
} }
const signature = computeErpSignature(mId, statusCode, nominal, ERP_CLIENT_ID) const signature = await computeErpSignature(mId, statusCode, nominal, ERP_CLIENT_ID)
// Payload ERP harus flat: { mercant_id, nominal, status_code, signature }
const payload = { const payload = {
mercant_id: mId, mercant_id: mId,
status_code: statusCode, status_code: statusCode,
nominal: nominal, nominal: nominal,
signature, signature: signature,
} }
logInfo('erp.notify.start', { orderId, url: ERP_NOTIFICATION_URL }) logInfo('erp.notify.start', { orderId, url: ERP_NOTIFICATION_URL })
try { try {