$paymentMethodStr = MODULE_PAYMENT_SOFORT_SOFORTVORKASSE_TEXT_TITLE; } $tmpOrderStatus = getStatusId(MODULE_PAYMENT_SOFORT_SV_TMP_STATUS_ID); $confirmedOrderStatus = getStatusId(MODULE_PAYMENT_SOFORT_SV_ORDER_STATUS_ID); } elseif ($paymentMethod == 'ls') { $paymentMethodStr = MODULE_PAYMENT_SOFORT_LASTSCHRIFT_TEXT_TITLE; $tmpOrderStatus = DEFAULT_ORDERS_STATUS_ID; $confirmedOrderStatus = getStatusId(MODULE_PAYMENT_SOFORT_LS_ORDER_STATUS_ID); } elseif ($paymentMethod == 'ideal') { $paymentMethodStr = MODULE_PAYMENT_SOFORT_IDEAL_TEXT_TITLE; $tmpOrderStatus = getStatusId(MODULE_PAYMENT_SOFORT_IDEAL_CLASSIC_TMP_STATUS_ID); $confirmedOrderStatus = getStatusId(MODULE_PAYMENT_SOFORT_IDEAL_CLASSIC_ORDER_STATUS_ID); } else { exit('Error! Unknown payment method! (' . $paymentMethod . ').'); } $checkOrderStatus = getStatusId($configuration['MODULE_PAYMENT_SOFORT_MULTIPAY_CHECK_STATUS_ID']); if ($statusReason == 'not_credited_yet') { $statusReasonStr = MODULE_PAYMENT_SOFORT_STATUS_NOT_CREDITED_YET; } elseif ($statusReason == 'wait_for_money' && $paymentMethod == 'sv') { $statusReasonStr = MODULE_PAYMENT_SOFORT_STATUS_WAIT_FOR_MONEY; } elseif ($statusReason == 'partially_credited' && $paymentMethod == 'sv') { $statusReasonStr = MODULE_PAYMENT_SOFORT_STATUS_PARTIALLY_CREDITED; } elseif ($statusReason == 'overpayment' && $paymentMethod == 'sv') { $statusReasonStr = MODULE_PAYMENT_SOFORT_STATUS_OVERPAYMENT; } elseif ($statusReason == 'compensation' && $paymentMethod == 'sv') { $statusReasonStr = MODULE_PAYMENT_SOFORT_STATUS_SV_COMPENSATION; $refunded_amount = $SofortLib_TransactionData->getAmountRefunded(); // Used in regex below, dont change! } elseif ($statusReason == 'credited') { $statusReasonStr = MODULE_PAYMENT_SOFORT_STATUS_RECEIVED; } elseif ($status == 'loss' && $paymentMethod == 'su') {
$comment = sprintf(MODULE_PAYMENT_PN_SOFORTUEBERWEISUNG_SUCCESS_PAYMENT, $_POST['transaction']); echo MODULE_PAYMENT_PN_SOFORTUEBERWEISUNG_SUCCESS_CALLBACK; } else { if ($data['status'] == 'loss') { $order_status = getStatusId(MODULE_PAYMENT_PN_SOFORTUEBERWEISUNG_LOSS_STATUS_ID); $comment = sprintf(MODULE_PAYMENT_PN_SOFORTUEBERWEISUNG_ERROR_PAYMENT, $_POST['transaction']); echo MODULE_PAYMENT_PN_SOFORTUEBERWEISUNG_SUCCESS_CALLBACK; } else { $order_status = getStatusId(MODULE_PAYMENT_PN_SOFORTUEBERWEISUNG_UNC_STATUS_ID); $comment = MODULE_PAYMENT_PN_SOFORTUEBERWEISUNG_ERROR_UNEXPECTED_STATUS; echo MODULE_PAYMENT_PN_SOFORTUEBERWEISUNG_ERROR_UNEXPECTED_STATUS; } } } } else { $order_status = getStatusId(MODULE_PAYMENT_PN_SOFORTUEBERWEISUNG_UNC_STATUS_ID); $comment = sprintf(MODULE_PAYMENT_PN_SOFORTUEBERWEISUNG_ERROR_TRANSACTION, $_POST['transaction']); printf(MODULE_PAYMENT_PN_SOFORTUEBERWEISUNG_ERROR_WRONG_TOTALS, $data['amount'], $order_total); echo MODULE_PAYMENT_PN_SOFORTUEBERWEISUNG_WARNING_CALLBACK; } // Update status $sql_data_array = array('orders_id' => (int) $x_order_id, 'orders_status_id' => $order_status, 'date_added' => 'now()', 'customer_notified' => '0', 'comments' => $comment); xtc_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array); xtc_db_query("update " . TABLE_ORDERS . " set orders_status = '" . $order_status . "', last_modified = now() where orders_id = '" . (int) $x_order_id . "'"); } function getStatusId($status) { if ($status > 0) { return $status; } else { return DEFAULT_ORDERS_STATUS_ID;