Skip to content

Commit 2ac4951

Browse files
authored
Merge pull request #12 from openstore-ecommerce/feature/improve-payment-description
Feature/improve payment description
2 parents 9da8778 + adf7063 commit 2ac4951

File tree

8 files changed

+79
-6
lines changed

8 files changed

+79
-6
lines changed

App_LocalResources/Payment.ascx.nl-NL.resx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,4 +174,19 @@
174174
<data name="IdealOnlyMessage.Text" xml:space="preserve">
175175
<value>Keuze voor betaalmethode bij Mollie overslaan en direct het bank-selectie scherm van iDeal tonen.</value>
176176
</data>
177+
<data name="AddUsernameLabel.Text" xml:space="preserve">
178+
<value>Gebruikersnaam toevoegen</value>
179+
</data>
180+
<data name="AddUsernameMessage.Text" xml:space="preserve">
181+
<value>Gebruikersnaam toevoegen aan de omschrijving van de betaling op het bankafschrift.</value>
182+
</data>
183+
<data name="PaymentDescription.Text" xml:space="preserve">
184+
<value>Omschrijving betaling</value>
185+
</data>
186+
<data name="PaymentDescriptionDefault.Text" xml:space="preserve">
187+
<value>Bestelling ID: [ORDERNUMBER]</value>
188+
</data>
189+
<data name="PaymentDescriptionHelp.Text" xml:space="preserve">
190+
<value>De omschrijving van de betaling zoals zichtbaar op het bankafschrift. Gebruik [ORDERNUMBER] voor het bestelnummer. Is dat er niet, dan wordt het bestelnummer aan het eind van de omschrijving geplaatst.</value>
191+
</data>
177192
</root>

App_LocalResources/Payment.ascx.resx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,4 +174,19 @@
174174
<data name="IdealOnlyMessage.Text" xml:space="preserve">
175175
<value>Skip payment method selection at Mollie and go straight to iDeal bank selection instead.</value>
176176
</data>
177+
<data name="AddUsernameLabel.Text" xml:space="preserve">
178+
<value>Add Username</value>
179+
</data>
180+
<data name="AddUsernameMessage.Text" xml:space="preserve">
181+
<value>Add username to payment description on the bank statement</value>
182+
</data>
183+
<data name="PaymentDescription.Text" xml:space="preserve">
184+
<value>Payment description</value>
185+
</data>
186+
<data name="PaymentDescriptionDefault.Text" xml:space="preserve">
187+
<value>Order ID: [ORDERNUMBER]</value>
188+
</data>
189+
<data name="PaymentDescriptionHelp.Text" xml:space="preserve">
190+
<value>Payment description as writen on the bank statement. Use [ORDERNUMBER] for ordernumber. If that's missing, the ordernumber will be written at the end of the description.</value>
191+
</data>
177192
</root>

Components/PaymentProvider.cs

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using DotNetNuke.Entities.Portals;
1212
using DotNetNuke.Entities.Users;
1313
using DotNetNuke.Services.Log.EventLog;
14+
using DotNetNuke.Services.Tokens;
1415
using Mollie.Api.Client;
1516
using Mollie.Api.Client.Abstract;
1617
using Mollie.Api.Models;
@@ -59,21 +60,48 @@ public override string RedirectForPayment(OrderData orderData)
5960

6061
var info = ProviderUtils.GetProviderSettings();
6162

62-
string cartDesc = info.GetXmlProperty("genxml/textbox/cartdescription");
63+
string cartDesc = info.GetXmlProperty("genxml/lang/genxml/textbox/paymentdescription");
64+
if (string.IsNullOrEmpty(cartDesc)) // default to previous behaviour
65+
{
66+
cartDesc = "Bestelling ID: [ORDERNUMBER]";
67+
}
6368
var ApiKey = info.GetXmlProperty("genxml/textbox/key");
6469
var idealOnly = true; // default to previous behaviour
6570
if (info.XMLDoc.SelectSingleNode("genxml/checkbox/idealonly") != null)
6671
{
6772
// take the value from the settings, if it exists
6873
idealOnly = info.GetXmlPropertyBool("genxml/checkbox/idealonly");
6974
}
75+
var addUsername = false; // default to previous behaviour
76+
if (info.XMLDoc.SelectSingleNode("genxml/checkbox/addusername") != null)
77+
{
78+
// take the value from the settings, if it exists
79+
addUsername = info.GetXmlPropertyBool("genxml/checkbox/addusername");
80+
}
7081
var notifyUrl = Utils.ToAbsoluteUrl("/DesktopModules/NBright/OS_Mollie/notify.ashx");
7182
var returnUrl = Globals.NavigateURL(StoreSettings.Current.PaymentTabId, "");
7283

7384
//orderid/itemid
7485
var ItemId = orderData.PurchaseInfo.ItemID.ToString("");
7586

7687
var productOrderNumber = orderData.OrderNumber;
88+
if (cartDesc.Contains("[ORDERNUMBER]"))
89+
{
90+
cartDesc = cartDesc.Replace("[ORDERNUMBER]", productOrderNumber);
91+
}
92+
else
93+
{
94+
cartDesc = cartDesc.Trim() + " " + productOrderNumber;
95+
}
96+
97+
if (addUsername)
98+
{
99+
var orderUser = UserController.Instance.GetUser(orderData.PortalId, orderData.UserId);
100+
if (!string.IsNullOrEmpty(orderUser?.Username))
101+
{
102+
cartDesc = cartDesc + "/" + orderUser?.Username;
103+
}
104+
}
77105

78106
////var nbi = new NBrightInfo();
79107
//nbi.XMLData = orderData.payselectionXml;
@@ -95,7 +123,7 @@ public override string RedirectForPayment(OrderData orderData)
95123
IdealPaymentRequest paymentRequestIdeal = new IdealPaymentRequest()
96124
{
97125
Amount = new Amount(Currency.EUR, totalPrijsString2),
98-
Description = "Bestelling ID: " + " " + productOrderNumber + " " + cartDesc,
126+
Description = cartDesc,
99127
RedirectUrl = returnUrl + "/orderid/" + ItemId,
100128
WebhookUrl = notifyUrl + "?orderid=" + ItemId,
101129
Locale = Locale.nl_NL,

DNNpackager.dnnpack

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<root>
2-
<version>1.4.1</version>
2+
<version>1.4.2</version>
33
<websitedestrelpath>\DesktopModules\NBright\OS_Mollie</websitedestrelpath>
44
<websitedestbinrelpath>\bin</websitedestbinrelpath>
55
<!-- Include only files that match the regular expression -->
100 KB
Binary file not shown.

OS_Mollie.dnn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<dotnetnuke type="Package" version="5.0">
22
<packages>
3-
<package name="OS_Mollie" type="Module" version="1.4.1">
3+
<package name="OS_Mollie" type="Module" version="1.5.0">
44
<friendlyName>OS_Mollie</friendlyName>
55
<description>Mollie Payment provider for Open-Store</description>
66
<iconFile>~/DesktopModules/NBright/NBrightBuy/icon-openstore.png</iconFile>

Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@
3232
// You can specify all the values or you can default the Build and Revision Numbers
3333
// by using the '*' as shown below:
3434
// [assembly: AssemblyVersion("1.0.*")]
35-
[assembly: AssemblyVersion("1.4.1.0")]
36-
[assembly: AssemblyFileVersion("1.4.1.0")]
35+
[assembly: AssemblyVersion("1.4.2.0")]
36+
[assembly: AssemblyFileVersion("1.4.2.0")]

Themes/config/default/settingsfields.cshtml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,13 @@ var info = (NBrightInfo)Model.List.First();
118118
@TextBox(info, "genxml/textbox/key", "class='form-control'", "999")
119119
</div>
120120
</div>
121+
<div class="form-group">
122+
<label class="col-sm-2 control-label">@ResourceKey("Payment.PaymentDescription", info.Lang)</label>
123+
<div class="col-sm-3">
124+
@NBrightTextBox(info, "genxml/lang/genxml/textbox/paymentdescription", "maxlength='100'", ResourceKey("CartView.PaymentDescriptionDefault", info.Lang).ToString())
125+
<span class="help-block">@ResourceKey("Payment.PaymentDescriptionHelp", info.Lang)</span>
126+
</div>
127+
</div>
121128
<div class="form-group">
122129
<label class="col-sm-2 control-label">@ResourceKey("Payment.IdealOnlyLabel", info.Lang)</label>
123130
<div class="col-sm-5">
@@ -126,6 +133,14 @@ var info = (NBrightInfo)Model.List.First();
126133
</div>
127134
</div>
128135
</div>
136+
<div class="form-group">
137+
<label class="col-sm-2 control-label">@ResourceKey("Payment.AddUsernameLabel", info.Lang)</label>
138+
<div class="col-sm-5">
139+
<div class="dnnFormItem">
140+
@CheckBox(info, "genxml/checkbox/addusername", ResourceKey("Payment.AddUsernameMessage", info.Lang).ToString(), "", false)
141+
</div>
142+
</div>
143+
</div>
129144
</div>
130145

131146
<div class="row">

0 commit comments

Comments
 (0)