connect_errno) { printf("sl Connect failed: %s\n", $db->connect_error); exit(); } // Include the PayPal API library require_once './paypal_advanced/PaypalCheckout.class.php'; $paypal = new PaypalCheckout; function getCreditCardType($str, $format = 'string') { if (empty($str)) { return false; } $matchingPatterns = array( 'Visa' => '/^4[0-9]{12}(?:[0-9]{3})?$/', 'MasterCard' => '/^5[1-5][0-9]{14}$/' // 'amex' => '/^3[47][0-9]{13}$/', // 'diners' => '/^3(?:0[0-5]|[68][0-9])[0-9]{11}$/', // 'discover' => '/^6(?:011|5[0-9]{2})[0-9]{12}$/', // 'jcb' => '/^(?:2131|1800|35\d{3})\d{11}$/', // 'any' => '/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/' ); $ctr = 1; foreach ($matchingPatterns as $key=>$pattern) { if (preg_match($pattern, $str)) { return $format == 'string' ? $key : $ctr; } $ctr++; } } function getCreditCardTypebad($str, $format = 'string') { if (empty($str)) { return false; } $matchingPatterns = array( 'visa' => '/^4[0-9]{12}(?:[0-9]{3})?$/', 'mastercard' => '/^5[1-5][0-9]{14}$/', 'amex' => '/^3[47][0-9]{13}$/', 'diners' => '/^3(?:0[0-5]|[68][0-9])[0-9]{11}$/', 'discover' => '/^6(?:011|5[0-9]{2})[0-9]{12}$/', 'jcb' => '/^(?:2131|1800|35\d{3})\d{11}$/', 'any' => '/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/' ); $ctr = 1; foreach ($matchingPatterns as $key=>$pattern) { if (preg_match($pattern, $str)) { return $format == 'string' ? $key : $ctr; } $ctr++; } } $strLangue = $_SESSION['lang']; // Sortir les infos de l'acheteur $tabPanier = fxlistPanier($_SESSION['no_panier']); $tabAcheteur = $tabPanier[0]; $mem_province = fxGetProvinces($tabAcheteur['pro_id'], $strLangue); $mem_province = fxUnescape($mem_province['pro_paypal']); $mem_pays = fxGetPays($tabAcheteur['pay_id'], $strLangue); $mem_pays = fxreplace_accents_string(fxUnescape($mem_pays['pay_nom_' . $strLangue])); // Set l'adresse de l'acheteur // MSIN-3853 // prepare le tableau d info pour paypal $product_data = array( "intent" => "CAPTURE", "purchase_units" => array( array( "custom_id" => "custom_id_test", "description" => "description_test", "amount" => array( "currency_code" => "CAD", "value" => $tabTotal['total'] ), "shipping" => array( "name" => array( "full_name" => "stephan leith test"), "address" => array( "address_line_1" => "123 Townsend St", "address_line_2" => "Floor 6", "admin_area_2" => "San Francisco", "admin_area_1" => "CA", "postal_code" => "94107", "country_code" => "US" ) ) ) ) ); $response = array('status' => 0, 'msg' => 'Request Failed!'); $api_error = ''; $payment_source = "card"; // Create order with PayPal Orders API try { $order = $paypal->createOrder($product_data, $payment_source); } catch(Exception $e) { $api_error = $e->getMessage(); } if(!empty($order)){ $response = array( 'status' => 1, 'data' => $order ); }else{ $response['msg'] = $api_error; } print_r($response); echo("
adv2"); exit; $paymentDetails->OrderTotal = new BasicAmountType('CAD', $tabTotal['total']); if ($_SESSION['lang'] == 'fr') $strPage = 'panier'; else $strPage = 'cart'; if (isset($doDirectPaymentResponse)) { echo ""; echo ""; echo ""; echo "
Ack :
$doDirectPaymentResponse->Ack
TransactionID :
$doDirectPaymentResponse->TransactionID
"; echo "
";
    print_r($doDirectPaymentResponse);
    echo "
"; // MSIN-1078: JS was here $strErrorLog = ''; foreach ($doDirectPaymentResponse->Errors as $objError) { $strErrorLog .= print_r($objError, true); } $strErrorLog = print_r($doDirectPaymentResponse, true); if ($doDirectPaymentResponse->Ack == 'Success' || $doDirectPaymentResponse->Ack == 'SuccessWithWarning') { // sauvegarder les infos dans la bdd if ($_SESSION['lang'] == 'fr') $strResultat = 'APPROUVEE - MERCI'; else $strResultat = 'APPROVED - THANK YOU'; $sqlUpdate = "UPDATE inscriptions_panier_acheteurs SET receipt_text = '" . $strResultat . "', TransactionID = '" . $doDirectPaymentResponse->TransactionID . "', pai_id = 2, ach_error_log = '" . $objDatabase->fxEscape($strErrorLog) . "', ach_ack = '" . $objDatabase->fxEscape($doDirectPaymentResponse->Ack) . "' WHERE no_panier = '" . $objDatabase->fxEscape($_SESSION['no_panier']) . "'"; $qryUpdate = $objDatabase->fxQuery($sqlUpdate); header('Location: ' . $vDomaine . '/' . $strPage . '/resultat/' . $_SESSION['eve_label_url'] . '?ResponseFile=' . $doDirectPaymentResponse->TransactionID . '&p=success'); exit; } else { // cr�er un num�ro de transaction $strTransaction = uniqid('trx_'); if ($_SESSION['lang'] == 'fr') $strResultat = 'ERREUR'; else $strResultat = 'ERROR'; $sqlUpdate = "UPDATE inscriptions_panier_acheteurs SET receipt_text = '" . $strResultat . "', TransactionID = '" . $strTransaction . "', ach_error_log = '" . $objDatabase->fxEscape($strErrorLog) . "', ach_ack = '" . $objDatabase->fxEscape($doDirectPaymentResponse->Ack) . "' WHERE no_panier = '" . $objDatabase->fxEscape($_SESSION['no_panier']) . "'"; $qryUpdate = $objDatabase->fxQuery($sqlUpdate); if ($blnDons) { fxcreer_log("ERREUR DE PAIMENT (DON): no_panier = :" . $_SESSION['no_panier'] . "\n" . $strErrorLog); unset($_SESSION['no_panier']); $_SESSION['eve_label_url'] = fxGetEvenementsUrl($_POST['eve_id']); if ($strLangue == 'fr') $strPage = 'don'; else $strPage = 'donate'; if ($strLangue == 'fr') $_SESSION['msg'] = 'e130'; else $_SESSION['msg'] = 'e530'; $strURL = '/' . $strPage . '/' . $_SESSION['eve_label_url'] . '/' . md5($_POST['pec_id']); if ($_POST['par_id'] != 0) { $strURL .= '/' . md5($_POST['par_id']); } header('Location: ' . $vDomaine . $strURL); } else { fxcreer_log("ERREUR DE PAIMENT: no_panier = :" . $_SESSION['no_panier'] . "\n" . $strErrorLog); if ($strLangue == 'fr') $_SESSION['msg'] = 'e130'; else $_SESSION['msg'] = 'e530'; header('Location: ' . $vDomaine . '/' . $strPage . '/resultat/' . $_SESSION['eve_label_url'] . '?p=error&ResponseFile=' . $strTransaction); } exit; } } if ($blnDons) { unset($_SESSION['no_panier']); $_SESSION['eve_label_url'] = fxGetEvenementsUrl($_POST['eve_id']); if ($strLangue == 'fr') $strPage = 'don'; else $strPage = 'donate'; if ($strLangue == 'fr') $_SESSION['msg'] = 'e130'; else $_SESSION['msg'] = 'e530'; $strURL = '/' . $strPage . '/' . $_SESSION['eve_label_url'] . '/' . md5($_POST['pec_id']); if ($_POST['par_id'] != 0) { $strURL .= '/' . md5($_POST['par_id']); } header('Location: ' . $vDomaine . $strURL); } else { if ($strLangue == 'fr') $_SESSION['msg'] = 'e130'; else $_SESSION['msg'] = 'e530'; header('Location: ' . $vDomaine . '/' . $strPage . '/checkout/' . $_SESSION['eve_label_url'] ); } exit; // require_once '../Response.php';