Payment Request Link
To route users to a simple payment request, all you need to use is a URL / QR containing that URL, crafted with the right parameters.
To offer users a direct payment link, you can send them straight to a URL (deeplink) or QR containing that same URL. The URL already contains destination, network, currency & other parameters.
Example URLs
A simple payment on Xahau for 2 XAH (native asset) to the rwietse...
account:
https://xaman.app/detect/request:rwietsevLFg8XSmG3bEZzFein1g8RBqWDZ?amount=2&network=XAHAU
A payment on the XRP Ledger for 2 $RLUSD to the rwietse...
account:
https://xaman.app/detect/request:rwietsevLFg8XSmG3bEZzFein1g8RBqWDZ?amount=2&network=XRPL&dt=123&issuer=rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De¤cy=524C555344000000000000000000000000000000
Variants (universal)
If the user does not have Xaman installed, the above links will automatically fall back to a regular webpage showing the payment request information & download links to Xaman. If you however want to craft a link / QR that is not Xaman specific, you can use a protocol prefix which can be claimed by any XRPL supporting app in the ecosystem. The downside is that if one does not have a supporting app installed, there is no graceful fallback webpage.
Instead of prefixing with https://xaman.app/detect/request
you can prefix with the xrpl://
protocol handler:
Parameters
amount
- The amount in native asset or issued currency to request - can be omitted, the user can then enter the amountnetwork
- The network the transaction should be sent on, can beXRPL
orXAHAU
, can be omitted, defaults toXRPL
dt
- The Destination Tag to send to - can be omittedinvoiceid
- The InvoiceID to send, must be formatted in HEX according to the InvoiceID length specifications (64 hex chars) - usually omittedissuer
- The issuing account, only required combined withcurrency
for requests in issued currenciescurrency
- The currency code, must be in three-char ALPHA notation or HEX notation for issued currencies with asset codes > 3 char length. Only required in combination withissuer
for payments in issued assets.
App Developers
For App/Platform developers, there's an easy JS lib. to decode strings & parse them into normalised objects to support payment requests (and other ecosystem data formats):
Last updated
Was this helpful?