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 | |
| parent | 66f1fb98cf450c98fca14fd76809ff99c52533e6 (diff) | |
fix
Diffstat (limited to 'src/pages')
| -rw-r--r-- | src/pages/api/shop/finish-checkout.js | 35 | ||||
| -rw-r--r-- | src/pages/my/menu.jsx | 1 | ||||
| -rw-r--r-- | src/pages/shop/cart.jsx | 5 | ||||
| -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() |
