summaryrefslogtreecommitdiff
path: root/src/pages
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
parent66f1fb98cf450c98fca14fd76809ff99c52533e6 (diff)
fix
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/api/shop/finish-checkout.js35
-rw-r--r--src/pages/my/menu.jsx1
-rw-r--r--src/pages/shop/cart.jsx5
-rw-r--r--src/pages/shop/checkout/[status].jsx (renamed from src/pages/shop/checkout/finish.jsx)11
4 files changed, 34 insertions, 18 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}
diff --git a/src/pages/my/menu.jsx b/src/pages/my/menu.jsx
index b9fd30ee..67158242 100644
--- a/src/pages/my/menu.jsx
+++ b/src/pages/my/menu.jsx
@@ -54,7 +54,6 @@ export default function Menu() {
<div className='divide-y divide-gray_r-6 border-y border-gray_r-6 mt-4'>
<LinkItem href='/'>Customer Support</LinkItem>
- <LinkItem href='/faqs'>F.A.Q</LinkItem>
</div>
</div>
diff --git a/src/pages/shop/cart.jsx b/src/pages/shop/cart.jsx
index 97f98843..7e78f215 100644
--- a/src/pages/shop/cart.jsx
+++ b/src/pages/shop/cart.jsx
@@ -5,7 +5,10 @@ const CartComponent = dynamic(() => import('@/lib/cart/components/Cart'))
export default function Cart() {
return (
- <AppLayout title='Keranjang'>
+ <AppLayout
+ title='Keranjang'
+ withFooter={false}
+ >
<CartComponent />
</AppLayout>
)
diff --git a/src/pages/shop/checkout/finish.jsx b/src/pages/shop/checkout/[status].jsx
index eb7631a0..bf184c0e 100644
--- a/src/pages/shop/checkout/finish.jsx
+++ b/src/pages/shop/checkout/[status].jsx
@@ -2,6 +2,17 @@ import BasicLayout from '@/core/components/layouts/BasicLayout'
import IsAuth from '@/lib/auth/components/IsAuth'
import FinishCheckoutComponent from '@/lib/checkout/components/FinishCheckout'
import { useRouter } from 'next/router'
+import axios from 'axios'
+
+export async function getServerSideProps(context) {
+ const { order_id } = context.query
+ await axios.post(
+ `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/finish-checkout?orderName=${order_id}`,
+ {},
+ { headers: context.req.headers }
+ )
+ return { props: {} }
+}
export default function Finish() {
const router = useRouter()