Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Способы реализации оплаты через кредитные карты в Израилье (Вопрос к valenok)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Онлайн магазин на php
Land
Отправлено: 14 Апреля, 2011 - 10:27:55
Post Id



Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




Вопрос к valenok

Взялся за проект онлайн магазина, клиент не настаивает, но сказал что было бы неплохо создать такую опцию оплаты. Много раз заказывал через Zap, все магазины довольно похожи, не удивлюсь если одной и той же CMS. Интересует как можно принимать от клиентов оплату с карт? Есть ли специальные моды для ecommerce или у нас существуют другие альтернативы?

Спасибо.
 
 Top
valenok
Отправлено: 14 Апреля, 2011 - 12:09:05
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Оплата кредитками происходит через специальных агентов
pelecard.co.il и tranzila.com
открытие счета стоит у них порядка 120$
в последствии вы от них получите учетную запись, ссылку и документацию по доступу к их веб сервису. За каждую транзакцию вам будет поступать около 96% от суммы покупки.

В отличии от веб мани, пользователь не перенаправляется на другой сайт для оплаты.
Оплата происходит следующим образом:
пользователь вводит на твоем сайте данные своей кредитки,
ты в своем скрипте открываешь сокет и подключаешься к серверу одной из этих компаний,
отправляешь им эти данные, ждешь пол секунды и получаешь один из сотни возможных кодов-ответов. Чаще всего это "все ок" или "какие-то данные не верны".

Еще желательно выписать клиенту квитанцию об оплате.
Для этого я использовал сервис invoice4u.co.il
у которырх регистрация бесплатна и оплата получается парой центов за квитанцию.
После регистрации так-же получаешь йд и пароль, который и отправляешь в качестве одного из параметров в своем коде. В ответ получаешь ссылку на квитанцию.
Сервис умеет одновременно и отправлять квитанцию на имейл пользователя.

Для pelecard и invoice4u у меня есть готовые функции.
Правда без документаций от них они могут быть не очень понятными.

PHP:
скопировать код в буфер обмена
  1.  
  2. class paylecard
  3. {
  4.         public static $host = "secure.pelecard.co.il";
  5.         public static $path = "/NetsafeWebSrvc/NetSafeSrvc.asmx/DebitRegularType";
  6.        
  7.         public static function pay($creditcard, $creditcarddateMMYY, $total, $taz, $cvv, $parmx,
  8.                                  $TermNo = '0962210', $ShopNo = '1', $currency = 1)
  9.         {
  10.  
  11.                 $data = 'TermNo='.$TermNo.'&ShopNo='.$ShopNo.'&creditcard='.$creditcard.
  12.                                 '&creditcarddateMMYY='.$creditcarddateMMYY.'&total='.$total.'&ID='.$taz.'&CVV='.$cvv.
  13.                                 '&ParmX='.$parmx.'&Currncy='.$currency ;
  14.                
  15.                 $fp = fsockopen( paylecard::$host, 443, $errno, $errstr, 10 );
  16.                 if(!$fp) return "socket error";
  17.                
  18.                 fputs
  19.                 (
  20.                         $fp,
  21.                         "POST ". paylecard::$path ." HTTP/1.1\n".
  22.                         "Host: ".paylecard::$host." \n" .
  23.                         "Accept: application/x-www-form-urlencoded\n" .
  24.                         "Connection: Close\n" .
  25.                         "Content-type: application/x-www-form-urlencoded\n".
  26.                         "Content-length: ".strlen( $data )."\n\n" . $data ."\n\n"
  27.                 );
  28.                
  29.                 $out = '';
  30.                 while (!feof($fp)) $out .= fgets($fp, 128);
  31.                 fclose($fp);
  32.                 $GLOBALS['out'] = $out;
  33.  
  34.  
  35.                 $res = substr(trim(strip_tags(substr($out, 10+strpos($out, "Service1\">")))), 0, 3);
  36.                 $GLOBALS['res'] = $res;
  37.                
  38.                 if($res == '000') return true;
  39.                 return $res;
  40.  
  41.         }
  42.        
  43.        
  44.        
  45.        
  46.        
  47.        
  48.        
  49.        
  50.         public static function invoice4u($itemid, $description, $quantity, $item_price,
  51.         $shipment_price, $client, $email, $invoice_overall_description='' , $comments = '', $discount = 0)
  52.         {
  53.                
  54.                 global $i4u_username, $i4u_maam_rate, $i4u_shipment_text, $i4u_userkey;
  55.                 $data = http_build_query( array
  56.                 (
  57.                         'ReplyURL' => '',//'invoiceSent.php',
  58.                         'TransType' => 'IR:CREATE',
  59.                         'Username' => $i4u_username,
  60.                         'Key' => $i4u_userkey,
  61.                         'InvoiceSubject' => iconv('UTF-8', 'Windows-1255', $invoice_overall_description),
  62.                         'InvoiceItemCode' => $itemid.'|0', // Append shipment
  63.                         'InvoiceItemDescription' => iconv('UTF-8', 'Windows-1255', $description).'|'.$i4u_shipment_text,
  64.                         'InvoiceItemQuantity' => $quantity."|1", // append one shipment
  65.                         'InvoiceItemPrice' => ($item_price/((100+$i4u_maam_rate)/100))."|".($shipment_price/((100+$i4u_maam_rate)/100)),
  66.                         'InvoiceDiscount' => $discount,
  67.                         'InvoiceComments' => iconv('UTF-8', 'Windows-1255', $comments),
  68.                         'CompanyCode' => '',
  69.                         'CompanyInfo' => iconv('UTF-8', 'Windows-1255',$client),
  70.                         'MailTo' => $email
  71.                 ));
  72.                
  73.                
  74.                 // for multiple items in a single invoice, sepereate them with |
  75.                 // InvoiceItemCode, InvoiceItemDescription, InvoiceItemQuantity, InvoiceItemPrice must have the same count of items.
  76.                 // Items are separated by the PIPE symbol.
  77.  
  78.                
  79.  
  80.                 $ch = curl_init('http://account.invoice4u.co.il/public/HttpPost.aspx');
  81.                 curl_setopt($ch, CURLOPT_POST, 1);
  82.                 curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  83.                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  84.  
  85.                 $r = curl_exec($ch);
  86.                 $response = explode('<BR>',$r);
  87.                
  88.        
  89.                 $return = new stdClass();
  90.                
  91.                 $responseCode = explode(':',$response[0]);
  92.                 $return->code =  $responseCode[1];
  93.                
  94.                 $responseStatus = explode(':',$response[1]);
  95.                 $return->status =  $responseStatus[1];
  96.                
  97.                 $docNum = explode(':',$response[2]);
  98.                 $return->docnum = $docNum[1];
  99.                
  100.                 $docUrl = explode(':', $response[3]);
  101.                 $return->url = $docUrl[1].':'.$docUrl[2]; // http : // ...
  102.                
  103.                 return $return;
  104.  
  105.         }
  106.                
  107. }      
  108.  

(Отредактировано автором: 14 Апреля, 2011 - 12:10:58)



-----
Truly yours, Sasha.
 
My status
 Top
Land
Отправлено: 14 Апреля, 2011 - 13:27:34
Post Id



Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




В очередной раз большое спасибо за помощь, valenok. Приду домой, обязательно изучу информацию.

С уважением, Land.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Прочее »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB