Desenvolvimento - PHP
Pagamentos online via PayPal utilizando PHP
Neste artigo, iremos conhecer uma forma de efetuar pagamentos online utilizando o PHP.
por Marcelo Pereira Fonseca da SilvaO 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 projeto.
Para a instalação é necessário estar rodando PHP 4.1.0 ou superior.
O arquivo com o toolkit tem apenas 12 kB e pode ser encontrado em:
https://www.paypal.com/cgi-bin/webscr?cmd=p/pdn/software_dev_kit_php-outside
Os arquivos que constituem o pacote são:
includes/
ipn/
cancelled.php
orderform.php
payment.php
process.php
readme.txt (seu melhor amigo :) )
success.php
Uma breve descrição dos arquivos segue abaixo:
config.inc.php
Arquivo de configuração do 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 de transação para o PayPal
success.php
Mensagem de resposta de sucesso ao enviar a transação para o PayPal
cancelled.php
Mensagem de Erro quando a transação falha.
styles.css
CSS :)
ipn.php
Recebe informações da API do PayPal e interpreta os resultados
ipn_success.php
Executado somente se a transação tiver sido executado com sucesso
ipn_error.php
Executado somente se a transação deu erro
INSTALAÇÃO
Extraia todos os arquivos contidos em php_toolkit.zip
Envie os arquivos da pasta do ToolKit para o seu servidor web.
Abra o arquivo config.inc.php, localizado dentro da pasta includes/, 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 um arquivo contendo 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, o usuário poderá obter essas informações e preencher o arquivo config.inc.php (localizado dentro do diretório includes/), no qual irá inserir as novas configurações de sua conta.
CONFIGURAÇÃO
Um exemplo do arquivo de configuração segue logo abaixo, e 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 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 (nomenclaturas e configurações de tela $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]"; ?>
Espero ter ajudado.