PDF Wallet Generation
This option is currently available for BitBayCoin (BAY), Bitcoin Cash (BCH), Bitcoin (BTC), Dash (DASH), Ethereum (ETH), Litecoin (LTC), Monero (XMR), and Ripple (XRP). Coins implemented via extensions with support for IPaperWallet
can be edited to support PDF wallets as well (undocumented).
PDF Wallets are required to comply with the Travel Rule when printed wallets cannot be deployed at the BATM. See: Travel Rule
If you have a BATMTwo with no printer, then
you must enable PDF wallets to comply with the Travel Rule.
Overview:
CAS version 20241001 (or newer) must be installed.
A one-time CAS setting must be deployed by the Administrator.
The feature is enabled for each BATM in Terminal details.
Your customers will have the option to complete a purchase using the PDF wallet.
The customer is then forced to scan and receive their coin to the new PDF wallet.
Configure CAS
Create/edit webhooks
The CAS base configuration must be changed to offer PDF wallets. The webhook you create here will be sent to your customers and will (essentially) be exposed to the public. Choose carefully.
Determine the URL path. In this example we’ll use:
https://yourcasdomain.com/pdf_wallet
It must include the domain for your CAS (e.g.
yourcasdomain.com
).Any arbitrary path can be used, BUT
it MUST be used consistently, and
it cannot conflict with another path,
e.g.
https://yourcasdomain.com/terminals
would conflict.
The protocol must include (and support) HTTPS.
Create/edit the
/batm/config/webhooks
file and place the URL path as a setting:
sudo nano /batm/config/webhooks
Add the setting
pdfWalletLinkUrl=https://yourcasdomain.com/pdf_wallet
Replace the example URL with the one you decided upon in Step 1.
Press CTRL-X to save the file and exit (choose “y”, and leave the filename unchanged).
The setting will automatically be updated within CAS in approximately 30 seconds.
Expose the webhook
Now that the configuration has been created, you must expose this URL to the world. Installation (or modification) of NGINX is described in this article: https://generalbytes.atlassian.net/wiki/x/AQBlrw
It’s also possible to do it via Cloudflare (instead): https://generalbytes.atlassian.net/l/cp/VLSWb0XA
test URL example:
https://cas-rest-api.yourcasdomain.com/api/v1/crypto-wallets/test
the
pdfWalletLinkUrl
should match your adjusted test URL (without the “test” suffix), becausethat is the link that will be sent to your customers.
Yet another (undocumented) option: ngrok: https://ngrok.com/product/secure-tunnels
The URL path in any case must translate/point to: https://{master_bind_ip}:7743/api/v1/crypto-wallets
Testing
Append “/test
” to the end of the exposed URL. Navigate to the URL using a web browser.
e.g.
https://yourcasdomain.com/pdf_wallet
becomes:https://yourcasdomain.com/pdf_wallet/test
Navigating to that URL should result in a simple web page “Invalid key” result.
Enable the Feature per Terminal
Navigate to your Terminal (or Template) and enable the option in Printing Settings.
Adjust the PDF text
Adjust the content & layout of the PDF document with this Custom String.
The same variables are accepted from:
printer_paper_wallet_template
Navigate to the appropriate Crypto Setting - CUSTOM STRINGS:
Example BUY
The customer initiates a BUY.
Customer selects the button “DON’T HAVE A WALLET?”, or
if the Travel Rule is employed, the “CREATE NEW WALLET” option may be offered.
The Customer chooses “DOWNLOAD WALLET AS PDF”.
The Customer downloads the PDF file from the link provided.
The Customer confirms that they have downloaded the PDF (by pressing the button).
The link may only be used ONCE!
After the link has been used, the message “Invalid key” will be displayed thereafter.
6. The Customer uses the Public Key in the PDF to receive their coin.
Example PDF:
NGINX Specific Details
Your settings should contain entries such as these.
Copyright © 2020-2024 General Bytes USA LLC