Sample Node.js Payments in Outlook webhook
This is an example implementation of the payment request and payment complete webhooks for a Payments in Outlook service.
Running the sample
Install dependencies with the following command:
Run the sample with the following command:
Using ngrok to run locally
When you run the sample locally, it is accessible via
http://localhost:3333. The Payment service must be able to contact your webhook from the internet, so running on localhost won't work. However, by using ngrok, we can create a publicly accessible address that is temporarily able to contact localhost.
Open a command prompt or shell and run the following command:
ngrok http 3333 -host-header=localhost:3333
The output should look similar to this:
ngrok by @inconshreveable (Ctrl+C to quit) Session Status online Account Jason Johnston (Plan: Free) Version 2.2.8 Region United States (us) Web Interface http://127.0.0.1:4040 Forwarding http://68cd84ed.ngrok.io -> localhost:3333 Forwarding https://68cd84ed.ngrok.io -> localhost:3333
Copy the HTTPS URL from the second
Forwarding entry. In the above output, the URL to copy is
https://68cd84ed.ngrok.io. Using that URL as the base, let's construct two URLs: one to the payment request webhook (ngrok URL +
/api/update), and one to the payment complete webhook (ngrok URL +
/api/complete). For example, using the URL from the example output above:
Note:: Leave ngrok running so those URLs remain active.
Update your webhook URLs in the partner dashboard with these URLs for testing.
Generating a test payment request message
See Get started with Payments in Outlook for steps to send a test message to yourself.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.