Your IP : 216.73.216.91


Current Path : /var/node/inatote/Inatote-Backend/services/
Upload File :
Current File : /var/node/inatote/Inatote-Backend/services/square.js

import axios from "axios";
import {ApiError , Client, Environment } from 'square'

const client = new Client({
  environment: Environment.Sandbox,
  accessToken: 'EAAAEF7K4JExyEEo3YYREfvcda7JBt9CepTsCILklPifrxjZMCTcTVUnVG6_3ENF'
  // accessToken: 'EAAAEA_UjWeqIqrGaFSAtsdVZfkRrNAnOHqbaMuhQ--rk-6SZDWY06icqSlRX8Ss'
})
//  live URL https://connect.squareup.com/v2/

const { customersApi }  = client
const listCustomers = async () => {
  try {
    // Returns and API response object. API call value is on the result property
    let { result } = await customersApi.listCustomers()
    //console.log(result)
  } catch (error) {
    if (error instanceof ApiError) {
      console.log(error.errors)
    } else {
      console.log("Unexpected Error: ", error)
    }
  }
}


const createCustomer = async (userDetails) => {
    let requestBody = userDetails
  
    try {
      let { result } = await customersApi.createCustomer(requestBody)
      //console.log(result)
      return result
    } catch (error) {
      if (error instanceof ApiError) {
        console.log(error.errors)
      } else {
        console.log("Unexpected Error: ", error)
      }
    }
  }


  const retrieveCustomer = async (id) => {
    
    try {
      let { result } = await customersApi.retrieveCustomer(id)
      console.log(result)
      return result
    } catch (error) {
      if (error instanceof ApiError) {
        console.log(error.errors)
      } else {
        console.log("Unexpected Error: ", error)
      }
    }
  }

  const createCustomerCard = async (id , nonce) => {

    try {
        const response = await client.customersApi.createCustomerCard(id,
        {
          cardNonce: nonce
        });

        return response.result 
      
        console.log(response.result);
      } catch(error) {
        console.log("errrrrr" , error.errors[0].detail);
        return { status : false , msg :error.errors[0].detail}
      }
  }

  const createPayment = async (data) => {
    //console.log("card" , data);
  try {
    const response = await client.paymentsApi.createPayment({
      sourceId: data.cardId,
      idempotencyKey: `${Math.floor(Math.random() * 1000000000)}`,
      amountMoney: {
        amount: Math.ceil(data.amount * 100),
        currency: 'USD'
      },
      autocomplete: true,
      customerId: data.customerId,
    //   locationId: 'LBY1P0PY55RPT'
    });
    console.log("RESPES" ,response );
    return response.result.payment
  } catch(error) {
    console.log("err",error);
    return { status : "CANCEL" , msg : error && error.errors && error.errors[0] ? error.errors[0].detail : error}
  }
}

export  {listCustomers, createCustomer , retrieveCustomer ,createCustomerCard ,createPayment}