Skip to content

Commit 609ef98

Browse files
committed
fix: properly await fetch and reset transaction object if webhook signature not verified
(rewrites non-sense code snippet)
1 parent 3feab0a commit 609ef98

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

functions/routes/pagarme/postback.js

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,25 @@ exports.post = ({ appSdk }, req, res) => {
1515
console.log('> Postback #', storeId, orderId, (req.body.current_status || pagarmeTransaction.status))
1616
// read configured E-Com Plus app data
1717
return getAppData({ appSdk, storeId })
18-
.then(config => {
18+
.then(async config => {
1919
// validate Pagar.me postback
2020
// https://github.com/pagarme/pagarme-js/issues/170#issuecomment-503729557
2121
const apiKey = config.pagarme_api_key
2222
const verifyBody = qs.stringify(req.body)
2323
const signature = req.headers['x-hub-signature'].replace('sha1=', '')
2424

25-
if (!pagarme.postback.verifySignature(apiKey, verifyBody, signature) && verifyBody && signature) {
26-
axios({
25+
if (!pagarme.postback.verifySignature(apiKey, verifyBody, signature)) {
26+
const { data } = await axios({
2727
url: `https://api.pagar.me/1/transactions/${pagarmeTransaction.id}`,
2828
method: 'get',
2929
data: {
3030
api_key: apiKey
3131
}
32-
}).then(({data}) => {
33-
pagarmeTransaction = {}
34-
storeId = 1000
35-
orderId = 0
36-
pagarmeTransaction = data
37-
storeId = parseInt(pagarmeTransaction.metadata.store_id, 10)
38-
orderId = pagarmeTransaction.metadata.order_id
39-
console.log('Get order #', storeId, orderId, pagarmeTransaction.status)
4032
})
33+
pagarmeTransaction = data
34+
storeId = parseInt(pagarmeTransaction.metadata.store_id, 10)
35+
orderId = pagarmeTransaction.metadata.order_id
36+
console.log('Get order #', storeId, orderId, pagarmeTransaction.status)
4137
}
4238

4339
// get E-Com Plus order

0 commit comments

Comments
 (0)