{"id":19035682,"url":"https://github.com/freeclimbapi/node-pay-by-phone-how-to-guide","last_synced_at":"2026-02-16T23:40:24.303Z","repository":{"id":52419821,"uuid":"358298576","full_name":"FreeClimbAPI/Node-Pay-By-Phone-How-To-Guide","owner":"FreeClimbAPI","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-24T15:25:02.000Z","size":29439,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-10-22T07:34:34.818Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FreeClimbAPI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-15T15:00:15.000Z","updated_at":"2024-10-24T15:25:08.000Z","dependencies_parsed_at":"2024-10-24T19:13:33.099Z","dependency_job_id":"2b93dc36-12ec-498e-bdb5-8262df4beb61","html_url":"https://github.com/FreeClimbAPI/Node-Pay-By-Phone-How-To-Guide","commit_stats":null,"previous_names":["freeclimbapi/node-pay-by-phone-how-to-guide"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FreeClimbAPI/Node-Pay-By-Phone-How-To-Guide","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeClimbAPI%2FNode-Pay-By-Phone-How-To-Guide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeClimbAPI%2FNode-Pay-By-Phone-How-To-Guide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeClimbAPI%2FNode-Pay-By-Phone-How-To-Guide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeClimbAPI%2FNode-Pay-By-Phone-How-To-Guide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FreeClimbAPI","download_url":"https://codeload.github.com/FreeClimbAPI/Node-Pay-By-Phone-How-To-Guide/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeClimbAPI%2FNode-Pay-By-Phone-How-To-Guide/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29524401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T21:45:09.491Z","status":"ssl_error","status_checked_at":"2026-02-16T21:44:58.452Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T21:51:45.358Z","updated_at":"2026-02-16T23:40:24.270Z","avatar_url":"https://github.com/FreeClimbAPI.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node Pay By Phone How-To Guide\n\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n[![Pay By Phone CI](https://github.com/FreeClimbAPI/Node-Pay-By-Phone-Tutorial/actions/workflows/node-pay-by-phone-sample.yaml/badge.svg?branch=master)](https://github.com/FreeClimbAPI/Node-Pay-By-Phone-Tutorial/actions/workflows/node-pay-by-phone-sample.yaml)\n[![Coverage Status](https://coveralls.io/repos/github/FreeClimbAPI/Node-Pay-By-Phone-Tutorial/badge.svg?branch=master)](https://coveralls.io/github/FreeClimbAPI/Node-Pay-By-Phone-Tutorial?branch=master)\n\nThis 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).\n\nSpecifically, the project will:\n\n- Receive an incoming call via a FreeClimb application\n- Route users via [DTMF](https://en.wikipedia.org/wiki/Dual-tone_multi-frequency_signaling) (e.g. keypad) input\n- Collect and process credit card payment information using [`privacymode`](https://docs.freeclimb.com/docs/securing-sensitive-user-data#using-privacymode-in-your-applications)\n- Use [PerCL](https://docs.freeclimb.com/reference/percl-overview) to send an SMS payment confirmation message to user\n\n## How-To Guide\n\nWe 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.\n\n## Requirements\nA [FreeClimb account](https://www.freeclimb.com/dashboard/signup/)\n\nA [registered application](https://docs.freeclimb.com/docs/registering-and-configuring-an-application#register-an-app) with a named alias\n\nA [configured FreeClimb number](https://docs.freeclimb.com/docs/getting-and-configuring-a-freeclimb-number) assigned to your application\n\nTrial accounts: a [verified number](https://docs.freeclimb.com/docs/using-your-trial-account#verifying-outbound-numbers)\n\nTools:\n- [Node.js](https://nodejs.org/en/download/) 12.14.0 or higher\n- [Yarn](https://yarnpkg.com/en/)\n- [ngrok](https://ngrok.com/download) (optional for hosting)\n\n## Setting up the Sample App\n\n1. Install the required packages\n\n    ```bash\n    yarn install\n    ```\n\n1. Create a .env file and configure the following environment variables within it:\n\n    | ENV VARIABLE    | DESCRIPTION                                                                                                                                                                                                                               |\n    | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n    | ACCOUNT_ID      | Account ID which can be found under [API credentials](https://www.freeclimb.com/dashboard/portal/account/authentication) in dashboard.                                                                                                         |\n    | API_KEY      | API key which can be found under [API credentials](https://www.freeclimb.com/dashboard/portal/account/authentication) in dashboard.                                                                                                  |\n    | 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.                                                                                                                                                                                            |\n    | PORT            | Specifies the port on which the app will run (e.g. PORT=3000 means you would direct your browser to http://localhost:3000).                                                                                                                                                                                              |\n    | FC_NUMBER       | The FreeClimb phone number associated with your application.                                                                                                                                                                                             |\n    \n## Running the Sample App\n\n```bash\nyarn start\n```\n\n## Feedback \u0026 Issues\nIf 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreeclimbapi%2Fnode-pay-by-phone-how-to-guide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreeclimbapi%2Fnode-pay-by-phone-how-to-guide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreeclimbapi%2Fnode-pay-by-phone-how-to-guide/lists"}