1111using DotNetNuke . Entities . Portals ;
1212using DotNetNuke . Entities . Users ;
1313using DotNetNuke . Services . Log . EventLog ;
14+ using DotNetNuke . Services . Tokens ;
1415using Mollie . Api . Client ;
1516using Mollie . Api . Client . Abstract ;
1617using 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 ,
0 commit comments