mirror of
				https://github.com/KevinMidboe/planetposen.git
				synced 2025-10-29 17:50:32 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const fetch = require('node-fetch')
 | 
						|
const fs = require('fs')
 | 
						|
const path = require('path')
 | 
						|
const https = require('https')
 | 
						|
 | 
						|
const validateWithApple = (appleUrl) => {
 | 
						|
  const httpsAgent = new https.Agent({
 | 
						|
    rejectUnauthorized: false,
 | 
						|
    cert: fs.readFileSync(path.join(__dirname, '../assets/certificate_sandbox.pem')),
 | 
						|
    key: fs.readFileSync(path.join(__dirname, '../assets/certificate_sandbox.key'))
 | 
						|
  })
 | 
						|
 | 
						|
  const options = {
 | 
						|
    method: 'POST',
 | 
						|
    body: JSON.stringify({
 | 
						|
      merchantIdentifier: 'merchant.com.planetposen.sandbox',
 | 
						|
      domainName: 'planet.kevinmidboe.com',
 | 
						|
      displayName: 'Planetposen'
 | 
						|
    }),
 | 
						|
    agent: httpsAgent
 | 
						|
  }
 | 
						|
 | 
						|
  return fetch(appleUrl, options)
 | 
						|
    .then(resp => resp.json())
 | 
						|
}
 | 
						|
 | 
						|
const validateSession = async (req, res) => {
 | 
						|
  const { validationURL } = req.body;
 | 
						|
 | 
						|
  const appleData = await validateWithApple(validationURL)
 | 
						|
  return res.json(appleData)
 | 
						|
}
 | 
						|
 | 
						|
const pay = (req, res) => {
 | 
						|
  const { payment } = req.body;
 | 
						|
 | 
						|
  const { token } = payment;
 | 
						|
  console.log('payment data: ', token);
 | 
						|
 | 
						|
  res.send({ approved: true })
 | 
						|
}
 | 
						|
 | 
						|
module.exports = {
 | 
						|
  validateSession,
 | 
						|
  pay
 | 
						|
}
 |