mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2024-11-19 09:54:30 +01:00
Add links to invoice metadata in the docs (#4869)
This commit is contained in:
parent
48ebaf5c5a
commit
639e8a4a1d
@ -262,7 +262,12 @@
|
|||||||
Model.TypedMetadata.TaxIncluded is not null)
|
Model.TypedMetadata.TaxIncluded is not null)
|
||||||
{
|
{
|
||||||
<div>
|
<div>
|
||||||
<h3 class="mb-3">Product Information</h3>
|
<h3 class="mb-3">
|
||||||
|
<span>Product Information</span>
|
||||||
|
<a href="https://docs.btcpayserver.org/Development/InvoiceMetadata/" target="_blank" rel="noreferrer noopener">
|
||||||
|
<vc:icon symbol="info" />
|
||||||
|
</a>
|
||||||
|
</h3>
|
||||||
<table class="table mb-0">
|
<table class="table mb-0">
|
||||||
@if (!string.IsNullOrEmpty(Model.TypedMetadata.ItemCode))
|
@if (!string.IsNullOrEmpty(Model.TypedMetadata.ItemCode))
|
||||||
{
|
{
|
||||||
@ -299,7 +304,11 @@
|
|||||||
Model.TypedMetadata.BuyerZip is not null)
|
Model.TypedMetadata.BuyerZip is not null)
|
||||||
{
|
{
|
||||||
<div>
|
<div>
|
||||||
<h3 class="mb-3">Buyer Information</h3>
|
<h3 class="mb-3"><span>Buyer Information</span>
|
||||||
|
<a href="https://docs.btcpayserver.org/Development/InvoiceMetadata/" target="_blank" rel="noreferrer noopener">
|
||||||
|
<vc:icon symbol="info" />
|
||||||
|
</a>
|
||||||
|
</h3>
|
||||||
<table class="table mb-0">
|
<table class="table mb-0">
|
||||||
@if (Model.TypedMetadata.BuyerName is not null)
|
@if (Model.TypedMetadata.BuyerName is not null)
|
||||||
{
|
{
|
||||||
@ -372,7 +381,12 @@
|
|||||||
@if (Model.AdditionalData.Any())
|
@if (Model.AdditionalData.Any())
|
||||||
{
|
{
|
||||||
<div>
|
<div>
|
||||||
<h3 class="mb-3">Additional Information</h3>
|
<h3 class="mb-3">
|
||||||
|
<span>Additional Information</span>
|
||||||
|
<a href="https://docs.btcpayserver.org/Development/InvoiceMetadata/" target="_blank" rel="noreferrer noopener">
|
||||||
|
<vc:icon symbol="info" />
|
||||||
|
</a>
|
||||||
|
</h3>
|
||||||
<partial name="PosData" model="(Model.AdditionalData, 1)" />
|
<partial name="PosData" model="(Model.AdditionalData, 1)" />
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
@ -90,6 +90,9 @@
|
|||||||
<div class="col-12 col-sm-auto">
|
<div class="col-12 col-sm-auto">
|
||||||
<div class="form-group" title="Metadata (in JSON) to add to the invoice when created through this lightning address.">
|
<div class="form-group" title="Metadata (in JSON) to add to the invoice when created through this lightning address.">
|
||||||
<label asp-for="Add.InvoiceMetadata" class="form-label"></label>
|
<label asp-for="Add.InvoiceMetadata" class="form-label"></label>
|
||||||
|
<a href="https://docs.btcpayserver.org/Development/InvoiceMetadata/" target="_blank" rel="noreferrer noopener">
|
||||||
|
<vc:icon symbol="info" />
|
||||||
|
</a>
|
||||||
<textarea asp-for="Add.InvoiceMetadata" class="form-control" ></textarea>
|
<textarea asp-for="Add.InvoiceMetadata" class="form-control" ></textarea>
|
||||||
<span asp-validation-for="Add.InvoiceMetadata" class="text-danger"></span>
|
<span asp-validation-for="Add.InvoiceMetadata" class="text-danger"></span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -937,147 +937,171 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"InvoiceMetadataPosString": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "shown on the invoice details page"
|
|
||||||
},
|
|
||||||
"InvoiceMetadataPosObject": {
|
|
||||||
"type": "object",
|
|
||||||
"description": "Any json object in any schema you want. Will be rendered on a best effort basis in terms of style on the invoice details UI"
|
|
||||||
},
|
|
||||||
"InvoiceMetadata": {
|
"InvoiceMetadata": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": true,
|
"additionalProperties": true,
|
||||||
"description": "Additional information around the invoice that can be supplied. The mentioned properties are all optional and you can introduce any json format you wish.",
|
"description": "Additional information around the invoice that can be supplied. The mentioned properties are all optional and you can introduce any json format you wish. See [our documentation](https://docs.btcpayserver.org/Development/InvoiceMetadata/) for more information.",
|
||||||
|
"example": {
|
||||||
|
"orderId": "pos-app_346KRC5BjXXXo8cRFKwTBmdR6ZJ4",
|
||||||
|
"orderUrl": "https://localhost:14142/apps/346KRC5BjXXXo8cRFKwTBmdR6ZJ4/pos",
|
||||||
|
"itemDesc": "Tea shop",
|
||||||
|
"posData": {
|
||||||
|
"tip": 0.48,
|
||||||
|
"cart": [
|
||||||
|
{
|
||||||
|
"id": "pu erh",
|
||||||
|
"count": 1,
|
||||||
|
"image": "~/img/pos-sample/pu-erh.jpg",
|
||||||
|
"price": {
|
||||||
|
"type": 2,
|
||||||
|
"value": 2,
|
||||||
|
"formatted": "$2.00"
|
||||||
|
},
|
||||||
|
"title": "Pu Erh",
|
||||||
|
"inventory": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "rooibos",
|
||||||
|
"count": 1,
|
||||||
|
"image": "~/img/pos-sample/rooibos.jpg",
|
||||||
|
"price": {
|
||||||
|
"type": 2,
|
||||||
|
"value": 1.2,
|
||||||
|
"formatted": "$1.20"
|
||||||
|
},
|
||||||
|
"title": "Rooibos",
|
||||||
|
"inventory": null
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"total": 3.68,
|
||||||
|
"subTotal": 3.2,
|
||||||
|
"customAmount": 0,
|
||||||
|
"discountAmount": 0,
|
||||||
|
"discountPercentage": 0
|
||||||
|
},
|
||||||
|
"receiptData": {
|
||||||
|
"Tip": "$0.48",
|
||||||
|
"Cart": {
|
||||||
|
"Pu Erh": "$2.00 x 1 = $2.00",
|
||||||
|
"Rooibos": "$1.20 x 1 = $1.20"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
|
"title": "Order information",
|
||||||
"properties": {
|
"properties": {
|
||||||
"orderId": {
|
"orderId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
"description": "You can use this property to store the ID of an external system. We allow you to search in the invoice list based on this ID."
|
"description": "Refers to the order ID from an external system, such as an e-commerce platform like WooCommerce. This property is indexed, allowing for efficient invoice searches using the `orderId`."
|
||||||
},
|
},
|
||||||
"orderUrl": {
|
"orderUrl": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
"description": "You can use this property to store the URL to the order of an external system. This makes navigating to the order easier."
|
"description": "Refers to a URL linking back to the order page of the external system. This link is displayed in the invoice details view."
|
||||||
|
},
|
||||||
|
"taxIncluded": {
|
||||||
|
"type": "number",
|
||||||
|
"nullable": true,
|
||||||
|
"description": "Represents the tax amount in the invoice currency. This information will appear in the invoice details view. During invoice creation, the value is automatically rounded to significant digits and ensured not to be greater than the invoice's price."
|
||||||
|
},
|
||||||
|
"physical": {
|
||||||
|
"type": "string",
|
||||||
|
"nullable": true,
|
||||||
|
"description": "Indicates if this is a physical good; displayed in the invoice details view and in the BitPay API-compatible endpoints."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"title": "Point of Sale (Cart view)",
|
||||||
"properties": {
|
"properties": {
|
||||||
"posData": {
|
"posData": {
|
||||||
"oneOf": [
|
"type": "object",
|
||||||
{
|
"description": "A custom JSON object that represents information displayed in the invoice details view."
|
||||||
"$ref": "#/components/schemas/InvoiceMetadataPosString"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/InvoiceMetadataPosObject"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"buyerName": {
|
|
||||||
"type": "string",
|
|
||||||
"nullable": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"buyerEmail": {
|
|
||||||
"type": "string",
|
|
||||||
"nullable": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"buyerCountry": {
|
|
||||||
"type": "string",
|
|
||||||
"nullable": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"buyerZip": {
|
|
||||||
"type": "string",
|
|
||||||
"nullable": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"buyerState": {
|
|
||||||
"type": "string",
|
|
||||||
"nullable": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"buyerCity": {
|
|
||||||
"type": "string",
|
|
||||||
"nullable": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"buyerAddress1": {
|
|
||||||
"type": "string",
|
|
||||||
"nullable": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"buyerAddress2": {
|
|
||||||
"type": "string",
|
|
||||||
"nullable": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"buyerPhone": {
|
|
||||||
"type": "string",
|
|
||||||
"nullable": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"title": "Product information",
|
||||||
"properties": {
|
"properties": {
|
||||||
"itemDesc": {
|
"itemDesc": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"nullable": true
|
"nullable": true,
|
||||||
}
|
"description": "When using the Point of Sale (except in keypad or cart view), this field is set to the item description of the purchased item. This information is included in the CSV invoice export feature and appears in the invoice details view."
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"itemCode": {
|
"itemCode": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"nullable": true
|
"nullable": true,
|
||||||
|
"description": "When using the Point of Sale (except in keypad or cart view), this field is set to the item code of the purchased item. This information is included in the CSV invoice export feature and appears in the invoice details view."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"title": "Payment request information",
|
||||||
"properties": {
|
"properties": {
|
||||||
"physical": {
|
"paymentRequestId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
"nullable": true,
|
||||||
|
"description": "In the invoice details view, a link is provided for navigating to the payment request page associated with the invoice."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Buyer informations",
|
||||||
|
"properties": {
|
||||||
|
"buyerName": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Visible in the invoice details view and in the BitPay API-compatible endpoints.",
|
||||||
|
"nullable": true
|
||||||
|
},
|
||||||
|
"buyerEmail": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Visible in the invoice details view and in the BitPay API-compatible endpoints.",
|
||||||
|
"nullable": true
|
||||||
|
},
|
||||||
|
"buyerCountry": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Visible in the invoice details view and in the BitPay API-compatible endpoints.",
|
||||||
|
"nullable": true
|
||||||
|
},
|
||||||
|
"buyerZip": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Visible in the invoice details view and in the BitPay API-compatible endpoints.",
|
||||||
|
"nullable": true
|
||||||
|
},
|
||||||
|
"buyerState": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Visible in the invoice details view and in the BitPay API-compatible endpoints.",
|
||||||
|
"nullable": true
|
||||||
|
},
|
||||||
|
"buyerCity": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Visible in the invoice details view and in the BitPay API-compatible endpoints.",
|
||||||
|
"nullable": true
|
||||||
|
},
|
||||||
|
"buyerAddress1": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Visible in the invoice details view and in the BitPay API-compatible endpoints.",
|
||||||
|
"nullable": true
|
||||||
|
},
|
||||||
|
"buyerAddress2": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Visible in the invoice details view and in the BitPay API-compatible endpoints.",
|
||||||
|
"nullable": true
|
||||||
|
},
|
||||||
|
"buyerPhone": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Visible in the invoice details view and in the BitPay API-compatible endpoints.",
|
||||||
"nullable": true
|
"nullable": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"title": "Receipt information",
|
||||||
"properties": {
|
"properties": {
|
||||||
"taxIncluded": {
|
"receiptData": {
|
||||||
"type": "number",
|
"description": "A custom JSON object that represents information displayed on the receipt page of an invoice.",
|
||||||
"nullable": true
|
"nullable": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,6 +55,7 @@ We introduce another flag, `--deprecated`, which allows you to start with SQLite
|
|||||||
* Store branding: Improve complementing text and accent colors (#4746) @dennisreimann
|
* Store branding: Improve complementing text and accent colors (#4746) @dennisreimann
|
||||||
* UI: Improve pagination (#4828) @benalleng @dennisreimann
|
* UI: Improve pagination (#4828) @benalleng @dennisreimann
|
||||||
* Checkout V2: Remove `Pay by LNURL Withdraw` button if NFC isn't supported by the browser (#4822) @dennisreimann
|
* Checkout V2: Remove `Pay by LNURL Withdraw` button if NFC isn't supported by the browser (#4822) @dennisreimann
|
||||||
|
* Greenfield: Improve documentation of invoice's metadata (#4869) @NicolasDorier
|
||||||
|
|
||||||
## 1.8.4
|
## 1.8.4
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user