in src/frontend/src/store/bookings/payment.js [28:68]
export async function processPayment({
  paymentToken,
  outboundFlight,
  customerEmail
}) {
  console.group('store/bookings/actions/processPayment')
  Loading.show({
    message: 'Processing payment...'
  })
  if (!paymentToken) throw 'Invalid payment token'
  const chargeData = {
    amount: outboundFlight.ticketPrice,
    currency: outboundFlight.ticketCurrency,
    stripeToken: paymentToken.details.id,
    description: `Payment by ${customerEmail}`,
    email: customerEmail
  }
  console.log('Charge data to be processed')
  console.log(chargeData)
  try {
    const data = await axios.post(paymentEndpoint, chargeData)
    const {
      data: {
        createdCharge: { id: chargeId }
      }
    } = data
    Loading.show({
      message: 'Payment authorized successfully...'
    })
    console.groupEnd()
    return chargeId
  } catch (err) {
    console.error(err)
    throw new Error(err)
  }
}