Après quelques maux de tête et d'essayer, j'ai trouvé un moyen assez facile de résoudre les paiements Swish-through fonctions cloud:
utilisation request-js au lieu de la construction dans les bibliothèques, je ne ai besoin de construire les options objet à utiliser dans la méthode request.post() comme suit:
const swishOptions = {
url: 'LINK TO SWISH SERVER',
json: true,
pfx: fs.readFileSync('cert.p12'),
passphrase: 'swish',
body: swishRequestBody
}
le cert.p12 fichier devrait être placé dans le sam e dossier comme index.js et sera téléchargé avec les fonctions.
rq.post(swishOptions, (err, res) => {
if (err){
console.log('payment creation error: ' + JSON.stringify(err))
reject(err)
}
if (res){
console.log('Payment-token: ' + res.headers.paymentrequesttoken)
}
});
Le corps-objet doit contenir tous les champs spécifiés dans la Swish API, utiliser console.log() pour lire les messages d'erreur de la-Swish-serveur.