https://github.com/freeclimbapi/node-pay-by-phone-how-to-guide
https://github.com/freeclimbapi/node-pay-by-phone-how-to-guide
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/freeclimbapi/node-pay-by-phone-how-to-guide
- Owner: FreeClimbAPI
- License: mit
- Created: 2021-04-15T15:00:15.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-24T15:25:02.000Z (over 1 year ago)
- Last Synced: 2025-10-22T07:34:34.818Z (8 months ago)
- Language: JavaScript
- Size: 28.1 MB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Node Pay By Phone How-To Guide
[](https://github.com/prettier/prettier)
[](https://standardjs.com)
[](https://opensource.org/licenses/MIT)
[](https://github.com/FreeClimbAPI/Node-Pay-By-Phone-Tutorial/actions/workflows/node-pay-by-phone-sample.yaml)
[](https://coveralls.io/github/FreeClimbAPI/Node-Pay-By-Phone-Tutorial?branch=master)
This project serves as a guide to help you build a pay by phone IVR application with [FreeClimb](https://docs.freeclimb.com/docs/how-freeclimb-works).
Specifically, the project will:
- Receive an incoming call via a FreeClimb application
- Route users via [DTMF](https://en.wikipedia.org/wiki/Dual-tone_multi-frequency_signaling) (e.g. keypad) input
- Collect and process credit card payment information using [`privacymode`](https://docs.freeclimb.com/docs/securing-sensitive-user-data#using-privacymode-in-your-applications)
- Use [PerCL](https://docs.freeclimb.com/reference/percl-overview) to send an SMS payment confirmation message to user
## How-To Guide
We offer a [Pay by Phone with Voice Calling how-to guide](https://docs.freeclimb.com/docs/pay-by-phone) for more detailed set-up instructions and explanation of how the code in this sample app works.
## Requirements
A [FreeClimb account](https://www.freeclimb.com/dashboard/signup/)
A [registered application](https://docs.freeclimb.com/docs/registering-and-configuring-an-application#register-an-app) with a named alias
A [configured FreeClimb number](https://docs.freeclimb.com/docs/getting-and-configuring-a-freeclimb-number) assigned to your application
Trial accounts: a [verified number](https://docs.freeclimb.com/docs/using-your-trial-account#verifying-outbound-numbers)
Tools:
- [Node.js](https://nodejs.org/en/download/) 12.14.0 or higher
- [Yarn](https://yarnpkg.com/en/)
- [ngrok](https://ngrok.com/download) (optional for hosting)
## Setting up the Sample App
1. Install the required packages
```bash
yarn install
```
1. Create a .env file and configure the following environment variables within it:
| ENV VARIABLE | DESCRIPTION |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ACCOUNT_ID | Account ID which can be found under [API credentials](https://www.freeclimb.com/dashboard/portal/account/authentication) in dashboard. |
| API_KEY | API key which can be found under [API credentials](https://www.freeclimb.com/dashboard/portal/account/authentication) in dashboard. |
| HOST | The hostname as defined in your FC application. We recommend [ngrok](https://ngrok.com/download) as an option to get up and running quickly. |
| PORT | Specifies the port on which the app will run (e.g. PORT=3000 means you would direct your browser to http://localhost:3000). |
| FC_NUMBER | The FreeClimb phone number associated with your application. |
## Running the Sample App
```bash
yarn start
```
## Feedback & Issues
If you would like to give the team feedback or you encounter a problem, please [contact support](https://www.freeclimb.com/support/) or [submit a ticket](https://freeclimb.com/dashboard/portal/support) in the dashboard.