UNPKG

momo-api

Version:

This is a package to help easily integrate momo-api into your javascript project

59 lines (57 loc) 1.43 kB
const axios = require("axios"); const requestToPay = async ( momoHost, subscriptionKey, callbackUrl, targetEnvironment, payer, payee, amount, currency, externalId, payeeNote, payerMessage, accessToken ) => { try { const config = { headers: { "Ocp-Apim-Subscription-Key": subscriptionKey, "X-Reference-Id": externalId, Authorization: `Bearer ${accessToken}`, "X-Target-Environment": targetEnvironment, "Content-Type": "application/json", }, }; //set the callbackUril if the user provide any if (callbackUrl) { config.headers["X-Callback-Url"] = callbackUrl; } const requestBody = { amount: amount, currency: currency, externalId: externalId, payer: { partyIdType: payer.partyIdType, partyId: payer.partyId, }, payerMessage: payerMessage, payeeNote: payeeNote, payee: { partyIdType: payee.partyIdType, partyId: payee.partyId, }, callbackUrl: callbackUrl, }; const response = await axios.post( `https://${momoHost}/collection/v1_0/requesttopay`, requestBody, config ); return response.data; } catch (error) { console.error("Error making request-to-pay API request:", error); throw error; } }; module.exports = { requestToPay };