Skip to content
This repository has been archived by the owner on Nov 23, 2021. It is now read-only.

isfonzar/pagarme-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pagarme-go Language Badge Go Report Card License Badge Status Badge

pagarme-go é um SDK para a API do Pagar.me escrito em Go.

Você pode acessar a documentação oficial do Pagar.me acessando esse link.

Índice

Instalação

Utilize o go get para obter o SDK e adiciona-lo a seu GOPATH.

go get github.com/isfonzar/pagarme-go

Para atualizar o SDK, utilize go get -u para obter a última versão.

go get -u github.com/isfonzar/pagarme-go

Configuração

Para instanciar um novo Client, basta fazer o seguinte:

package main

import (
    "net/http"
    
    "github.com/isfonzar/pagarme-go/pkg/client"
)

func main () {
    client := *client.NewClient(http.Client{}, "SUA_CHAVE_DE_API", nil)
}

Definindo headers customizados

  1. Se necessário, é possível definir headers http customizados para os requests. Para isso basta informá-los durante a instanciação do objeto Client:
package main

import (
    "net/http"
    
    "github.com/isfonzar/pagarme-go/pkg/client"
)

func main () {
	headers := &client.CustomHeaders{
        "X-PagarMe-User-Agent": "Pagar.me Checkout/2.0.0",
        "X-PagarMe-Version": "2017-08-28",
    }
	
    client := *client.NewClient(http.Client{}, "SUA_CHAVE_DE_API", headers)
}

E então, você pode poderá utilizar o cliente para fazer requisições ao Pagar.me.

Endpoints faltando

Alguns endpoints ainda nao foram implementados neste SDK (contribuições são bem-vindas)

É possível usar o metodo Send do pacote client para fazer requests para os endpoints ainda não implementados.

package main

import (
    "net/http"
    
    "github.com/isfonzar/pagarme-go/pkg/client"
)

func main() {
    client := client.NewClient(http.Client{}, "PAGARME_API_KEY", nil)
    
    params := struct{} // Sua struct de request
    responseObj := struct{} // Struct de resposta
    
    req, err := client.NewRequest("METODO_HTTP", "URL_DO_ENDPOINT", params)
    response := &responseObj{}
    if err != nil {
        return response, nil, err
    }
    errorResp, err := c.Send(req, response)
}

Contribuições

Bug Reports & Feature Requests

Por favor, use o issue tracker para reportar bugs e/ou pedir implementações de features.

Desenvolvimento

Pull-requests são bem vindos. Para ajudar no desenvolvimento, basta fazer:

$ git clone [email protected]:isfonzar/pagarme-go.git
$ cd pagarme-go/
$ export PAGARME_API_KEY=ak_test_su4k3yd0p4g4rm3
$ make tests