protected function get_futubank_form() { return new FutubankForm( CSalePaySystemAction::GetParamValue('MERCHANT_ID'), CSalePaySystemAction::GetParamValue('SECRET_KEY'), CSalePaySystemAction::GetParamValue('IS_TEST') == 'Y' ); }
function init() { $this->username = CSalePaySystemAction::GetParamValue("USER"); $this->pwd = CSalePaySystemAction::GetParamValue("PWD"); $this->signature = CSalePaySystemAction::GetParamValue("SIGNATURE"); $this->currency = CSalePaySystemAction::GetParamValue("CURRENCY"); $this->testMode = CSalePaySystemAction::GetParamValue("TEST") == "Y"; if ($this->testMode) { $this->domain = "sandbox."; } if (strlen($_REQUEST["token"]) > 0) { $this->token = $_REQUEST["token"]; } if (strlen($_REQUEST["PayerID"]) > 0) { $this->payerId = $_REQUEST["PayerID"]; } $this->version = "98.0"; $dbSite = CSite::GetByID(SITE_ID); $arSite = $dbSite->Fetch(); $this->serverName = $arSite["SERVER_NAME"]; if (strLen($this->serverName) <= 0) { if (defined("SITE_SERVER_NAME") && strlen(SITE_SERVER_NAME) > 0) { $this->serverName = SITE_SERVER_NAME; } else { $this->serverName = COption::GetOptionString("main", "server_name", "www.bitrixsoft.com"); } } $this->serverName = (CMain::IsHTTPS() ? "https" : "http") . "://" . $this->serverName; if (strlen($this->username) <= 0 || strlen($this->username) <= 0 || strlen($this->username) <= 0) { $GLOBALS["APPLICATION"]->ThrowException("CSalePaySystempaypal: init error", "CSalePaySystempaypal_init_error"); return false; } return true; }
?> <font class="text" color="#009900"><b> Thank you for purchasing!<br> You have been billed <?php echo SaleFormatCurrency($AMT, "USD"); ?> </b> </font> <?php } else { if (strlen($strErrorTmp) > 0) { echo "<font color=\"#FF0000\"><b>" . $strErrorTmp . "</b></font><br>"; } $noc_def = htmlspecialcharsbx(CSalePaySystemAction::GetParamValue("NOC")); $address1_def = htmlspecialcharsbx(CSalePaySystemAction::GetParamValue("ADDRESS")); $zipcode_def = htmlspecialcharsbx(CSalePaySystemAction::GetParamValue("ZIP")); ?> <script type="text/javascript"> function checkFields(frm) { if (frm.elements['cardnum'].value == '') { alert('Card number missing'); return false; } if (frm.elements['cvv2'].value == '') { alert('CVV2 missing'); return false; }
"PS_SUM" => $AMT, "PS_CURRENCY" => "USD", "PS_RESPONSE_DATE" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", SITE_ID))), "USER_CARD_TYPE" => false, "USER_CARD_NUM" => $cardnum, "USER_CARD_EXP_MONTH" => $cardexp1, "USER_CARD_EXP_YEAR" => "20".$cardexp2, "USER_CARD_CODE" => $cvv2 ); $strPaySysError = ""; */ } } else { $noc_def = CSalePaySystemAction::GetParamValue("NOC"); $address1_def = CSalePaySystemAction::GetParamValue("ADDRESS"); $zipcode_def = CSalePaySystemAction::GetParamValue("ZIP"); ?> <table border="0" width="100%" cellpadding="2" cellspacing="2"> <tr> <td align="right" class="tablebody" width="40%"> <font class="tablebodytext">Credit Card Number</font> </td> <td class="tablebody" width="60%"> <input class="inputtext" type="text" name="cardnum" value="<?php echo htmlspecialcharsbx($_REQUEST["cardnum"]); ?> " size="35"> </td> </tr> <tr> <td align="right" class="tablebody" width="40%">
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_GET["server_responce"]) && $_GET["server_responce"] == "Y" && !empty($_POST["cartId"])) { $bCorrect = True; if ($bCorrect && !($arOrder = CSaleOrder::GetByID(IntVal($_POST["cartId"])))) { $bCorrect = False; } if ($bCorrect) { CSalePaySystemAction::InitParamArrays($arOrder, $arOrder["ID"]); $strCallbackPassword = CSalePaySystemAction::GetParamValue("CALLBACK_PASSWORD"); if (strlen($strCallbackPassword) <= 0 || $_POST["callbackPW"] != $strCallbackPassword) { $bCorrect = False; } } if ($bCorrect && isset($_POST["testMode"]) && IntVal($_POST["testMode"]) > 0) { $bCorrect = False; } if ($bCorrect) { $arFields = array("PS_STATUS" => $_POST["transStatus"] == "Y" ? "Y" : "N", "PS_STATUS_CODE" => $_POST["transStatus"], "PS_STATUS_DESCRIPTION" => $_POST["rawAuthMessage"], "PS_STATUS_MESSAGE" => $_POST["transStatus"] == "Y" ? "The WorldPay ID for this transaction: " . $_POST["transId"] . ", Time of this transaction: " . Date("r", $_POST["transTime"]) : "", "PS_SUM" => $_POST["authAmount"], "PS_CURRENCY" => $_POST["authCurrency"], "PS_RESPONSE_DATE" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG))), "USER_ID" => $arOrder["USER_ID"]); if ($arOrder["CURRENCY"] == $_POST["authCurrency"] && $arOrder["PRICE"] == $_POST["authAmount"]) { CSaleOrder::PayOrder($arOrder["ID"], "Y"); } CSaleOrder::Update($arOrder["ID"], $arFields); } }
</tr> <?php } ?> <tr><td> </td></tr> <tr> <td><nobr><?php echo CSalePaySystemAction::GetParamValue("SELLER_ACC_POS", false); ?> </nobr></td> <td style="border-bottom: 1pt solid #000000; text-align: center; "> <?php if (!$blank && CSalePaySystemAction::GetParamValue("SELLER_ACC_SIGN", false)) { ?> <span style="position: relative; "> <?php echo CFile::ShowImage(CSalePaySystemAction::GetParamValue("SELLER_ACC_SIGN", false), 200, 50, 'style="position: absolute; margin-left: -75pt; bottom: 0pt; "'); ?> </span> <?php } ?> </td> </tr> <?php } ?> <?php } ?> </table>
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } $inv_id = IntVal($_REQUEST["inv_id"]); if (IntVal($inv_id) > 0) { $bCorrectPayment = True; $inv_id = IntVal($_REQUEST["inv_id"]); $out_summ = $_REQUEST["OutSum"]; $crc = $_REQUEST["SignatureValue"]; if (!($arOrder = CSaleOrder::GetByID(IntVal($inv_id)))) { $bCorrectPayment = False; } if ($bCorrectPayment) { CSalePaySystemAction::InitParamArrays($arOrder, $arOrder["ID"]); } $mrh_pass2 = CSalePaySystemAction::GetParamValue("ShopPassword2"); $strCheck = md5($out_summ . ":" . $inv_id . ":" . $mrh_pass2); if ($bCorrectPayment && strtoupper($CHECKSUM) != strtoupper($strCheck)) { $bCorrectPayment = False; } if ($bCorrectPayment) { $arFields = array("PS_STATUS" => "Y", "PS_STATUS_CODE" => "-", "PS_STATUS_DESCRIPTION" => $strPS_STATUS_DESCRIPTION, "PS_STATUS_MESSAGE" => $strPS_STATUS_MESSAGE, "PS_SUM" => $out_summ, "PS_CURRENCY" => "", "PS_RESPONSE_DATE" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG)))); // You can comment this code if you want PAYED flag not to be set automatically if ($arOrder["PRICE"] == $out_summ) { CSaleOrder::PayOrder($arOrder["ID"], "Y"); } if (CSaleOrder::Update($arOrder["ID"], $arFields)) { echo "OK"; } } }
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();?><? include(GetLangFileName(dirname(__FILE__)."/", "/payment.php")); function either($a, $b) { if ($a != NULL) return $a; return $b;} $TMG_PK_SERVER_ADDR = CSalePaySystemAction::GetParamValue("TMG_PK_SERVER_ADDR"); $user_id = (int)$GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["USER_ID"]; $sum = (float)either( CSalePaySystemAction::GetParamValue("SHOULD_PAY"), $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SHOULD_PAY"]); $orderid = (int)either( CSalePaySystemAction::GetParamValue("ORDER_ID"), $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ID"]); $email = either($GLOBALS["SALE_INPUT_PARAMS"]["PROPERTY"]["EMAIL"], $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["USER_EMAIL"]); $phone = htmlspecialchars($GLOBALS['SALE_INPUT_PARAMS']['PROPERTY']['PHONE']); // --- BEGIN --- костыль для arteva $arOrder = getOrder($orderid); $user_id = $arOrder["ACCOUNT_NUMBER"]; // вместо пользователя передаём номер заказа (не ID) // --- END --- $opts = array ("sum"=>$sum, "user_id"=>$user_id); $payment_parameters = array("clientid"=>$user_id, "orderid"=>$orderid, "sum"=>$sum, "phone"=>$phone, "email"=>$email); $query = http_build_query($payment_parameters); $err_num = $err_text = NULL; $form = QueryGetData($TMG_PK_SERVER_ADDR, 80, "/external/", $query, $err_num, $err_text); if ($form == "") $form = "<h3>Произошла ошибка при инциализации платежа</h3><p>$err_num: ".htmlspecialchars($err_text)."</p>";
</td> <td style="width: 20pt; "> </td> <td>Посада: </td> <td style="width: 160pt; border: 1pt solid #000000; border-width: 0pt 0pt 1pt 0pt; "> <input style="border: none; background: none; width: 100%; text-align: center; " type="text" value="<?php echo CSalePaySystemAction::GetParamValue("SELLER_ACC_POS"); ?> " > </td> </tr> </table> </div> <br> <br> <? if (CSalePaySystemAction::GetParamValue("DATE_PAY_BEFORE")) { ?> <div style="text-align: right; "><b><?php echo sprintf("Рахунок дійсний до сплати до %s", ConvertDateTime(CSalePaySystemAction::GetParamValue("DATE_PAY_BEFORE"), FORMAT_DATE) ?: CSalePaySystemAction::GetParamValue("DATE_PAY_BEFORE")); ?> </b></div> <? } ?> </div> </body> </html>
} } else { $SERVER_NAME_tmp = ""; if (defined("SITE_SERVER_NAME")) { $SERVER_NAME_tmp = SITE_SERVER_NAME; } if (strlen($SERVER_NAME_tmp) <= 0) { $SERVER_NAME_tmp = COption::GetOptionString("main", "server_name", ""); } /* &purse=".$strPAYEE_PURSE; $strPayPath .= "&amount=".round($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SHOULD_PAY"], 2); $strPayPath .= "&method=POST"; $strPayPath .= "&desc=Order_".IntVal($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ID"]) */ $strCheck = md5($_POST["pci_wmtid"] . $_POST["WMID"] . md5(ToUpper("http://" . $SERVER_NAME_tmp . CSalePaySystemAction::GetParamValue("PATH_TO_RESULT") . "?ORDER_ID=" . $arOrder["ID"] . $CNST_PAYEE_PURSE . round($arOrder["PRICE"], 2) . "Order_" . $arOrder["ID"] . CSalePaySystemAction::GetParamValue("TEST_MODE"))) . $_POST["pci_pursesrc"] . $_POST["pci_pursedest"] . $_POST["pci_amount"] . $_POST["pci_desc"] . $_POST["pci_datecrt"] . $_POST["pci_mode"] . md5($CNST_SECRET_KEY)); if ($_POST["pci_marker"] != $strCheck) { $bCorrectPayment = False; } if ($bCorrectPayment) { $strPS_STATUS_DESCRIPTION = ""; if (strlen($_POST["pci_mode"]) > 0) { $strPS_STATUS_DESCRIPTION .= "тестовый режим, реально деньги не переводились; "; } $strPS_STATUS_DESCRIPTION .= "кошелек продавца - " . $_POST["pci_pursedest"] . "; "; $strPS_STATUS_DESCRIPTION .= "номер операции - " . $_POST["pci_wmtid"] . "; "; $strPS_STATUS_DESCRIPTION .= "дата платежа - " . $_POST["pci_datecrt"] . ""; $strPS_STATUS_MESSAGE = ""; $strPS_STATUS_MESSAGE .= "кошелек покупателя - " . $_POST["pci_pursesrc"] . "; "; $strPS_STATUS_MESSAGE .= "WMId покупателя - " . $_POST["WMID"] . "; "; $strPS_STATUS_MESSAGE .= "" . $_POST["pci_desc"] . "";
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } $entityId = CSalePaySystemAction::GetParamValue("ORDER_PAYMENT_ID"); list($orderId, $paymentId) = \Bitrix\Sale\PaySystem\Manager::getIdsByPayment($entityId); /** @var \Bitrix\Sale\Order $order */ $order = \Bitrix\Sale\Order::load($orderId); /** @var \Bitrix\Sale\PaymentCollection $paymentCollection */ $paymentCollection = $order->getPaymentCollection(); /** @var \Bitrix\Sale\Payment $payment */ $payment = $paymentCollection->getItemById($paymentId); $data = \Bitrix\Sale\PaySystem\Manager::getById($payment->getPaymentSystemId()); $service = new \Bitrix\Sale\PaySystem\Service($data); $service->initiatePay($payment);
die; } if ($_SERVER["REQUEST_METHOD"] == "POST") { $bCorrectPayment = True; if (!($arOrder = CSaleOrder::GetByID(IntVal($_POST["LMI_PAYMENT_NO"])))) { $bCorrectPayment = False; } if ($bCorrectPayment) { CSalePaySystemAction::InitParamArrays($arOrder, $arOrder["ID"]); } $CNST_SECRET_KEY = CSalePaySystemAction::GetParamValue("CNST_SECRET_KEY"); if (strlen($CNST_SECRET_KEY) <= 0) { $bCorrectPayment = False; } $CNST_PAYEE_PURSE = CSalePaySystemAction::GetParamValue("SHOP_ACCT"); $currency = CSalePaySystemAction::GetParamValue("CURRENCY"); if (strlen($currency) <= 0 || $currency == "RUR") { $currency = "RUB"; } if ($_POST["LMI_PREREQUEST"] == "1" || $_POST["LMI_PREREQUEST"] == "2") { if ($arOrder["PRICE"] == DoubleVal($_POST["LMI_PAYMENT_AMOUNT"]) && $currency == DoubleVal($_POST["LMI_CURRENCY"]) && $CNST_PAYEE_PURSE == $_POST["LMI_MERCHANT_ID"]) { $APPLICATION->RestartBuffer(); echo "YES"; die; } else { $APPLICATION->RestartBuffer(); echo "Параметры платежа несовпадают."; die; } } else { $strCheck = base64_encode(pack("H*", md5($_POST["LMI_MERCHANT_ID"] . ";" . $_POST["LMI_PAYMENT_NO"] . ";" . $_POST["LMI_SYS_PAYMENT_ID"] . ";" . $_POST["LMI_SYS_PAYMENT_DATE"] . ";" . $_POST["LMI_PAYMENT_AMOUNT"] . ";" . $_POST["LMI_CURRENCY"] . ";" . $_POST["LMI_PAID_AMOUNT"] . ";" . $_POST["LMI_PAID_CURRENCY"] . ";" . $_POST["LMI_PAYMENT_SYSTEM"] . ";" . $_POST["LMI_SIM_MODE"] . ";" . $CNST_SECRET_KEY)));
$isAccSign = true; } } $sellerAccPos = CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("SELLER_ACC_POS", false)); if ($isAccSign && $pdf->GetStringWidth($sellerAccPos) <= 160) { $pdf->SetY($pdf->GetY() + min($signHeight, 30) - 15); } $pdf->MultiCell(150, 15, $sellerAccPos, 0, 'L'); $pdf->SetXY($margin['left'] + 150, $pdf->GetY() - 15); if ($isAccSign) { $pdf->Image(CSalePaySystemAction::GetParamValue('SELLER_ACC_SIGN', false), $pdf->GetX() + 80 - $signWidth / 2, $pdf->GetY() - $signHeight + 15, $signWidth, $signHeight); } $x1 = $pdf->GetX(); $pdf->Cell(CSalePaySystemAction::GetParamValue("SELLER_DIR", false) ? $x2 - $x1 : 160, 15, ''); $x2 = $pdf->GetX(); if (CSalePaySystemAction::GetParamValue("SELLER_ACC", false)) { $pdf->Write(15, CSalePdf::prepareToPdf('(' . CSalePaySystemAction::GetParamValue("SELLER_ACC", false) . ')')); } $pdf->Ln(); $y2 = $pdf->GetY(); $pdf->Line($x1, $y2, $x2, $y2); } $dest = 'I'; if ($_REQUEST['GET_CONTENT'] == 'Y') { $dest = 'S'; } else { if ($_REQUEST['DOWNLOAD'] == 'Y') { $dest = 'D'; } } return $pdf->Output(sprintf('Schet No %s ot %s.pdf', $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ACCOUNT_NUMBER"], ConvertDateTime($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["DATE_INSERT"], 'YYYY-MM-DD')), $dest);
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); $ps_key = trim(CSalePaySystemAction::GetParamValue("ps_key")); $ps_receiver = trim(CSalePaySystemAction::GetParamValue("ps_receiver")); $ps_amount = trim(CSalePaySystemAction::GetParamValue("ps_amount")); $ps_order = trim(CSalePaySystemAction::GetParamValue("ps_order")); $data['withdraw_amount'] = trim($_REQUEST,"withdraw_amount"); $data['sender'] = trim($_REQUEST,"sender"); $data['sha1_hash'] = trim($_REQUEST,"sha1_hash"); $data['label'] = trim($_REQUEST,"label"); $data['operation_id'] = trim($_REQUEST,"operation_id"); // data hash $ps_arr = array( "notification_type", "operation_id", "amount", "currency", "datetime", "sender", "codepro", //"notification_secret", //"label", ); foreach ($ps_arr as $key) { $ps_p_sign .= trim($_REQUEST[$key]) . "&"; } $ps_p_sign .= $ps_key . "&" . $data['label']; $ps_hash = sha1($ps_p_sign);
//файл должен располагаться в публичной части сайта и Платежной системе необходимо сообщить //адрес этого файла. Файл принимает параметры, переданные методом GET и только в режиме PAYMENT define("NO_KEEP_STATISTIC", true); define("NOT_CHECK_PERMISSIONS", true); require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php"; CModule::IncludeModule("sale"); if ($mode == "PAYMENT") { if (IntVal($issuer_id) > 0) { $bCorrectPayment = True; if (!($arOrder = CSaleOrder::GetByID(IntVal($issuer_id)))) { $bCorrectPayment = False; } if ($bCorrectPayment) { CSalePaySystemAction::InitParamArrays($arOrder, $arOrder["ID"]); } $PASS = CSalePaySystemAction::GetParamValue("PASS"); $strCheck = md5($PASS . "PAYMENT" . $invoice . $issuer_id . $payment_id . $payer . $currency . $value . $date . $confirmed); if ($bCorrectPayment && $CHECKSUM != $strCheck) { $bCorrectPayment = False; } if ($bCorrectPayment) { $strPS_STATUS_DESCRIPTION = ""; $strPS_STATUS_DESCRIPTION .= "номер счета - " . $invoice . "; "; $strPS_STATUS_DESCRIPTION .= "номер платежа - " . $payment_id . "; "; $strPS_STATUS_DESCRIPTION .= "дата платежа - " . $date . ""; $strPS_STATUS_DESCRIPTION .= "код подтверждения платежа - " . $confirmed . ""; $strPS_STATUS_MESSAGE = ""; if (isset($payer) && strlen($payer) > 0) { $strPS_STATUS_MESSAGE .= "e-mail покупателя - " . $payer . "; "; } $arFields = array("PS_STATUS" => "Y", "PS_STATUS_CODE" => "-", "PS_STATUS_DESCRIPTION" => $strPS_STATUS_DESCRIPTION, "PS_STATUS_MESSAGE" => $strPS_STATUS_MESSAGE, "PS_SUM" => $value, "PS_CURRENCY" => $currency, "PS_RESPONSE_DATE" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG))), "USER_ID" => $arOrder["USER_ID"]);
} else { qiwiWalletXmlResponse(QIWI_WALLET_ERROR_CODE_AUTH); } } list($orderId, $paymentId) = explode(':', $_POST['bill_id']); /** @var \Bitrix\Sale\Order $order */ $order = Order::load($orderId); if ($order) { $arOrder = $order->getFieldValues(); $payment = $order->getPaymentCollection()->getItemById($paymentId); $paidInfo = array("PS_STATUS" => $_POST['status'] == "paid" ? "Y" : "N", "PS_STATUS_CODE" => substr($_POST['status'], 0, 5), "PS_STATUS_MESSAGE" => Loc::getMessage("SALE_QWH_STATUS_MESSAGE_" . strtoupper($_POST['status'])), "PS_RESPONSE_DATE" => \Bitrix\Main\Type\DateTime::createFromTimestamp(time()), "PS_SUM" => (double) $_POST['amount'], "PS_CURRENCY" => $_POST['ccy'], "PS_STATUS_DESCRIPTION" => ""); if ((int) $_POST['error']) { $paidInfo['PS_STATUS_DESCRIPTION'] = "Error: " . Loc::getMessage("SALE_QWH_ERROR_CODE_" . $_POST['error']); $payment->setFields($paidInfo); qiwiWalletXmlResponse(QIWI_WALLET_ERROR_CODE_OTHER); } foreach ($_POST as $key => $value) { $paidInfo['PS_STATUS_DESCRIPTION'] .= "{$key}:{$value}, "; } $payment->setFields($paidInfo); $changeStatusPay = CSalePaySystemAction::GetParamValue("CHANGE_STATUS_PAY") == "Y"; if ($_POST['status'] == "paid" && $changeStatusPay) { $resPayment = $payment->setField('PAID', 'Y'); if ($resPayment->isSuccess()) { qiwiWalletXmlResponse(QIWI_WALLET_ERROR_CODE_NONE); } } $order->save(); } else { qiwiWalletXmlResponse(QIWI_WALLET_ERROR_CODE_NOT_FOUND); }
?> <br> <input type=hidden name=BillDescription value="Order <?php echo $ORDER_ID; ?>  "> <input type=hidden name=BillSum value="<?php echo CSalePaySystemAction::GetParamValue("SHOULD_PAY"); ?> "> Сумма к оплате по счету: <?php echo SaleFormatCurrency(CSalePaySystemAction::GetParamValue("SHOULD_PAY"), CSalePaySystemAction::GetParamValue("CURRENCY")); ?> <br> <input type=hidden name=BillShopId value="<?php echo CSalePaySystemAction::GetParamValue("SHOP_ID"); ?> "> <input type=hidden name=BillDate value="<?php echo CSalePaySystemAction::GetParamValue("DATE_INSERT"); ?> "> <input type=hidden name=BillCurrency value="<?php echo CSalePaySystemAction::GetParamValue("CURRENCY") == "RUR" ? "руб." : ""; ?> "> <br> <input type=submit name=sub value="Оплатить"> </font> </form>
$strPS_STATUS_DESCRIPTION .= "платежная система - " . $_POST["LMI_PAYMENT_SYSTEM"] . ""; $strPS_STATUS_MESSAGE = ""; if (isset($_POST["LMI_PAYER_PURSE"]) && strlen($_POST["LMI_PAYER_PURSE"]) > 0) { $strPS_STATUS_MESSAGE .= "кошелек покупателя - " . $_POST["LMI_PAYER_PURSE"] . "; "; } if (isset($_POST["LMI_PAYER_WM"]) && strlen($_POST["LMI_PAYER_WM"]) > 0) { $strPS_STATUS_MESSAGE .= "WMId покупателя - " . $_POST["LMI_PAYER_WM"] . "; "; } if (isset($_POST["LMI_PAYMER_NUMBER"]) && strlen($_POST["LMI_PAYMER_NUMBER"]) > 0) { $strPS_STATUS_MESSAGE .= "номер ВМ-карты - " . $_POST["LMI_PAYMER_NUMBER"] . "; "; } if (isset($_POST["LMI_PAYMER_EMAIL"]) && strlen($_POST["LMI_PAYMER_EMAIL"]) > 0) { $strPS_STATUS_MESSAGE .= "paymer.com e-mail покупателя - " . $_POST["LMI_PAYMER_EMAIL"] . "; "; } if (isset($_POST["LMI_TELEPAT_PHONENUMBER"]) && strlen($_POST["LMI_TELEPAT_PHONENUMBER"]) > 0) { $strPS_STATUS_MESSAGE .= "телефон покупателя - " . $_POST["LMI_TELEPAT_PHONENUMBER"] . "; "; } if (isset($_POST["LMI_TELEPAT_ORDERID"]) && strlen($_POST["LMI_TELEPAT_ORDERID"]) > 0) { $strPS_STATUS_MESSAGE .= "платеж в Телепате - " . $_POST["LMI_TELEPAT_ORDERID"] . ""; } $arFields = array("PS_STATUS" => "Y", "PS_STATUS_CODE" => "-", "PS_STATUS_DESCRIPTION" => $strPS_STATUS_DESCRIPTION, "PS_STATUS_MESSAGE" => $strPS_STATUS_MESSAGE, "PS_SUM" => $_POST["LMI_PAYMENT_AMOUNT"], "PS_CURRENCY" => $arOrder["CURRENCY"], "PS_RESPONSE_DATE" => new \Bitrix\Main\Type\DateTime()); if (CSalePaySystemAction::GetParamValue("SHOULD_PAY") == $_POST["LMI_PAYMENT_AMOUNT"] && $currency == DoubleVal($_POST["LMI_CURRENCY"]) && $CNST_PAYEE_PURSE == $_POST["LMI_MERCHANT_ID"] && CSalePaySystemAction::GetParamValue("PAYED") != "Y") { $resPayment = $payment->setField('PAID', 'Y'); } $resPayment = $payment->setFields($arFields); if ($resPayment->isSuccess()) { $result = $order->save(); } } } }
</tr> </table> </td> </tr> </table> <br /> <h1>Внимание! В стоимость заказа не включена комиссия банка.</h1> <!-- Условия поставки --> <h1><b>Метод оплаты:</b></h1> <ol> <li>Распечатайте квитанцию. Если у вас нет принтера, перепишите верхнюю часть квитанции и заполните по этому образцу стандартный бланк квитанции в вашем банке.</li> <li>Вырежьте по контуру квитанцию.</li> <li>Оплатите квитанцию в любом отделении банка, принимающего платежи от частных лиц.</li> <li>Сохраните квитанцию до подтверждения исполнения заказа.</li> </ol> <h1><b>Условия поставки:</b> </h1> <ul> <li>Отгрузка оплаченного товара производится после подтверждения факта платежа.</li> <li>Идентификация платежа производится по квитанции, поступившей в наш банк.</li> </ul> <p><b>Примечание:</b> <?php echo CSalePaySystemAction::GetParamValue("COMPANY_NAME"); ?> не может гарантировать конкретные сроки проведения вашего платежа. За дополнительной информацией о сроках доставки квитанции в банк получателя, обращайтесь в свой банк.</p> </body> </html>
list($signHeight, $signWidth) = $pdf->GetImageSize(CSalePaySystemAction::GetParamValue('SELLER_ACC_SIGN')); if ($signHeight && $signWidth) { $ratio = min(37.5 / $signHeight, 150 / $signWidth); $signHeight = $ratio * $signHeight; $signWidth = $ratio * $signWidth; $isAccSign = true; } } if (CSalePaySystemAction::GetParamValue("SELLER_ACC")) { $pdf->SetX($pdf->GetX() + $width / 2 + 15); $pdf->Write(15, CSalePdf::prepareToPdf(CSalePaySystemAction::GetParamValue("SELLER_ACC"))); $pdf->Ln(); $pdf->Ln(); } $pdf->SetX($pdf->GetX() + $width / 2 + 15); $pdf->Write(15, CSalePdf::prepareToPdf('The Accountant ')); $pdf->Cell(0, 15, '', 'B'); if ($isAccSign) { $pdf->Image(CSalePaySystemAction::GetParamValue('SELLER_ACC_SIGN'), $pdf->GetX() - 150, $pdf->GetY() - $signHeight + 15, $signWidth, $signHeight); } $pdf->Ln(); } $dest = 'I'; if ($_REQUEST['GET_CONTENT'] == 'Y') { $dest = 'S'; } else { if ($_REQUEST['DOWNLOAD'] == 'Y') { $dest = 'D'; } } return $pdf->Output(sprintf('Invoice # %s (Issue Date %s).pdf', $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ACCOUNT_NUMBER"], ConvertDateTime($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["DATE_INSERT"], 'YYYY-MM-DD')), $dest);
?> "> <INPUT TYPE="HIDDEN" NAME="YMPayment" VALUE="<?php echo IntVal(CSalePaySystemAction::GetParamValue("PAYMENT_YMPayment")) == 1 ? 1 : 0; ?> "> <INPUT TYPE="HIDDEN" NAME="QIWIPayment" VALUE="<?php echo IntVal(CSalePaySystemAction::GetParamValue("PAYMENT_QIWIPayment")) == 1 ? 1 : 0; ?> "> <INPUT TYPE="HIDDEN" NAME="WMPayment" VALUE="<?php echo IntVal(CSalePaySystemAction::GetParamValue("PAYMENT_WebMoneyPayment")) == 1 ? 1 : 0; ?> "> <INPUT TYPE="HIDDEN" NAME="AssistIDPayment" VALUE="<?php echo IntVal(CSalePaySystemAction::GetParamValue("PAYMENT_AssistIDCCPayment")) == 1 ? 1 : 0; ?> "> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="<?php echo GetMessage("SASP_ACTION"); ?> "> </form> <p align="justify"><b><?php echo GetMessage("SASP_NOTES_TITLE"); ?> </b></p> <p align="justify"><?php echo GetMessage("SASP_NOTES");
} if ($_SERVER["REQUEST_METHOD"] == "POST") { include GetLangFileName(dirname(__FILE__) . "/", "/result_rec.php"); $orderId = IntVal($_POST["orderId"]); $bCorrectPayment = True; $techMessage = ""; if (!($arOrder = CSaleOrder::GetByID($orderId))) { $bCorrectPayment = False; $techMessage = GetMessage("SALE_RBK_REC_ORDER"); } if ($bCorrectPayment) { CSalePaySystemAction::InitParamArrays($arOrder, $arOrder["ID"]); $eshopIdB = CSalePaySystemAction::GetParamValue("ESHOP_ID"); $recipientAmountB = number_format(CSalePaySystemAction::GetParamValue("SHOULD_PAY"), 2, '.', ''); $recipientCurrencyB = CSalePaySystemAction::GetParamValue("CURRENCY"); $secretKeyB = CSalePaySystemAction::GetParamValue("SECRET_KEY"); if ($recipientCurrencyB == "RUB") { $recipientCurrencyB = "RUR"; } $eshopId = trim($_POST["eshopId"]); $paymentId = trim($_POST["paymentId"]); $serviceName = trim($_POST["serviceName"]); $eshopAccount = trim($_POST["eshopAccount"]); $recipientAmount = trim($_POST["recipientAmount"]); $recipientCurrency = trim($_POST["recipientCurrency"]); $paymentStatus = trim($_POST["paymentStatus"]); $userName = trim($_POST["userName"]); $userEmail = trim($_POST["userEmail"]); $paymentData = trim($_POST["paymentData"]); $hash = trim($_POST["hash"]); $paymentAmount = trim($_POST["paymentAmount"]);
<?php $bankHandler = new Ubrir(array('shopId' => CSalePaySystemAction::GetParamValue("ID"), 'order_id' => CSalePaySystemAction::GetParamValue("ORDER_ID"), 'sert' => CSalePaySystemAction::GetParamValue("SERT"), 'twpg_order_id' => $arOrder['PS_STATUS_DESCRIPTION'], 'twpg_session_id' => $arOrder['PS_STATUS_MESSAGE'])); if ($bankHandler->check_status("APPROVED")) { CSaleOrder::Update(CSalePaySystemAction::GetParamValue("ORDER_ID"), array("PAYED" => "Y")); CSaleOrder::StatusOrder(CSalePaySystemAction::GetParamValue("ORDER_ID"), "P"); echo '<div class="ubr_s">Оплата успешно совершена</div>'; } else { echo '<div class="ubr_f">Неверный статус заказа</div>'; } ?>
$customerNumber = CSalePaySystemAction::GetParamValue("ORDER_ID"); $orderDate = CSalePaySystemAction::GetParamValue("ORDER_DATE"); $orderNumber = CSalePaySystemAction::GetParamValue("ORDER_ID"); $paymentType = CSalePaySystemAction::GetParamValue("PAYMENT_VALUE"); $Sum = number_format($Sum, 2, ',', ''); ?> <font class="tablebodytext"> Услугу предоставляет сервис онлайн-платежей <b>«Яндекс.Деньги»</b>.<br /><br /> Сумма к оплате по счету: <b><?php echo $Sum; ?> р.</b><br /> <br /> </font> <?if(strlen(CSalePaySystemAction::GetParamValue("IS_TEST")) > 0): ?> <form name="ShopForm" action="https://demomoney.yandex.ru/eshop.xml" method="post" target="_blank"> <?else: ?> <form name="ShopForm" action="https://money.yandex.ru/eshop.xml" method="post"> <?endif;?> <font class="tablebodytext"> <input name="ShopID" value="<?php echo $ShopID; ?> " type="hidden"> <input name="scid" value="<?php echo $scid; ?> " type="hidden">
$mrh_pass2 = CSalePaySystemAction::GetParamValue("ShopPassword2"); if (strlen($mrh_pass2) <= 0) { $bCorrectPayment = False; } $strCheck = md5($out_summ . ":" . $inv_id . ":" . $mrh_pass2 . ':shp_payment_id=' . $paymentId); if ($bCorrectPayment && ToUpper($crc) != ToUpper($strCheck)) { $bCorrectPayment = False; } if ($bCorrectPayment) { $strPS_STATUS_DESCRIPTION = GetMessage('SALE_RES_NUMBER') . ": " . $inv_id; $strPS_STATUS_DESCRIPTION .= "; " . GetMessage('SALE_RES_DATEPAY') . ": " . date("d.m.Y H:i:s"); if (isset($_REQUEST["IncCurrLabel"]) && strlen($_REQUEST["IncCurrLabel"]) > 0) { $strPS_STATUS_DESCRIPTION .= "; " . GetMessage('SASP_RES_PAY_TYPE') . ": " . $_REQUEST["IncCurrLabel"]; } $strPS_STATUS_MESSAGE = GetMessage('SASP_RES_PAYED'); $arFields = array("PS_STATUS" => "Y", "PS_STATUS_CODE" => "-", "PS_STATUS_DESCRIPTION" => $strPS_STATUS_DESCRIPTION, "PS_STATUS_MESSAGE" => $strPS_STATUS_MESSAGE, "PS_SUM" => $out_summ, "PS_CURRENCY" => $arOrder["CURRENCY"], "PS_RESPONSE_DATE" => new \Bitrix\Main\Type\DateTime()); if (roundEx(CSalePaySystemAction::GetParamValue("SHOULD_PAY"), 2) == roundEx($out_summ, 2) && $changePayStatus == "Y") { $result = $payment->setField('PAID', 'Y'); $APPLICATION->RestartBuffer(); if ($result->isSuccess()) { $result = $payment->setFields($arFields); if ($result->isSuccess()) { $result = $order->save(); if ($result->isSuccess()) { echo "OK" . $arOrder["ID"]; } } } } } }
$bankData[] = sprintf('IBAN: %s', $bankIban); } if ($bankSwift) { $bankData[] = sprintf('BIC/SWIFT: %s', $bankSwift); } if ($bank) { $bankData[] = $bank; } if (!empty($bankData)) { $pdf->Cell(0, 15, CSalePdf::prepareToPdf(join(' - ', $bankData)), 0, 0, 'C'); $pdf->Ln(); } $sellerEuInn = CSalePaySystemAction::GetParamValue("SELLER_EU_INN", false); $sellerInn = CSalePaySystemAction::GetParamValue("SELLER_INN", false); $sellerReg = CSalePaySystemAction::GetParamValue("SELLER_REG", false); $sellerDir = CSalePaySystemAction::GetParamValue("SELLER_DIR", false); $sellerData = array(); if ($sellerEuInn) { $sellerData[] = sprintf('USt-IdNr.: %s', $sellerEuInn); } if ($sellerInn) { $sellerData[] = sprintf('Steuernummer: %s', $sellerInn); } if ($sellerReg) { $sellerData[] = $sellerReg; } if ($sellerDir) { $sellerData[] = $sellerDir; } if (!empty($sellerData)) { $pdf->Cell(0, 15, CSalePdf::prepareToPdf(join(' - ', $sellerData)), 0, 0, 'C');
$lmi_secret_key = $_REQUEST['LMI_SECRET_KEY']; if (CModule::IncludeModule("sale")) { $bCorrectPayment = True; $err = 0; $err_text = ''; if ($arOrder = CSaleOrder::GetByID(IntVal($lmi_payment_no))) { $bCorrectPayment = False; $err = 1; $err_text = 'ERR: НЕТ ТАКОГО ЗАКАЗА'; } if ($bCorrectPayment) { CSalePaySystemAction::InitParamArrays($arOrder, $arOrder["ID"]); } $IdM = CSalePaySystemAction::GetParamValue("ZP_SHOP_ID"); $sk = CSalePaySystemAction::GetParamValue("ZP_MERCHANT_KEY"); $CruR = CSalePaySystemAction::GetParamValue("ZP_CODE_RUR"); // Проверяем, не произошла ли подмена суммы. $order_amount = CCurrencyRates::ConvertCurrency($arOrder["PRICE"], $arOrder["CURRENCY"], $CruR); if ($order_amount != $lmi_payment_amount) { $err = 2; $err_text = 'ERR: НЕВЕРНАЯ СУММА : ' . $lmi_payment_amount; } //проверяем ID магазина if ($lmi_payee_purse != $IdM) { $err = 3; $err_text = 'ERR: НЕВЕРЕН ID МАГАЗИНА : ' . $lmi_payee_purse; } if ($lmi_prerequest == 1) { if ($err != 0) { echo $err_text; } else {
<?php echo GetMessage("PYM_TITLE"); ?> <br> <?php echo GetMessage("PYM_ORDER"); ?> <?php echo $inv_id . " " . CSalePaySystemAction::GetParamValue("DATE_INSERT"); ?> <br> <?php echo GetMessage("PYM_TO_PAY"); ?> <b><?php echo SaleFormatCurrency(CSalePaySystemAction::GetParamValue("SHOULD_PAY"), CSalePaySystemAction::GetParamValue("CURRENCY")); ?> </b> <p> <input type="hidden" name="FinalStep" value="1"> <input type=hidden name=MrchLogin value="<?php echo $mrh_login; ?> "> <input type=hidden name=OutSum value="<?php echo $out_summ; ?> "> <input type=hidden name=InvId value="<?php echo $inv_id; ?>
?> "> <input type="hidden" name="user_email" value="<?php echo CSalePaySystemAction::GetParamValue("EMAIL"); ?> "> <input type="hidden" name="successUrl" value="<?php echo CSalePaySystemAction::GetParamValue("SUCCESS_URL"); ?> "> <input type="hidden" name="failUrl" value="<?php echo CSalePaySystemAction::GetParamValue("FAIL_URL"); ?> "> <input type="hidden" name="userField_1" value="<?php echo CSalePaySystemAction::GetParamValue("USER_FIELD_1"); ?> "> <input type="hidden" name="userField_2" value="<?php echo CSalePaySystemAction::GetParamValue("USER_FIELD_2"); ?> "> <input type="hidden" name="userField_3" value="<?php echo CSalePaySystemAction::GetParamValue("USER_FIELD_3"); ?> "> <input type="submit" value="<?php echo CSalePaySystemAction::GetParamValue("PAY_BUTTON"); ?> "> </form>
$strPostQueryString .= "&x_currency_code=" . urlencode($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"]); $strPostQueryString .= "&x_method=CC"; $strPostQueryString .= "&x_type=AUTH_CAPTURE"; $strPostQueryString .= "&x_recurring_billing=NO"; $strPostQueryString .= "&x_card_num=" . urlencode($INPUT_CARD_NUM); $strPostQueryString .= "&x_exp_date=" . urlencode($INPUT_CARD_EXP_MONTH . $INPUT_CARD_EXP_YEAR); // MMYYYY $strPostQueryString .= "&x_card_code=" . urlencode($INPUT_CARD_CODE); // Level 2 Data $strPostQueryString .= "&x_tax=" . urlencode($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["TAX_VALUE"]); $strPostQueryString .= "&x_freight=" . urlencode($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["PRICE_DELIVERY"]); $strResult = QueryGetData("secure.authorize.net", 443, "/gateway/transact.dll", $strPostQueryString, $errno, $errstr, "POST", "ssl://"); $mass = explode("|,|", "|," . $strResult); $strHashValue = CSalePaySystemAction::GetParamValue("HASH_VALUE"); if (strlen($strHashValue) > 0) { if (md5($strHashValue . CSalePaySystemAction::GetParamValue("PS_LOGIN") . $mass[7] . sprintf("%.2f", $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SHOULD_PAY"])) != strtolower($mass[38])) { $mass = array(); $mass[1] = 3; $mass[4] = "MD5 transaction signature is incorrect!"; $mass[3] = 0; $mass[2] = 0; } } $strPS_STATUS = IntVal($mass[1]) == 1 ? "Y" : "N"; $strPS_STATUS_CODE = $mass[3]; if ($strPS_STATUS == "Y") { $strPS_STATUS_DESCRIPTION = "Approval Code: " . $mass[5] . (!empty($mass[7]) ? "; Transaction ID: " . $mass[7] : ""); } else { $strPS_STATUS_DESCRIPTION = (IntVal($mass[1]) == 2 ? "Declined" : "Error") . ": " . $mass[4] . " (Reason Code " . $mass[3] . " / Sub " . $mass[2] . ")"; $strErrorMessage .= (IntVal($mass[1]) == 2 ? "Transaction was declined" : "Error while processing transaction") . ": " . $mass[4] . " (" . $mass[3] . "/" . $mass[2] . ")"; }