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
- Extraia todos os ficheiros contidos em
php_toolkit.zip
e envie os arquivos da pasta do ToolKit para o servidor. - Abra o
config.inc.php
, localizado dentro da pastaincludes/
, e configure o script com a sua conta do PayPal. - 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.
- 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 pastaincludes
), 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]";
?>