Well, in the v1.3.8 code, lines 1465-1469 read as follows (note: no mention of any array_merge operation):
Code:
// track one-time charges
if ($order->products[$i]['onetime_charges'] != 0 ) {
$onetimeSum += $order->products[$i]['onetime_charges'];
$onetimeTax += zen_calculate_tax($order->products[$i]['onetime_charges'], $order->products[$i]['tax']);
}
In v1.3.7, line 1467 reads as shown:
Code:
$this->zcLog('ec_step1 - 2 -submit', print_r(array_merge($return_url, $cancel_url, $options), true));
In v1.3.7.1, lines 1463-1469 read thus:
Code:
// handle discounts such as gift certificates and coupons
if ($credits_applied > 0) {
$optionsST['HANDLINGAMT'] -= $creditsApplied;
}
// add all one-time charges
$optionsST['ITEMAMT'] += $onetimeSum;
So, if you're seeing an array_merge() error on line 1467, that tells me that your paypal express checkout module is from v1.3.7.
The v1.3.7 PayPal code had a number of glitches, and several patches were released, culminating in v1.3.7.1.
So, as I stated in my first reply to this issue (above), you need to either apply the patch, or upgrade your site.
If you're going to upgrade your site, you may as well jump to 1.3.8a, as it is the latest as of this writing.