HarryTgerman
HarryTgerman

Reputation: 107

curl req into firebase functions req

Hello I am following the instructions to implement an encryption payment from from Adyen. I am using Firebase as my backend. Now the Dokumentation want that I make a backend req like this:

 curl -u "[email protected]":"SomePassword" \ 
   -H "Content-Type: application/json" \
    -X POST \ 
   --data \ 
   '{
           "additionalData": {
               "card.encrypted.json":"adyenjs_0_1_4p1$..."
           },

           "amount" : {
               "value" : 10000,
               "currency" : "EUR"
           },

           "reference" : "Your Reference Here",
           "merchantAccount" : "TestMerchant"    }'\
    https://pal-test.adyen.com/pal/servlet/Payment/v30/authorise

Can someone please help me to convert this curl request into an firebase functions request? For example:

exports.helloWorld = (req, res) => {

  if (req.body.message === undefined) {
    // This is an error case, as "message" is required
    res.status(400).send('No message defined!');
  } else {
    // Everything is ok
    console.log(req.body.message);
    res.status(200).end();
  }
};

Upvotes: 0

Views: 1796

Answers (1)

Umar Hussain
Umar Hussain

Reputation: 3527

You need to pass your Adyen credentials as data in http post request. Add firebase user token as Bearer token in Authroization token. So now your function will be:

 exports.helloWorld = (req, res) => {
       // check authorization of firebase.
   if (!req.headers.authorization || !req.headers.authorization.startsWith('Bearer ')) {
            res.status(403).send('Unauthorized');
            return;
   }
   const idToken = req.headers.authorization.split('Bearer ')[1];
   this.admin.auth().verifyIdToken(idToken).then(decodedIdToken => {
     // new read the data like below
    //  req.body.username , req.body.additionalData
  })

};

Upvotes: 1

Related Questions