diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-03-06 11:59:03 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-03-06 11:59:03 +0700 |
| commit | 78d02a2392924d5d4a21206fb52f627251883af8 (patch) | |
| tree | b1cda7f12961508065b5ddedcfa757ea6ec0ff4e /src/pages/api | |
| parent | 66f1fb98cf450c98fca14fd76809ff99c52533e6 (diff) | |
fix
Diffstat (limited to 'src/pages/api')
| -rw-r--r-- | src/pages/api/shop/finish-checkout.js | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/src/pages/api/shop/finish-checkout.js b/src/pages/api/shop/finish-checkout.js index 66874549..04e82118 100644 --- a/src/pages/api/shop/finish-checkout.js +++ b/src/pages/api/shop/finish-checkout.js @@ -25,12 +25,25 @@ export default async function handler(req, res) { 'Content-Type': 'application/json', Authorization: `Basic ${midtransAuthKey}` } - let midtransStatus = await axios.get(`${process.env.MIDTRANS_HOST}/v2/${orderName}/status`, { - headers: midtransHeaders - }) - midtransStatus = camelcaseObjectDeep(midtransStatus.data) - if (!midtransStatus?.orderId) { - return res.status(400).json({ error: 'Payment Not Found' }) + let midtransStatus = {} + try { + midtransStatus = await axios.get(`${process.env.MIDTRANS_HOST}/v2/${orderName}/status`, { + headers: midtransHeaders + }) + midtransStatus = camelcaseObjectDeep(midtransStatus.data) + } catch (error) { + console.log(error) + } + + let statusPayment = 'manual' + if (midtransStatus?.orderId) { + const transactionStatus = midtransStatus.transactionStatus + statusPayment = 'failed' + if (['capture', 'settlement'].includes(transactionStatus)) { + statusPayment = 'success' + } else if (transactionStatus == 'pending') { + statusPayment = 'pending' + } } const query = `name=${orderName.replaceAll('-', '/')}&limit=1` @@ -62,16 +75,6 @@ export default async function handler(req, res) { (product.price.price - product.price.priceDiscount) * product.quantity } - let statusPayment = '' - const transactionStatus = midtransStatus.transactionStatus - if (['capture', 'settlement'].includes(transactionStatus)) { - statusPayment = 'success' - } else if (transactionStatus == 'pending') { - statusPayment = 'pending' - } else { - statusPayment = 'failed' - } - const emailMessage = render( <FinishCheckoutEmail transaction={transaction} |
