GithubHelp home page GithubHelp logo

pagarmedokan's Introduction

Pagar.me + Dokan com Split Payments

Esta é uma integração de Pagar.me + Dokan, com Split Payments que programei para um cliente. Como não encontrei nada parecido com isso disponível na internet, pedi autorização para o cliente para publicar no Github, e ele autorizou.

O Pagar.me é similar ao PagSeguro, porém até o momento em que escrevo este texto, não existe integração gratuita de split payment para PagSeguro com Dokan também.

Funcionamento

Para realizar um split payment, é necessário informar diversos dados para o Pagar.me. A integração funciona da seguinte forma:

  • Hook no init verifica se o usuário está logado e é um Seller.
  • Se for um Seller, verifica se seus dados de Endereço e Pagamento estão completos. Os dados de endereço são necessários para o cálculo de frete, os dados de pagamentos são necessários para o split payment com o Pagar.me na hora da concretização da venda.
  • Se os dados estiverem incompletos, redireciona o Seller para um formulário onde ele preenche estes dados.
  • Opcionalmente, é possível enviar um email diário aos sellers com dados incompletos do sistema, solicitando-os que completem seus dados cadastrais.
  • É possível esconder os produtos de sellers com dados bancários e/ou endereço incompletos.
  • Se um comprador tentasse comprar um produto cujo seller não tem os dados bancários cadastrados no sistema, daria erro na hora de enviar a solicitação de split payment para o Pagar.me, logo não é possível adicionar produtos de sellers com dados bancários incompletos no carrinho.

Frete

O sistema pede dados de endereço para fins de cálculo de frete. É possível que um comprador compre produtos de diferentes vendedores em um carrinho. O cálculo de frete é realizado tendo em consideração o endereço de cada Seller como remetente, e o destinatário como o endereço do comprador. O split payment separa o frete, enviando o valor integral deste para o Seller.

Instalação

  • Baixe o repositório
  • Copie o conteúdo dele na pasta do seu tema
  • Execute o composer update para instalar a API do Pagar.Me
  • Insira as chaves de API do Pagar.me conforme explicado mais abaixo em Configuração no Pagar.me.
  • Abra o arquivo pagarme_dokan.php e configure as settings iniciais.
  • Adicione isto no seu functions.php require_once(__DIR__.'/pagarme_dokan.php');

Requisitos

[1] O cliente em questão possuia o Dokan Lite e o Pro. Creio que o split payment funcione sem o Pro, mas não cheguei a testar. [2] Gentileza confirmar se é realmente necessário. Fiz este projeto há vários meses atrás.

Configuração no Pagar.me

  • Acesse o dashboard do Pagar.Me em https://dashboard.pagar.me
  • No canto superior direito, clique em {NOME} Ver minha conta
  • No canto inferior esquerdo, clique em API Keys
  • Copie a Chave de API e Chave de Criptografia e insira-as nos respectivos campos disponíveis em WooCommerce -> Configuração -> Finalizar Compra -> Pagar.me Cartão de Crédito -> Chave de API do Pagar.me e Chave de Criptografia do Pagar.me

Importante: As chaves de API são diferentes para teste e para produção. As chaves de API do Pagar.me para produção começam com ak_live_{API}/ek_live_{CRIPTOGRAFIA}, já as chaves de teste começam com ak_test_{API}/ek_test_{CRIPTOGRAFIA}.

No seu dashboard do Pagar.me, é possível selecionar a versão da API. Este código foi escrito usando a API versão 2017-07-17

Sobre o autor

Meu nome é Lucas Bustamante, sou desenvolvedor PHP profissional e estou disponível para trabalhos freelancer. Mais informações: http://www.lucasbustamante.com.br

pagarmedokan's People

Contributors

luc45 avatar

Watchers

Leonardo R. avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.