The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

PagSeguro::API - API for PagSeguro payment gateway

SYNOPSIS

    my $p = PagSeguro::API->new;
    
    # configure
    $p->email('foo@bar.com');
    $p->token('95112EE828D94278BD394E91C4388F20');

    # new payment request object
    my $payment = $p->payment_request;
    $payment->reference('XXX');
    $payment->notification_url('http://google.com');
    $payment->redirect_url('http://url_of_love.com.br');

    # adding new item
    $payment->add_item(
        id          => $product->id,
        description => $product->title,
        amount      => $product->price,
        weight      => $product->weight
    );

    my $response = $payment->request;

    # error
    die "Error: ". $response->error if $response->error;

    my $data = $response->data;
    say $data->{payment_url}; 

DESCRIPTION

PagSeguro Gateway Payment API implementation.

PagSeguro is a Brazilian very common payment gateway and for this case, the documentation that will provided here will be write in Portuguese.

If you don't speak Portuguese and need to use this module please contact author for some help or ask something.

Now In Portuguese

Este módulo foi criado para prover uma implementação à API do PagSeguro em Perl de forma simples e pratica.

Status

This is a very new module and may contain some bugs. Please do not use in production.

Este módulo é muito novo e pode conter alguns bugs. Por favor não use em produção.

Requisitos

Este módulo requer os seguintes módulos não core para funcionar corretamente...

Moo
XML::LibXML

Configuração

    my $p = PagSeguro::API->new;

    $p->email('joe.doe@sualoja.com.br');
    $p->token('seu token');

    # environment: default é 'production'
    $p->environment('sandbox');

Para utilizar a API do PagSeguro você precisa ter um e-mail e um token cadastrados.

A flag c<< environment >> serve para configurar seu ambiente para rodar em sandbox (ambiente de testes do PagSeguro) ou em produção.

METODOS

Esta classe disponibiliza os seguintes métodos...

new

    my $p = PagSeguro::API->new;

    my $p = PagSeguro::API->new(
        email => 'joe.doe@sualoja.com.br',
        token => 'seu token'
    );

Este é o construtor da classe e pode receber como parâmetro, diretamente, as credenciais de autenticação para utilizar a API como email, token e environment.

payment_request

    my $payment = $p->payment_request;

Este método retorna um objeto da classe PagSeguro::API::Payment.

notification

    my $payment = $p->notification;

Este método retorna um objeto da classe PagSeguro::API::Notification.

transaction

    my $payment = $p->transaction;

Este método retorna um objeto da classe PagSeguro::API::Transaction.

TODO

Algumas funcionalidades que estão por vir.

    * Utilizar um módulo mais performático para substituir o LWP::UserAgent
    * Melhorias na documentação e criação de Cookbook
    * Concluir a implementação de toda a API de consulta de transações
    * Melhoria nos testes

AUTHOR

Daniel Vinciguerra <daniel.vinciguerra at bivee.com.br>