XRPhone Customer Activation Setup - Link Wallet Step
XRPhone Customer Activation Setup - Finished Step
XRPhone Customer Dashboard - XRPhone Invoice Payments (via XRPL)
XRPhone Customer Dashboard - Settings
XRPhone Merchant Activation Setup - Link XRP Account Step (XRPL)
XRPhone Merchant Activation Setup - Link XRP Account Step (PayString ID)
XRPhone Merchant Activation Setup - Connect App Step - Choose Integration
XRPhone Merchant Activation Setup - Connect App Step - Freshbooks
XRPhone Integrated App - Freshbooks Merchant Customer Profile - Set XRPhone Customer Number
XRPhone Integrated App - Freshbooks Merchant Invoice - Viewing XRPhone Customer Applied XRP Payments
XRP the digital asset intrigues me. The speed to finalize transactions, the infinitesimal fees, and the low carbon footprint. These are just some of the reasons I have gravitated towards this technology.
What it does
Customers create a XRPhone account and link with XUMM wallet. Businesses create a XRPhone merchant account linking with an XRP account and XRPhone supported third-party app integration (e.g: Freshbooks, Quickbooks Online, etc). Customers pay invoices over the phone by calling the XRPhone toll-free number. They provide the merchants XRPhone number followed by the invoice number they wish to apply the payment.
The XRPhone automated assistant locates the invoice and asks the customer to enter how much they wish to pay. The assistant will then get the current XRP/USD spot price and send the payment request directly to the customers XUMM wallet. Once the customer accepts the payment request, the XRP transaction completes. XRPhone seamlessly applies the payment to the associated invoice contained within the merchants connected invoice system.
- XRPhone Customer Making Payment
- XRPhone Merchant Reviewing Invoice Payment
- XRPhone Merchant Activation Setup
- XRPhone Customer Activation Setup
Current Apps Supported
- Freshbooks (https://freshbooks.com)
How Does This Work
- Create a regular or merchant account.
- Regular account (the person who will pay invoices over the phone will need XUMM wallet on their mobile device.)
- Merchant account (the person who will link their XRP account to an invoicing app. They will need Freshbooks account and XRPL account).
- Merchants will link the third-party invoicing app (e.g: Freshbooks) via oAuth to XRPhone.
- Inside the invoicing app the merchant creates a new customer invoice.
- Take note of the invoice number. You can set any numerical invoice number.
- Merchants will use existing or create new client (customer contact) inside Freshbooks. The most important part is the merchant sets one of the the customers phone number fields to the customers (regular account) XRPhone activated phone number.
- I create an invoice for the client John Doe.
📝 Example: If I'm a merchant and I want my customer John Doe to pay his invoices with XRP, then I would ask John Doe for his XRPhone phone number. John says, "+12223334444"... I then login to my invoice system (e.g: Freshbooks) and set Johns customer record phone number field to the XRPhone number of "+12223334444".* This is how XRPhone can effortlessly match the inbound caller to the merchant invoice.
If I'm a merchant I would let my customers know they can pay using XRP over the phone thru marketing materials and/or simply putting a note at the bottom of the invoice template. If a customer attempts to call into the toll-free XRPhone inbound payments line and the system detects that the number is not yet activated with XRPhone, the voice assistant will tell the caller to first go to the XRPhone website to activate their phone number.
If the customers inbound call is successfully found, then the voice assistant will first ask the caller to enter the XRPhone merchants phone number.
As a reminder: the merchants phone number is the person "business" who created the invoice and wants to get paid with XRP. If the merchant phone number is entered correctly the voice assistant will ask for the specific invoice number that the caller wishes to apply payment. If the invoice number is correctly entered the voice assistant will ask the amount for this payment.
The assisant will then automatically determine the XRP/USD spot price via an XRPL oracle. Once the current XRP price is determined, the exact XRP transaction amount will be locked. The voice assistant will then send a XUMM payment request directly to the callers wallet. Once the wallet is opened by the caller and the transaction is "approved" (XUMM wallet requires the user to swipe), the XRPhone will verify XRPL obtained a successful result and the transaction has officially hit the ledger.
Finally and most importantly the invoice is automatically updated in real-time within the merchant invoice system (e.g: Freshbooks) reflecting the applied payment for the associated invoice number.
ℹ️ The current version is alpha proof of concept.
Note: All of my testing so far has been only with US based mobile phone numbers. If you are going to try XRPhone, please realize that no testing has been done for non-US based numbers. In theory, they should work, but I have not tried.
XRPhone toll-free US number for making invoice payments: 1 (844) 739-01111.
The toll-free number will detect if your calling from an already activated XRPhone account. You will be asked to enter the XRPhone merchant number followed by your invoice number you wish to make payment.
It's important that both your XRPhone account and the XRPhone merchant are both using the same XRPL Mainnet or Testnet. You can configure the XRPL network from inside the XRPhone setup activation process or from within the dashboard settings (once account is already created).
📌 Note: I may take the demo down without notice since it has costs associated with the current SMS verification/auth system & programmable voice features.
How I built it
- Node.js / Express
Core XRPhone Dependencies
- Supabase (https://supabase.io)
- Twilio (https://twilio.com)
- Programmable Voice
- XRPL (https://xrpl.org)
- XUMM (https://xumm.app)
Ripple / XRPL Labs Dependencies
- Transaction history
- Trustline XRP/USD oracle (https://dev.to/wietse/aggregated-xrp-usd-price-info-on-the-xrp-ledger-1087)
- XRP to drops converter
- XRP transaction signing
- PayString lookups
Challenges I ran into
With any new libraries/SDKs it can take sometimes a bit of "playing around" to better understand how different features interact and more importantly how to properly integrate them into a cohesive whole.
Accomplishments that I'm proud of
I think its awesome to bridge the traditional telephone system into next-generation financial payment rails like XRPL. It provides customers with another payment channel while also enabling merchants to effortlessly keep their existing invoice system synced.
What I learned
The XRPL ecosystem has a tremendous amount of features. I have realized that I have only scratched the surface of what is possible. This excites me knowing that the future is bright and opens new worlds of possibilities.
What's next for XRPhone
More app integrations such as Quickbooks Online, Salesforce, Shopify, etc.