@@ -107,20 +107,24 @@ public function sendData($data)
107107 $ mdxi ->Order ->TemplateSet ->setCSSName ($ data ['cssName ' ]);
108108 }
109109
110- if (isset ($ data ['paymentType ' ]) && isset ( $ data [ ' brand ' ]) ) {
110+ if (isset ($ data ['paymentType ' ])) {
111111 // A single payment type is requested.
112112
113- $ this ->addPaymentType ($ mdxi , $ data ['paymentType ' ], $ data ['brand ' ]);
113+ $ this ->addPaymentType ($ mdxi , $ data ['paymentType ' ], $ data ['brand ' ] ?? null );
114114 }
115115
116116 if (isset ($ data ['paymentMethods ' ])) {
117117 // A list of payment types is requested for the payment page.
118118
119- $ paymentMethods = json_decode ($ data ['paymentMethods ' ], true );
119+ if (is_string ($ data ['paymentMethods ' ])) {
120+ $ paymentMethods = json_decode ($ data ['paymentMethods ' ], true );
121+ } else {
122+ $ paymentMethods = $ data ['paymentMethods ' ];
123+ }
120124
121125 if (is_array ($ paymentMethods )) {
122126 foreach ($ paymentMethods as $ paymentMethod ) {
123- $ this ->addPaymentType ($ mdxi , $ paymentMethod ['paymentType ' ], $ paymentMethod ['brand ' ]);
127+ $ this ->addPaymentType ($ mdxi , $ paymentMethod ['paymentType ' ], $ paymentMethod ['brand ' ] ?? null );
124128 }
125129 }
126130 }
@@ -216,7 +220,7 @@ public function sendData($data)
216220 /**
217221 * Add a single payment method to the mdxi object.
218222 */
219- protected function addPaymentType (Mpay24Order $ mdxi , string $ paymentType , string $ brand )
223+ protected function addPaymentType (Mpay24Order $ mdxi , string $ paymentType , ? string $ brand = null )
220224 {
221225 if ($ this ->paymentMethodCount === 0 ) {
222226 $ mdxi ->Order ->PaymentTypes ->setEnable ('true ' );
@@ -225,6 +229,9 @@ protected function addPaymentType(Mpay24Order $mdxi, string $paymentType, string
225229 $ this ->paymentMethodCount ++;
226230
227231 $ mdxi ->Order ->PaymentTypes ->Payment ($ this ->paymentMethodCount )->setType ($ paymentType );
228- $ mdxi ->Order ->PaymentTypes ->Payment ($ this ->paymentMethodCount )->setBrand ($ brand );
232+
233+ if ($ brand !== null ) {
234+ $ mdxi ->Order ->PaymentTypes ->Payment ($ this ->paymentMethodCount )->setBrand ($ brand );
235+ }
229236 }
230237}
0 commit comments