Ir para o conteúdo

Pagamentos Online via PayPal

O site PayPal oferece uma ferramenta em PHP para fazer integração com sistemas, dando a possibilidade ao desenvolvedor adicionar o recurso de pagamentos online ao seu projecto.

Para instalar este script é necessário ter instalado o PHP 4.1.0 ou superior.

O pacote com o toolkit tem apenas 12 KB e pode ser encontrado em: http://www.paypal.com/cgi-bin/webscr?cmd=p/pdn/software_dev_kit_php-outside

Descrição dos Ficheiros

  • config.inc.php Aqui poderá configurar o script.
  • global_config.inc.php Contém funções globais que serão usadas no script.
  • payment.php Um botão de pagamento pré-configurado.
  • orderform.php Um formulário pré-configurado para testes.
  • process.php Envia as informações para o PayPal.
  • success.php Mensagem de resposta de sucesso ao enviar as informações para o PayPal.
  • cancelled.php Mensagem de erro quando o envio das informações falha.
  • styles.css CSS!
  • ipn.php Recebe informações da API do PayPal e interpreta os resultados!
  • ipn_success.php Será executado apenas se o envio das informações tiver sido executado com sucesso.
  • ipn_error.php Será executado apenas se o envio das informações deu erro.

Instalação

  1. Extraia todos os ficheiros contidos em php_toolkit.zip e envie os arquivos da pasta do ToolKit para o servidor.
  2. Abra o config.inc.php, localizado dentro da pasta includes/, e configure o script com a sua conta do PayPal.
  3. Caso desejar usar o método IPN, a permissão para a pasta "logs" deve ser para escrita (733 ou 777). O script automaticamente irá ser configurado para escrever num ficheiro a conter as informações da IPN.
  4. Para finalizar a instalação será necessário a criação de uma conta no site do PayPal. Após criado a conta, o utilizador poderá obter essas informações e preencher o config.inc.php (localizado dentro da pasta includes), no qual irá inserir as novas configurações da sua conta.

Configuração

Aqui fica um exemplo do ficheiro de configuração, os campos que são obrigatórios estão descritos em português.

<?php
//Conta de email principal
$paypal[business]="pay@mybiz.com";

$paypal[site_url]="http://www.seusite.com.br/";
$paypal[image_url]="";
$paypal[success_url]="php_paypal/success.php";
$paypal[cancel_url]="php_paypal/error.php";
$paypal[notify_url]="php_paypal/ipn/ipn.php";
$paypal[return_method]="1"; //1=GET 2=POST
$paypal[currency_code]="USD"; //[USD,GBP,JPY,CAD,EUR]
$paypal[lc]="US";

// URL para a API do PayPal
$paypal[url]="https://www.sandbox.paypal.com/cgi-bin/webscr";

// Devem ser utilizados caso o seu servidor esteja sendo usado em
// conjunto com o OpenSSL
$paypal[post_method]="fso";
  //fso=fsockopen();
  //curl=curl command line libCurl=php compiled with libCurl support

$paypal[curl_location]="/usr/local/bin/curl";

$paypal[bn]="toolkit-php";

// Deve ser configurado como _xclick
$paypal[cmd]="_xclick";

// Configurações da página de pagamento
$paypal[display_comment]="0"; //0=yes 1=no
$paypal[comment_header]="Comments";
$paypal[continue_button_text]="Continue >>";
$paypal[background_color]=""; //""=white 1=black
$paypal[display_shipping_address]=""; //""=yes 1=no
$paypal[display_comment]="1"; //""=yes 1=no

// Configurações do Produto
$paypal[item_name]="$_POST[item_name]";
$paypal[item_number]="$_POST[item_number]";
$paypal[amount]="$_POST[amount]";
$paypal[on0]="$_POST[on0]";
$paypal[os0]="$_POST[os0]";
$paypal[on1]="$_POST[on1]";
$paypal[os1]="$_POST[os1]";
$paypal[quantity]="$_POST[quantity]";
$paypal[edit_quantity]=""; //1=yes ""=no
$paypal[invoice]="$_POST[invoice]";
$paypal[tax]="$_POST[tax]";

// Define configurações de envio e impostos
$paypal[shipping_amount]="$_POST[shipping_amount]";
$paypal[shipping_amount_per_item]="";
$paypal[handling_amount]="";
$paypal[custom_field]="";

// Configurações do Cliente (inseridas via formulário)
$paypal[firstname]="$_POST[firstname]";
$paypal[lastname]="$_POST[lastname]";
$paypal[address1]="$_POST[address1]";
$paypal[address2]="$_POST[address2]";
$paypal[city]="$_POST[city]";
$paypal[state]="$_POST[state]";
$paypal[zip]="$_POST[zip]";
$paypal[email]="$_POST[email]";
$paypal[phone_1]="$_POST[phone1]";
$paypal[phone_2]="$_POST[phone2]";
$paypal[phone_3]="$_POST[phone3]";
?>