import React from "react";
import classNames from "classnames";
import { makeStyles } from "@material-ui/core/styles";
import Header from "components/Header/Header.js";
import HeaderLinks from "components/Header/HeaderSuzuki.js";
import Footer from "components/Footer/FooterSuzuki.js";
import OrderProduct from "pages-sections/suzuki/order/order.js";
import Parallax from "components/Parallax/Parallax.js";
import styles from "assets/jss/nextjs-material-kit/pages/components.js";
import GetTransaction from "api/transaction/transaction.js";
import Cookies from "cookies";
const useStyles = makeStyles(styles);
const Order = function ({ transactionToken, user, order, unpaid, prepared, sending, finished, backend, ...props }) {
const classes = useStyles();
const { ...rest } = props;
return (
}
fixed
color="info"
changeColorOnScroll={{
height: 400,
color: "white"
}}
{...rest}
/>
);
}
export default Order;
export async function getServerSideProps(context) {
var {query} = context;
var order = [];
var res = await GetTransaction.getTransaction();
if (res["STATUS"] === 1) {
order = res["DATA"]["transactions"];
}
var unpaid = [];
var res = await GetTransaction.getTransactionUnpaid();
if (res["STATUS"] === 1) {
unpaid = res["DATA"]["transactions"];
}
var prepared = [];
var res = await GetTransaction.getTransactionPrepared();
if (res["STATUS"] === 1) {
prepared = res["DATA"]["transactions"];
}
var sending = [];
var res = await GetTransaction.getTransactionSending();
if (res["STATUS"] === 1) {
sending = res["DATA"]["transactions"];
}
var finished = [];
var res = await GetTransaction.getTransactionFinished();
if (res["STATUS"] === 1) {
finished = res["DATA"]["transactions"];
}
//backend
const backend = process.env.BACKEND_SERVER_URI;
//user
var { req, resp } = context;
const cookies = new Cookies(req, resp);
var user = "";
var userObj = (await cookies.get("user"))
? JSON.parse(await cookies.get("user"))
: null;
if (userObj) {
let sessionId = userObj["partners_login_states"].filter(function (i) {
return (
i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
);
});
if (sessionId.length != 0) user = userObj["username"];
}
//midtrans
var parameters = await GetTransaction.getTransactionUnpaid(query.s||0);
console.log("parameter", parameters);
var transactionToken = [];
if ( parameters["STATUS"] === 1 )
{
const midtransClient = require('midtrans-client');
let snap = new midtransClient.Snap({
isProduction : false,
serverKey : 'SB-Mid-server-SfBhLkXXlTxCBx7EYP5T2k3d',
clientKey : 'SB-Mid-client-srx674LjNbEybd4-'
});
let parameter = {
"transaction_details": {
// "order_id":parameters["DATA"]["transaction"]["order_id"],
// "gross_amount":parameters["DATA"]["transaction"]["product_price"],
"order_id":"Trx-Ord-00000001",
"gross_amount":36200000,
}, "credit_card":{
"secure" : true
},
"customer_details": {
"first_name": "Yusmardi",
"last_name": "anto",
"email": "yusmardianto@thamrin.co.id",
"phone": "087797315685",
"billing_address":
{
"first_name": "Yusmardi",
"last_name": "anto",
"email": "yusmardianto@thamrin.co.id",
"phone": "087797315685",
"address": "Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun",
"city": "Kec.Ilir Tim.I, Palembang",
"postal_code": "30114",
"country_code": "IDN"
},
"shipping_address":
{
"first_name": "Yusmardi",
"last_name": "anto",
"email": "yusmardianto@thamrin.co.id",
"phone": "087797315685",
"address": "Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun",
"city": "Kec.Ilir Tim.I, Palembang",
"postal_code": "30114",
"country_code": "IDN"
}
}
};
await snap.createTransaction(parameter)
.then((transaction)=>{
// transaction token
transactionToken = transaction.token;
console.log('transactionToken:',transactionToken);
// transaction redirect url
let transactionRedirectUrl = transaction.redirect_url;
console.log('transactionRedirectUrl:',transactionRedirectUrl);
})
.catch((e)=>{
console.log('Error occured:',e.message);
});
}
console.log("token snap",transactionToken);
return {
props: { backend, user, unpaid, prepared, sending, finished, order, transactionToken, }, // will be passed to the page component as props
};
}