- $processors = $liveProcessors = self::getAllPaymentProcessors('all');
-
- if (in_array('TestMode', $capabilities)) {
- if ($ids) {
- foreach ($testProcessors as $testProcessor) {
- if (!in_array($testProcessor['id'], $ids)) {
- foreach ($liveProcessors as $liveProcessor) {
- if ($liveProcessor['name'] == $testProcessor['name']) {
- $ids[] = $testProcessor['id'];
- }
+ $processors = self::getAllPaymentProcessors('all');
+
+ if (in_array('TestMode', $capabilities) && is_array($ids)) {
+ $possibleLiveIDs = array_diff($ids, array_keys($testProcessors));
+ foreach ($possibleLiveIDs as $possibleLiveID) {
+ if (isset($processors[$possibleLiveID]) && ($liveProcessorName = $processors[$possibleLiveID]['name']) != FALSE) {
+ foreach ($testProcessors as $index => $testProcessor) {
+ if ($testProcessor['name'] == $liveProcessorName) {
+ $ids[] = $testProcessor['id'];