summaryrefslogtreecommitdiff
path: root/src/pages/api
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-03-06 11:59:03 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-03-06 11:59:03 +0700
commit78d02a2392924d5d4a21206fb52f627251883af8 (patch)
treeb1cda7f12961508065b5ddedcfa757ea6ec0ff4e /src/pages/api
parent66f1fb98cf450c98fca14fd76809ff99c52533e6 (diff)
fix
Diffstat (limited to 'src/pages/api')
-rw-r--r--src/pages/api/shop/finish-checkout.js35
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}