оплата сс на сайте

Discussion in 'PHP' started by skam777, 23 Jul 2009.

  1. skam777

    skam777 Member

    Joined:
    3 Jan 2009
    Messages:
    40
    Likes Received:
    15
    Reputations:
    5
    как организовать оплату на сайте пластиковыми картами?
     
  2. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    ccbill.com )
    http://www.payonlinesystem.ru/
     
  3. skam777

    skam777 Member

    Joined:
    3 Jan 2009
    Messages:
    40
    Likes Received:
    15
    Reputations:
    5
    Кардинг — род мошенничества
    где тут нашел обсуждение кардинга?
     
  4. betakley

    betakley Member

    Joined:
    29 Dec 2008
    Messages:
    18
    Likes Received:
    7
    Reputations:
    0
    Например, через систему Authorize.Net (http://www.authorize.net/)
    Вот набросал небольшой пример
    PHP:
    <?
      
    $data['x_version'] = '3.1';
      
    $data['x_type'] = 'AUTH_CAPTURE';
      
    $data['x_delim_data'] = 'true';
      
    $data['x_relay_response'] = 'false';

      
    $data['x_login'] = $YourAuthorizeLoginId;
      
    $data['x_tran_key'] = $YourAuthorizeTransactionKey;
      
    $data['x_amount'] = $_POST['Amount'];
      
    $data['x_card_num'] = $_POST['CardNumber'];
      
    $data['x_exp_date'] = $_POST['ExpiredDate']; // format: month/year

      
    $data['x_card_code'] = $_POST['CardCode']; //cvv
      
    $data['x_first_name'] = ...;
      
    $data['x_last_name'] = ...;
      
    $data['x_company'] = ...;
      
    $data['x_address'] = ...;
      
    $data['x_city'] = ...;
      
    $data['x_state'] = ...;
      
    $data['x_zip'] = ...;
      
    $data['x_country'] = ...;
      
    $data['x_phone'] = ...;
      
    $data['x_cust_id'] = ...;

      
    $data['x_email'] = ...;
      
    $data['x_email_customer'] = ...;

      
    $data['x_trans_id'] = ...;
      
    $data['x_invoice_num'] = ...;
      
    $data['x_description'] = ...;
          
      
    $fp fsockopen('ssl://secure.authorize.net'443$errno$errstr30);
      if(
    $fp) {
        
    $query '';
        foreach(
    $data as $key=>$val)
        {
          if(!empty(
    $query)) $query .= '&';
          
    $query .= $key.'='.urlencode($val);
        }
        
    $header "POST /gateway/transact.dll HTTP/1.0\r\n";
        
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
        
    $header .= "Content-Length: ".strlen($query)."\r\n\r\n";
        
    fputs ($fp$header.$query);
        
    $response '';
        while (!
    feof($fp))
        {
            
    $response = @fgets($fp);
        }
        
    fclose($fp);
        
    $response explode(","$response);
        switch(
    $response[0])
        {
          case 
    1// approved
            
    print 'OK!!!';
            break;
          case 
    2// declined
            
    print 'Error: '.$response[3].'<br />'//error
            
    print '#'.$response[2]; //error number
          
    break;
          default: 
    // error
            
    print 'Error: '.$response[3].'<br />'//error
            
    print '#'.$response[2]; //error number
          
    break;
        }
      }else{
        print 
    'Connection Error.'
      
    }
    ?>
    более подробно, есть смысл зарыться в доки :)
     
  5. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    betakley, жесть... Есть ф-ция array. http://php.net/array.
     
    1 person likes this.
  6. betakley

    betakley Member

    Joined:
    29 Dec 2008
    Messages:
    18
    Likes Received:
    7
    Reputations:
    0
    прикинь, я даже про нее знаю и использую, написал так, для наглядности.
     
  7. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Зачем писать 30 строчек кода, если можно обойтись одной...?