mirror of
https://github.com/KevinMidboe/planetposen.git
synced 2025-10-29 09:40:31 +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
|
|
}
|