mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-17 05:54:26 +01:00
switch pos to metadata in invoice create view (#5412)
Co-authored-by: d11n <mail@dennisreimann.de>
This commit is contained in:
@@ -1258,6 +1258,19 @@ namespace BTCPayServer.Controllers
|
||||
model.CheckoutType = storeBlob.CheckoutType;
|
||||
model.AvailablePaymentMethods = GetPaymentMethodsSelectList();
|
||||
|
||||
JObject? metadataObj = null;
|
||||
if (!string.IsNullOrEmpty(model.Metadata))
|
||||
{
|
||||
try
|
||||
{
|
||||
metadataObj = JObject.Parse(model.Metadata);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ModelState.AddModelError(nameof(model.Metadata), "Metadata was not valid JSON");
|
||||
}
|
||||
}
|
||||
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return View(model);
|
||||
@@ -1276,17 +1289,27 @@ namespace BTCPayServer.Controllers
|
||||
|
||||
try
|
||||
{
|
||||
var metadata = metadataObj is null ? new InvoiceMetadata() : InvoiceMetadata.FromJObject(metadataObj);
|
||||
if (!string.IsNullOrEmpty(model.OrderId))
|
||||
{
|
||||
metadata.OrderId = model.OrderId;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(model.ItemDesc))
|
||||
{
|
||||
metadata.ItemDesc = model.ItemDesc;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(model.BuyerEmail))
|
||||
{
|
||||
metadata.BuyerEmail = model.BuyerEmail;
|
||||
}
|
||||
|
||||
var result = await CreateInvoiceCoreRaw(new CreateInvoiceRequest()
|
||||
{
|
||||
Amount = model.Amount,
|
||||
Currency = model.Currency,
|
||||
Metadata = new InvoiceMetadata()
|
||||
{
|
||||
PosDataLegacy = model.PosData,
|
||||
OrderId = model.OrderId,
|
||||
ItemDesc = model.ItemDesc,
|
||||
BuyerEmail = model.BuyerEmail,
|
||||
}.ToJObject(),
|
||||
Metadata = metadata.ToJObject(),
|
||||
Checkout = new ()
|
||||
{
|
||||
RedirectURL = store.StoreWebsite,
|
||||
|
||||
Reference in New Issue
Block a user