From caf26dffc4c8b5054479ee4b6ea0ca18fb33250d Mon Sep 17 00:00:00 2001 From: ATXMJ <> Date: Mon, 16 Sep 2024 11:41:40 -0600 Subject: [PATCH] docs: add payment verifications & internet identifiers --- docs/getting-started-devs/integrations.md | 295 ++++++++++++++++++++-- 1 file changed, 271 insertions(+), 24 deletions(-) diff --git a/docs/getting-started-devs/integrations.md b/docs/getting-started-devs/integrations.md index aa94376f..b512900d 100644 --- a/docs/getting-started-devs/integrations.md +++ b/docs/getting-started-devs/integrations.md @@ -1,29 +1,34 @@ --- title: Integrations description: Integrating with Nano -tags: nano, integration, guide, building, development, uri, links, qr +tags: nano, integration, guide, building, development, uri, links, qr, identifier, identifiers, nfc --- # Integrations -### Table of Contents +##### Table of Contents -- [URI Scheme Standards](#uri-scheme-standards) -- [QR Code Standards](#qr-code-standards) +- [URI Schemes](#uri-schemes) +- [Payment Verifications](#payment-verifications) +- [Nano Internet Identifiers](#nano-internet-identifiers) +- [QR Codes and NFC Tags](#qr-codes-and-nfc-tags) +- [URI Examples](#uri-examples) --- -## URI Scheme Standards +## URI Schemes -Nano wallet clients should support handling of both URI scheme standards: the universal [`payto:` scheme](#payto-payment-invocation-uri-scheme), as well as the original [`nano:` scheme](#nano-payment-invocation-uri-scheme). +Nano wallet clients should support handling of two URI scheme standards: the universal [`payto:` scheme](#payto-payment-invocation-uri-scheme), as well as the original [`nano:` scheme](#nano-payment-invocation-uri-scheme). Deep links for payment invocation should prefer the payto standard and use the format `payto://` rather than `payto:`. -`amount` values must always default to [RAW units](https://docs.nano.org/protocol-design/distribution-and-units/). +`amount` values MUST always default to [RAW units](https://docs.nano.org/protocol-design/distribution-and-units/). For the `payto:` scheme, other currencies or units may be manually specified (eg XNO, USD, EUR) using the `currency` option. -### Table of Contents +See [URI Examples](#uri-examples) for examples. + +##### Table of Contents - [`payto:` URI scheme](#payto-payment-invocation-uri-scheme) - [`nano:` URI scheme](#nano-payment-invocation-uri-scheme) @@ -34,17 +39,23 @@ Deep links for payment invocation should prefer the payto standard and use the f The `payto:` URI scheme, defined in [RFC-8905](https://www.rfc-editor.org/rfc/rfc8905.html) is a universal standard for designating targets for payments. +See [URI Examples](#uri-examples) for examples. + ### Syntax ``` -payto:nano/nano_/[?][amount=[:]][&][receiver_name=][&][message=] +payto:nano/[?][amount=[:]][&][receiver_name=][&][message=] ``` Note: Clients MUST accept URIs with options in any order. -#### encoded_address (required) +#### recipient (required) + +MUST be provided. + +Can be either the recipient's [Nano internet identifier](#internet-identifiers) or [public Nano address](https://docs.nano.org/integration-guides/the-basics/#account-public-address). -The recipient's [public Nano address](https://docs.nano.org/integration-guides/the-basics/#account-public-address) MUST be provided, and MUST be encoded using Nano's base32 encoding algorithm. +Public nano addresses MUST be encoded using Nano's base32 encoding algorithm and prefixed with `nano_`. #### currency @@ -74,17 +85,27 @@ A short message to identify the purpose of the payment. ## nano: Payment Invocation URI Scheme +The `nano:` URI scheme is the [original scheme](https://docs.nano.org/integration-guides/the-basics/#uri-and-qr-code-standards) defined for Nano URIs. + +It is now recommended to use the [payto: URI scheme](#payto-payment-invocation-uri-scheme) for payment invocations and confirmations. For other purposes, the [nano\*: action URI schemes](#additional-nano-action-invocation-uri-schemes) should be used. + +See [URI Examples](#uri-examples) for examples. + ### Syntax ``` -nano:nano_[?][amount=][&][label=