1.0.10 • Published 5 years ago

pagseguro-react v1.0.10

Weekly downloads
29
License
MIT
Repository
github
Last release
5 years ago

PAGSEGURO + REACT

Além dos métodos tradicionais de pagamento (modal e redirecionamento) o pagseguro disponibiliza uma terceira opção o checkout transparente. Com ele é possível que a transação seja feita diretamente em seu site, sem a necessidade de redirecionamento ou modal. É a solução ideal se você deseja customizar o design e manter o cliente em sua aplicação durante a transação.

Tenha em mente que ainda assim você precisará se comunicar com a api do pagseguro via backend. Toda comunicação é feita utilizando o email de cadastro e um token de segurança, sendo assim, você não deve deixar essas informações no frontend por questões de segurança.

Pagseguro React cuidará da comunicação com a api do pagseguro, validação e estruturação dos dados necessários para que você envie para o pagseguro (via backend). Se você usa nodejs vai gostar do módulo que criei: (pagseguro-node), caso contrário, você encontrará libs para outras linguagens no próprio site do pagseguro.

Caso tenha dificuldades para implementar ou precise de um freelancer entre em contato: atah.com.br) | chagaswc89@gmail.com. Se curtir o projeto da um apoio com uma estrelinha bacana e me segue por aqui.

Preview Pagseguro React

Instalação

npm install --save pagseguro-react

Pagamento

O componente DirectPayment deve ser utilizado em caso de compra única. Os métodos disponíveis são: Cartão de crédito, boleto e débito online.

Você precisará iniciar a sessão em sua api, sem ela o componente se quer será inicializado (pagseguro-node).

Exemplo:

    import { DirectPayment } from 'pagseguro-react';

	// constructor...
	this.state = {

	    session: '',

	    sender: {
	        name: 'Willy Chagas',
	        email: 'chagaswc89@gmail.com',
	        phone: {
	            areaCode: '48',
	            number: '991510980',
	        },
	        document: {
	            type: 'CPF',
	            value: '71783955082'
	        },
	    },

	    shipping: {
	        type: 3,
	        cost: 10.00,
	        street: 'Av Campeche',
	        number: 1111,
	        complement: 'Casa',
	        district: 'Campeche',
	        city: 'Florianópolis',
	        state: 'SC',
	        country: 'BRA',
	        postalCode: '88063789'
	    },

	    billing: {
	        street: 'Av Campeche',
	        number: 1111,
	        complement: 'Casa',
	        district: 'Campeche',
	        city: 'Florianópolis',
	        state: 'SC',
	        country: 'BRA',
	        postalCode: '88063789'
	    },

	    items: [
	        {
	            id: 1,
	            description: 'Produto 1',
	            quantity: 2,
	            amount: 2,
	        },  
	        {
	            id: 2,
	            description: 'Produto 2',
	            quantity: 1,
	            amount: 60.00,
	        },  
	        {
	            id: 3,
	            description: 'Produto 3',
	            quantity: 2,
	            amount: 20.00,
	        }

	    ],

	    creditCard: {
	        maxInstallmentNoInterest: 5 // parcelas com desconto
	    },
		extraAmount: 10.00,
        reference: 'Teste Pagseguro React'
	}

	// render...
    <DirectPayment
	    session={this.state.session}
	    extraAmount={this.state.extraAmount}                                       
	    reference={this.state.reference}
	    creditCard={this.state.creditCard}                                         
	    sender={this.state.sender}                                                
	    shipping={this.state.shipping}    
	    billing={this.state.billing}                                               
	    items={this.state.items}                                                   	    
	    onError={this.onError.bind(this)}
	    onSubmit={this.onSubmit.bind(this)}
	/>

Propriedades:

PROPRIEDADEDESCRIÇÃO
sessionString :: Sessão gerada pela sua api (obrigatório)'
extraAmountNumber :: Custo extra. Formato com 2 casas decimais (opcional)
referenceString :: Breve descrição sobre o pagamento. Você verá essa informação no painel do pagseguro (opcional)'
creditCardObject :: Dados necessários para pagamento via cartão de crédito (obrigatório)
creditCard.maxInstallmentNoInterestNumber :: Número máximo de parcelas sem juros. Você deve usar esse mesmo valor no backend (opcional)'
senderObject :: Dados do comprador (obrigatório)
sender.nameString :: Nome do comprador (obrigatório)
sender.emailString :: Email do comprador (obrigatório)
sender.phone.areaCodeString :: Código de área do telefone do comprador (obrigatório)
sender.phone.numberString :: Número do telefone do comprador (obrigatório)
sender.document.typeString :: Tipo do documento do comprador (CPF ou CNPJ) (obrigatório)
sender.document.valueString :: Valor do documento (obrigatório)
shippingObject :: Endereço de entrega (obrigatório)
shipping.addressRequiredBoolean :: Caso não precise de endereço. Ex: Compra de e-book. Obs: caso definido como true, o formulário será ocultado e não será necessário passar as propriedades listadas a seguir (opcional)
shipping.typeNumber :: Tipo do frete (1 = SEDEX) (opcional)
shipping.costNumber :: Custo do frete. Formato com duas casas decimais (opcional)
shipping.stateString :: Sigla do Estado. EX: SC (obrigatório)
shipping.cityString :: Cidade (obrigatório)
shipping.districtString :: Bairro (obrigatório)
shipping.streetString :: Endereço (obrigatório)
shipping.numberString :: Número (obrigatório)
shipping.complementString :: Complemento (opcional)
shipping.postalCodeString :: Cep (obrigatório)
billingObject :: Endereço de cobrança (obrigatório)
billing.stateString :: Sigla do Estado. EX: SC (obrigatório)
billing.cityString :: Cidade (obrigatório)
billing.districtString :: Bairro (obrigatório)
billing.streetString :: Endereço (obrigatório)
billing.numberString :: Número (obrigatório)
billing.complementString :: Complemento (opcional)
billing.postalCodeString :: Cep (obrigatório)
itemsArray :: Itens a serem comprados (obrigatório)
items[0].idNumber :: Id do produto (obrigatório)
items[0].descriptionString :: Descrição do produto (obrigatório)
items[0].quantityNumber :: Quantidade do item (obrigatório)
items[0].amountNumber :: Custo individual do item (obrigatório)
hiddenSenderFormNumber :: Ocultar formulário do comprador. (opcional)
hiddenShippingFormNumber :: Ocultar formulário de endereço de entrega. (opcional)
hiddenBillingFormNumber :: Ocultar formulário de endereço de cobrança. (opcional)
excludeArray :: Ocultar métodos de pagamento. Opções 'CREDIT_CARD', 'ONLINE_DEBIT', 'BOLETO'

Eventos:

EVENTODESCRIÇÃO
onSuccessDisparado em caso de sucesso. Retorna um objeto com todos os dados necessários a serem enviados à sua api.
onErrorDisparado em caso de erro.

Customização

/*
 * Container
 */
.ps-react-direct-payment {}


/*
 * Loading
 */
.ps-react-loading {}


/**
 * Form
 */
.ps-react-form {}


/**
 * Form Group
 */
.ps-react-form-group {}


/*
 * Label
 */
.ps-react-label {}


/*
 * Input
 */
.ps-react-input{}


/*
 * Select
 */
.ps-react-select{}


/*
 * Select
 */
.ps-react-textarea {}


/*
 * Checkbox
 */
.ps-react-checkbox {}
.ps-react-checkbox:hover input ~ span {}
.ps-react-checkbox:checked input ~ span {}
.ps-react-checkbox:checked input:checked ~ span:after {}
.ps-react-checkbox span:after {}
.ps-react-checkbox label {}
.ps-react-checkbox input {}
.ps-react-checkbox span {}
.ps-react-checkbox span:after {}


/**
 * Error
 */
.ps-react-error{}


/**
 * Tabs Payment Method
 */
.ps-react-tab-payment-method {}
.ps-react-tab-payment-method-active {}


/**
 * Steps
 */
.ps-react-step {}
.ps-react-step-active {}
1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago