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/HeaderLinks.js"; import Footer from "components/Footer/Footer.js"; import OrderProduct from "pages-sections/yamaha/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(); 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 }; }